- •Вопрос 1 Типы данных, преобразование типов.
- •Вопрос 2 Массивы, как параметры функций и процедур
- •Вопрос 3. Условный оператор. Логические выражения
- •Вопрос 4. Функции и их использование
- •Вопрос 5. Оператор альтернативного выбора.
- •Вопрос 6 Оператор цикла со счетчиком.
- •Вопрос 7 Оператор цикла с предусловием.
- •Вопрос 8 Оператор цикла с постусловием.
- •Вопрос 9 Логические операторы и логические выражения. Тип Boolean.
- •Вопрос 10 Одномерные и двумерные массивы.
- •Вопрос 11. Условный оператор.
- •Вопрос 12. Процедуры. Глобальные и локальные переменные
- •Вопрос 13. Строковые переменные. Процедуры и функции для работы со строками.
- •Вопрос 14. Двумерные массивы и вложенные циклы.
- •Вопрос 15. Структура программы в языке Pascal Заголовок программы
- •Раздел меток (label)
- •Раздел констант (const)
- •Раздел типов (type)
- •Раздел процедур и функций
- •Раздел действий (операторов)
- •Вопрос 16 Операторы присваивания, ввода, вывода. Соответствие типов.
- •Вопрос 17 Записи. Синтаксис описания записей.
- •Вопрос 18 Сравнение массивов и записей. Работа с полями записей.
- •Вопрос 19 Символьные переменные Операции и функции для работы с ними.
- •Вопрос 20 Арифметические выражения. Стандартные математические функции.
- •Вопрос 21. Типизированные файлы. Процедуры и функции для работы с ними.
- •Вопрос 22. Типы файлов. Процедуры и функции для работы с ними
- •Вопрос 23. Текстовые файлы. Процедуры и функции для работы с ними.
- •Вопрос 24. Арифметические и логические операции и их приоритет
- •Xor логическое «или исключающее»
- •Вопрос 25. Область видимости переменных.
- •Вопрос 26 Механизмы передачи параметров процедурам.
- •Вопрос 27 Запись и чтение файлов. Открытие и закрытие файлов.
- •Вопрос 28 Понятие алгоритма. Линейный, разветвляющийся, циклический алгоритмы.
- •Вопрос 29 Структурированные типы: массивы, строки, записи, файлы.
Вопрос 14. Двумерные массивы и вложенные циклы.
Двумерный массив
Организацию обработки элементов статического двумерного (многомерного) массива можно организовать с использованием сложноциклической структуры. Так как, например, при заполнении массива необходимо произвести обход всех элементов по строкам ( i ) изменяя индексы столбцов ( j ). Таким образом объявленный массив из N строк и M столбцов
Const
n=6;
m=8;
Var
a : array [1..n, 1..m] of integer;
В квадратной матрице количество строк и столбцов - одинаково и равно n.
Любая квадратная матрица имеет элементы главной и побочной диагонали.
Диагональные элементы главной диагонали :
a[1 , 1];a[2 , 2];a[3 , 3];….;a[n , n].
Элементами побочной диагонали являются :
a[1 , n];a[2 , n-1];a[3 , n-2];…;a[n-1 , 2];a[n , 1].
Циклы могут быть простые и вложенные (кратные, циклы в цикле). Для решения многих задач так же используют структуру вложенных циклов, которую и называют сложноциклической. Вложенными могут быть циклы любых типов : for, while, repeat … until.
Вопрос 15. Структура программы в языке Pascal Заголовок программы
В заголовке указывается имя программы и список параметров. Общий вид:
program n (input, output, x, y,…);
здесь n – имя программы; input – файл ввода; output – файл вывода; x, y – внешние файлы, используемые в программе.
Заголовка может и не быть или он может быть без параметров.
Рrogram Z; Label; {описание меток} Const; {описание констант} Type; {описание типов} Var; {описание переменных} Procedure; {описание процедур} Function; {описание функций} Begin . . . . . . end.
Раздел меток (label)
Любой выполняемый оператор может быть снабжен меткой – целой положительной константой, содержащей не более 4-х цифр. Все метки, встречающиеся в программе, должны быть описаны в разделе label.
Общий вид:
label l1, l2, l3…;
здесь l1, l2, l3 – метки.
Раздел констант (const)
Если в программе используются константы, имеющие достаточно громоздкую запись (например, число пи с 8-ю знаками), либо сменные константы (для задания варианта программы), то такие константы обычно обозначаются какими-либо именами и описываются в разделе const, а в программе используются только имена констант. Это делает программу более наглядной и удобной при отладке и внесении изменений.
Общий вид:
const a1 = c1; a2 = c2; …
здесь a1 – имя константы, c1 – значение константы.
Раздел типов (type)
Если в программе вводится тип, отличный от стандартного, то этот тип описывается в разделе type:
type t1 = вид_типа;
t2 = вид_типа;
где t1 и t2 – идентификаторы вводимых типов.
Пусть в программе встречаются переменные v11, v12,…; все они должны быть описаны следующим образом:
var v11, v12,…: type1;
v21, v22,…: type2; …
здесь v11, v12,… - имена переменных; type1 – тип переменных v11, v12,…; type2 – тип переменных v21, v22,….
Раздел процедур и функций
Здесь присутствуют заголовки и тела пользовательских процедур и функций.
Раздел действий (операторов)
Эта часть программы начинается с ключевого слова begin и заканчивается словом end, после которого должна стоять точка. Раздел действий есть выполняемая часть программы, состоящая из операторов.
Вопрос 16 Операторы присваивания, ввода, вывода. Соответствие типов.
Оператор присваивания - основной оператор любого языка программирования.
Общая форма записи оператора:
имя величины := выражение
Например, V:=5;
или X:=A+1;
Операторы ввода
Для того чтобы получить данные, вводимые пользователем вручную (то есть с клавиатуры), применяются команды
read(<список_ввода>) и readln(<список_ввода>).
Список ввода - это последовательность имен переменных, разделенных запятыми.
Например, при помощи команды
read(k,x,c,s);
программа может получить с клавиатуры данные сразу для четырех переменных.
Операторы вывода
Для того чтобы вывести на экран какое-либо сообщение, используют процедуру
write(<список_вывода>) или writeln(<список_вывода>).
Примеры операторов вывода:
write (a);
writeln (s,m,k);
write ( ‘Длина окружности ’, L, ’ см.’ );
Совместимость типов данных
В общем случае при выполнении арифметических (и любых других) операций компилятору требуется, чтобы типы операндов совпадали.
Нельзя, например, сложить массив и множество, нельзя передать вещественное число переменной, ожидающей целый аргумент, и т.п.
В то же время, любая переменная, в расчете на вещественные значения, сможет работать и с целыми числами.