- •1. Дайте определение следующим понятиям: алгоритм, программа, алгоритмический язык, транслятор, компилятор, интерпретатор.
- •2. Опишите общую структуру программы на языке программирования Паскаль (Delphi). Приведите пример оператора присваивания. Опишите и приведите примеры структур операторов ввода и вывода информации.
- •Вещественные типы
- •6. Перечислите основные математические функции в языке Паскаль. Приведите пример использования математической процедуры генерации случайных чисел.
- •Стандартные математические функции
- •7. Объясните назначение условного оператора в языке программирования Паскаль (Delphi). Опишите структуру условного оператора. Приведите пример фрагмента блок-схемы с условием.
- •Условный оператор if
- •8. Объясните назначение оператора выбора (варианта) в языке программирования Паскаль (Delphi). Опишите структуру оператора выбора (варианта). Приведите пример фрагмента блок-схемы с условием.
- •Оператор выбора (варианта)
- •9. Охарактеризуйте сущность логических операций в Паскале, опишите логический тип данных. Приведите таблицы истинности для операций and и or.
- •Логические операции, логический тип данных
- •Операторы организации циклов
- •Оператор повтора for
- •Циклы с неизвестным числом повторений
- •Массив. Одномерные массивы
- •Массив. Многомерные (двумерные) массивы
- •14. Опишите общую структуру процедуры в языке программирования Паскаль (Delphi). Запишите общий вид вызова процедуры. Перечислите варианты формальных параметров.
- •Процедуры
- •15. Опишите общую структуру функции в языке программирования Паскаль (Delphi). Запишите общий вид вызова функции. Перечислите основные отличия процедуры от функции.
- •Функция
- •16. Дайте определение понятия «модуль» (unit). Опишите структуру Unit-a (разделы interface, implementation).
- •1. Структура модуля
- •Заголовок модуля и связь модулей друг с другом
- •Интерфейсная часть
- •Исполняемая часть
- •17. Опишите символьный тип данных в языке программирования Паскаль (Delphi). Приведите пример объявления символьной константы. Перечислите символы, которые могут помещаться в символьную переменную.
- •Символьные переменные
- •Множества
- •20. Дайте определение записи. Напишите структуру объявления записи в языке программирования Паскаль (Delphi). Приведите пример объявления записи. Приведите пример обращения к отдельным полям записи.
- •21. Дайте понятие сортировки. Изложите общие принципы сортировки выбором, вставкой, обменом.
- •Сортировка
- •Сортировка простым обменом (метод «пузырька»)
- •Сортировка выбором
- •Сортировка вставкой
- •22. Дайте определение рекурсии, рекурсивной функции. Кратко опишите достоинства и недостатки рекурсии. Сформулируйте главное требование к рекурсивным подпрограммам.
- •Рекурсия
- •Программирование клавиатуры
- •Понятие стека
- •Понятие очереди
- •Операции с указателями
- •25. Дайте определение файла в Паскале. Перечислите типы файлов. Приведите общие процедуры обработки файлов. Дайте определение текстового файла. Назовите процедуры для работы с текстовыми файлами.
- •Общие процедуры и функции обработки файлов
- •Текстовые файлы
- •Способы представления ориентированного и неориентированного графа
- •Объект, способы описания
- •Свойства характерные для многих компонентов
- •29. Дайте понятие класса в языке программирования Delphi. Приведите отличие классов от других типов. Дайте понятие о структуре класса, его составляющих: полях, методах и свойствах.
- •Классы в Delphi
- •Компоненты
Операторы организации циклов
Если в программе возникает необходимость неоднократно выполнить некоторые операторы, то используются операторы повтора (цикла). В языке Паскаль различают три вида операторов цикла: while, repeat, for. Они используются для организации циклов различных типов. Выражение, управляющее повторениями, должно иметь булевский тип.
Если число повторений оператора (составного оператора) заранее неизвестно, а задано лишь условие его повторения (или окончания), используются операторы while, repeat. Оператор for используется, если число повторений заранее известно.
Оператор повтора for
В случаях, когда число повторений может быть заранее известно, для организации циклической обработки информации применяется оператор повтора for. Подсчет количества выполняемых действий осуществляется при помощи специальной переменной — счетчика. Существуют две формы цикла fоr.
Первая форма реализует последовательное увеличение (на единицу) значения счетчика:
for <параметр цикла> := <начальное значение> to <конечное значение>
do <оператор>
for, to, do – зарезервированные слова (для, до, выполнить, ); <параметр цикла> - параметр цикла, которым является переменная типа Integer (точнее любого порядкового типа); <оператор> - произвольный оператор Турбо Паскаль.
Шаг наращивания параметра цикла строго постоянен и равен (+1). Существует другая форма оператора:
for <параметр цикла> := <начальное значение> downto <конечное значение>
do <оператор>
Замена зарезервированного слова to словом downto означает, что шаг наращивания параметра цикла равен (-1), а управляющее условие приобретает вид for <параметр цикла> = <конечное значение>.
Пример использования оператора for:
for I:= 1 to 100 do Read(M[I]); {Чтение элементов массива}
for I:= 100 downto 1 do Write(M[I]); {Вывод элементов массива}
program DemoFor;
var
A: integer;
begin
for A:= 255 downto 0 do {Цикл с убыванием параметра}
Writeln('код символа = ',А, ' символ == ',Chr(A));
Readln
end.
11. Назовите операторы организации циклов с неизвестным числом повторений в языке программирования Паскаль (Delphi). Опишите их структуру и принцип работы. Покажите с помощью блок-схемы цикл с предусловием.
Разработайте программу, которая вводит и суммирует любое количество целочисленных значений. Если введено значение 999, то на экран выводится результат суммирования.
Циклы с неизвестным числом повторений
Когда число повторений в цикле неизвестно, а задано только некоторое условие его продолжения или окончания, следует использовать оператор цикла с предусловием или оператор цикла с постусловием.
Оператор цикла с предусловием имеет следующий синтаксис:
while <логическое выражение> do
<оператор>
Здесь внутренний <оператор> выполняется в цикле до тех пор, пока условие продолжения цикла (<логическое выражение>) истинно. Если же <логическое выражение> становится ложным, то цикл прекращает функционировать и выполняется оператор, следующий за оператором while. Если условие продолжения цикла ложно с самого начала, то внутренний оператор не выполняется ни разу. Условие продолжения цикла вычисляется и анализируется перед каждым шагом выполнения цикла, отсюда и термин «предусловие». Если в теле цикла необходимо выполнять несколько операторов, то эту группу следует объединить в один составной оператор с помощью операторных скобок begin и end.
Оператор цикла с постусловием имеет следующую структуру:
repeat
<оператор 1>;
<оператор 2>;
…….
<оператор N>;
until <логическое выражение>
Этот цикл будет выполняться, пока логическое выражение после слова until (до тех пор пока) ЛОЖНО. Как только результат выражения станет истинным, произойдет выход из цикла. Вычисление выражения выполняется в конце каждой итерации цикла.
Этот вид цикла применяется в тех случаях, когда тело цикла необходимо обязательно выполнить хотя бы один раз: например, если в цикле вводятся данные и выполняется их проверка. Если же такой необходимости нет, предпочтительнее пользоваться циклом с предусловием.

program DemoRepeat;
var
X: integer;
Sum: real;
begin
Sum:=0;
repeat {Повторять}
Write('Значение X= '); {Начало тела цикла}
Readln(X); {Считать очередное значение Х с клавиатуры}
if X <> 999 then
Sum:= Sum+X ;
until X = 999; {Условие окончания цикла (пока Х не станет равным 999)}
Writeln('Сумма введенных чисел= ',Sum) ;
end.
12. Дайте определение понятий «массив», «элемент массива», «размерность массива». Опишите структуру объявления одномерного массива в языке программирования Паскаль (Delphi). Приведите пример ввода-вывода одномерного массива на экран.
Разработать программу нахождения произведения элементов массива A, состоящего из n элементов
