- •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
- •Компоненты
Массив. Многомерные (двумерные) массивы
Массив — это упорядоченный набор объектов одного типа, называемых компонентами массива, у каждого из которых имеется индекс или номер. Основными характеристиками массива являются: имя, размерность, тип его элементов и тип его индексов. Массивы удобно использовать для хранения однородной по своей природе информации, например, таблиц и списков.
Двумерные массивы
Если число индексов в описании массива равно N, то массив называется N-мерным. На практике часто используются двумерные массивы, соответствующие понятию матрицы.
Каждый элемент двумерного массива характеризуется номером строки и номером столбца. Например: А[3,8] – элемент из массива А находящийся в 3 строке и 8 столбце.
Описание массивов
1. Общая форма (явный способ) описания двумерного массива имеет следующий вид:
Var
<идентификатор> : array [<тип индекса строки>, <тип индекса столбца>] of <тип элементов>;
Пример:
VAR
a: ARRAY [1..10,1..20] OF integer;
2. Неявный способ.
Type
<имя типа> = ARRAY [<тип индекса строки>, <тип индексов столбца> ] OF <тип элементов >
VAR <имя переменной> :<имя типа>;
При таком способе описания в разделе Typeописывается тип массива, который будет использоваться в программе, то есть его размер и тип элементов. Далее в разделе VAR для переменных, которые будут содержать массив, указывается новый тип. Если необходимо создать массивы разных типов или разных размеров, то для них создаются отдельные типы, а после объявляются переменные этих типов.
Пример:
Type
Mass1 = ARRAY [1..10,1..20] OF integer;
VAR A: Mass1;
Ввод и вывод значений производится поэлементно. Значения элементам массива можно присвоить с помощью оператора присваивания, однако чаще всего они вводятся с экрана с помощью оператора Read или Readln с использованием оператора организации цикла for:
Ввод элементов двумерного массива В:
for I := 1 to 10 do
for J := 1 to 15 do
Readln (B[I,J]) ;
Вывод значений элементов массива выполняется аналогичным образом, но используются операторы Write или Writeln:
Вывод элементов двумерного массива В:
for I := 1 to 10 do
for J := 1 to 15 do
Writeln (B[I,J]);
program my;
var
a : array [1..5, 1..5] of real;
i, j : byte;
s : real;
begin
s:=0;
for i:=1 to 5 do
for j:=1 to 5 do
begin
write('Введитечисло [',i,’,’,j,'] : ');
readln(a[i,j]);
if a[i,j]>0 then s:=s+a[i,j];
end;
writeln('s = ', s:0:2);
readln;
end.
14. Опишите общую структуру процедуры в языке программирования Паскаль (Delphi). Запишите общий вид вызова процедуры. Перечислите варианты формальных параметров.
Оформите в виде процедуры алгоритм вычисления степени y=xn с натуральным показателем.
Процедуры
Подпрограммой называется именованная логически законченная группа операторов языка, которую можно вызвать для выполнения по имени любое количество раз из различных мест программы.
В языке Pascal для организации подпрограмм используются процедуры и функции.
Процедура – это независимая поименованная часть программы, предназначенная для выполнения определенных действий. Она состоит из заголовка и тела. После однократного описания процедуру можно вызвать по имени из последующих частей программы. Когда процедура выполнит свою задачу, программа продолжится с оператора, следующего непосредственно за оператором вызова процедуры. Использование имени процедуры в программе называется вызовом процедуры.
Описание процедуры:
Procedure <имя> [(<список формальных параметров>)];
[<раздел описаний>];
Begin
<оператор-1>;
<оператор-2>;
<оперaтop-N>
End;
где Procedure - служебное слово, определяющее заголовок процедуры; <имя> - имя процедуры (идентификатор); <список формальных параметров> - перечень имен для обозначения исходных данных и результатов работы процедуры с указанием их типа (имени типа), допускается описание процедуры без параметров; <раздел описаний> - раздел локальных описаний используемых в процедуре меток, констант, типов, переменных, процедур и функций; Begin, End - служебные слова, ограничивающие содержательную часть процедуры (раздел операторов). Заканчивается блок процедуры точкой с запятой.
Вызывается процедура по её имени, например:
PRIM(Список_ фактических параметров);
Параметры
Передавать информацию из основной программы в подпрограмму и наоборот мы можем только через переменные, которые носят специальное название — формальные параметры.
Существует 2 вида параметров:
- те, через которые данные только поступают в подпрограмму, называют параметры-значения.
- те, через которые данные возвращаются в основную программу из процедуры, называют параметры-переменные.
Формальные параметры указываются рядом с именем процедуры в круглых скобках. Список параметров формально определяет количество переменных, которое необходимо для обмена информацией, и их тип. При этом, как и в разделе описания переменных, указывается имя переменной и через двоеточие её тип. Этого достаточно для их объявления.
Параметры-переменные (результат работы процедуры) отличаются от параметров-значений тем, что перед ними стоит служебное слово Var.
При каждом обращении к процедуре мы должны поместить в параметры некоторые значения. Эти значения называются фактическими параметрами.
Фактические параметры — это параметры (данные), которые передаются процедуре при ее вызове.
Количество, порядок и тип формальных и фактических параметров должны в точности совпадать.
В качестве формальных параметров могут быть только переменные с указанием их типа. В качестве фактических параметров могут быть константы, переменные, выражения без указания их типа.
Procedure Step1(n:integer, х:real; Var у: real);
Var
i: integer;
Begin {Stepl}
y:=1
for i := 1 to n do
у := y*x
End; {Stepl}