- •Министерство образования и науки российской федерации
- •Оглавление предисловие
- •Составление структурных схем алгоритмов и программ
- •Пример 1
- •Пример 2
- •Задания
- •Пример 3
- •Задания
- •Пример 4
- •Пример 5
- •Задания
- •Алфавит языка pascal. Типы данных. Раздел описаний. Оператор присваивания. Ввод-вывод. Составление простейших программ
- •Стандартные процедуры
- •Стандартные функции
- •Пример 1
- •Пример 2
- •Задания
- •Пример 3
- •Задания
- •Задания
- •Использование переменных логического типа. Логический оператор присваивания
- •Логический оператор присваивания
- •R операция_сравнения s
- •Пример 1
- •Задания
- •4. Программирование разветвляющихся структур
- •4.1. Использование в программах условного оператора
- •Пример 1
- •Задания
- •4.2. Использование в программах оператора варианта
- •Case выражение-селектор of метка_случая : оператор;
- •Пример 1
- •Задания
- •5. Использование переменных типа char
- •Задания
- •6. Реализация циклических структур
- •6.1. Применение оператора цикла с параметром
- •Шаг изменения параметра цикла:
- •Пример 1
- •Задания
- •Пример 2
- •Пример 3
- •Задания
- •Пример 4
- •Задания
- •Таким образом изображаются циклы в структурных схемах (в лабораторных работах, курсовых работах и т.Д.). Пример 5
- •Задания
- •Задания
- •Пример 6
- •Задания
- •Не смотря на то, что есть еще другие операторы цикла, обычно вводят и выводят массивы с помощью оператора цикла с параметром.
- •6.2. Применение оператора цикла с постусловием
- •Пример 1
- •Задания
- •6.3. Применение оператора цикла с предусловием
- •Основные различия между операторами циклов с постусловием и предусловием
- •Пример 1
- •Задания
- •6.4. Работа с двухмерными массивами.
- •Задания
- •Пример 1
- •Задания
- •7. Поиск и сортировка числовых данных
- •Пример 1
- •Задания
- •8. Решение задач с применением подпрограмм
- •Procedure имя(список параметров);
- •Var идентификаторы:имя типа;...; var идентификаторы: имя типа
- •Var идентификаторы:имя типа;...;var идентификаторы: имя типа;...; идентификаторы:имя типа;...;идентификаторы:имя типа
- •Идентификаторы:имя типа;идентификаторы:имя типа; ...;идентификаторы:имя типа
- •Локальные переменные доступны только внутри процедур, в которых они определены!
- •Пример 1
- •Задания
- •9. Использование переменных перечисляемого типа
- •Ввод и вывод значений переменных перечисляемого типа запрещен.
- •Задания
- •10. Использование переменных ограниченного типа
- •Задания
- •11. Использование переменных множественного типа
- •Var идентификатор : set of порядковый тип;
- •Запрещен.
- •Правила приоритета для множественных операций:
- •Задания
- •12. Использование записей
- •With префикс[,префикс [...]] do оператор
- •Пример 1
- •Задания
- •13. Работа со строками
- •Каждая переменная типа string вводится отдельной процедурой readln
- •Пример 1
- •Задания
- •14. Работа с файлами
- •Пример 1
- •Пример 2
- •Пример 3
- •Задания
- •Библиографический список
Задания
№1. Вывести на экран прописные буквы латинского алфавита от 'A' до 'Z'.
№2. Вывести на экран все целые числа от 40 до 20 в порядке убывания и от -100 до 10 в порядке возрастания.
Массив - это упорядоченная совокупность переменных, называемых элементами массива.
Массивами являются матрицы и вектора, известные из области математики.
Каждый массив имеет имя, размерность и определенную длину. Например, массивы X и Y, содержащие координаты точек на плоскости
одномерные, длина каждого из них равна четырем.
Объединим эти векторы в один массив:
В каждой строке
матрицы содержатся координаты
определенной точки на плоскости.
X Y
Массив G - двухмерный, т.к. у него есть и строки (4), и столбцы (2) - больше одного.
Итак:
Имя массива X Y G
Размерность 1 1 2
(одномерный) (одномерный) (двухмерный)
Длина 4 4 8
Опишем эти три массива:
-
Var
x,y : array [1..4] of real;
g : array [1..4,1..2] of real;
Еще примеры описания (объявления) массивов:
Var
b,a : array [1..100] of real;
c,d : array [3..50,-5..5] of integer;
k : array [1..4,1..5] of real;
a,b - одномерные массивы (1 индекс), 100 элементов в каждом массиве:
a1, a2, a3,..., a99, a100;
b1, b2, b3,..., b99, b100
и элементы этих массивов могут принимать значения вещественного типа.
k - двухмерный массив-матрица (2 индекса):
Элементы этого массива могут принимать вещественные значения.
с,d - двухмерные массивы-матрицы (2 индекса), в каждом из которых 48 строк и 11 столбцов (первая строка будет иметь номер 3, последняя - 50; первый столбец будет иметь номер -5, последний - 5). Элементы этих массивов принимают целые значения.
Для записи отдельного элемента массива используется имя массива, за которым в квадратных скобках следуют значения индексов, разделенные запятыми.
Например, описанный выше массив Х состоит из четырех элементов: х1, x2, x3, x4. Запись их в программе будет выглядеть так:
x[1], x[2], x[3], x[4].
Элементы массивов могут использоваться при записи арифметических или логических выражений, в процедурах ввода-вывода. В качестве индексов элементов массива допустимы только целочисленные выражения или переменные, например: x[2*i], где i - переменная целого типа. Если, например, i будет равно 1, то получим элемент x[2]. Значение индексного выражения не должно быть меньше нижней границы и не должно превышать верхнюю границу области изменения данного индекса.
Пример 2
Написать программу для вычисления значений корней системы уравнений
по формулам
Решение
У нас в задаче два массива: A - двухмерный (2 индекса) - две строки и два столбца - 4 элемента;
B - одномерный - 2 элемента: b1 и b2.
Var
B: array [1..2] of real;
A: array [1..2,1..2] of real;
D,x,y: real;
Begin
{Элементов в этих массивах мало, поэтому введем их пока без цикла}
Read(B[1],B[2],A[1,1],A[1,2],A[2,1],A[2,2]);
{В выражениях для вычисления величин x и y знаменатели в дробях одинаковые, поэтому эти знаменатели можно вычислить один раз. Для сохранения этого результата была заведена переменная D}
D:=A[1,1]*A[2,2]-A[2,1]*A[1,2];
x=(B[1]*A[2,2]-B[2]*A[1,2])/D;
y:=(B[2]*A[1,1]-B[1]*A[2,1])/D;
Writeln(X,Y)
End.
Ввод данных, который был организован в этой программе, не очень удобен. Например, что мы будем делать, если система была бы 10‑го порядка? Будем перечислять 100 элементов массива A и 10 элементов массива B? Это неудобно. В следующих задачах мы разберем, как вводятся массивы и как их надо выводить.