- •Понятие алгоритма. Правила построения блок-схем алгоритмов. Линейный алгоритм (пример).
- •Способы организации циклов в языке Object Pascal.
- •Оператор case of и его использование.
- •Процедуры. Формальные, фактические параметры, параметры-значения, параметры-переменные.
- •Функции в Object Pascal.
- •Var // начало раздела объявлению переменных
- •Структура Delphi-программы: структура программы; структура модуля. Разделы области описания (интерфейсной области), комментарии.
- •Типы данных Delphi. Простые типы (целый, вещественный, символьный, строковый, логический). Объявление констант и переменных в разделе описания.
- •Оператор присваивания Delphi. Арифметические (регулярные) выражения. Основные математические и логические функции, их приоритет.
- •Сложные типы данных Delphi. Производные типы: перечислимый, интервальный.
- •Сложные типы данных Delphi. Структурированные типы. Статические и динамические массивы.
- •Index type, где Index целое число, обычно Byte или Word. Диапазон этого типа определяет диапазон измерения. Например, Byte дает дипазон 0..255.
- •Сложные типы данных Delphi. Файлы. Текстовые файлы. Считывание и запись данных.
- •Операторы управления Delphi. Составной оператор, условные операторы, оператор выбора.
- •If условие then действие else альтернатива ;
- •Операторы передачи управления Delphi. Оператор безусловного перехода.
- •Обработка событий Delphi. Реакция на события мыши и клавиатуры.
- •Работа с графикой в Delphi. Построение графиков.
Оператор case of и его использование.
В предыдущем примере, в программе контроля веса, множественный выбор был реализован при помощи вложенных одна в другую инструкций if. Такой подход не всегда удобен, особенно в том случае, если количество вариантов хода программы велико.
В языке Delphi есть инструкция case, которая позволяет эффективно реализовать множественный выбор. В общем виде она записывается следующим образом:
case Селектор of список! : begin
{ инструкции 1 }
end;
СПТ/1СОК2: begin
{ инструкции 2 }
end; списокЫ: begin
{ инструкции N } end; else
begin
{ инструкции } end;
end;
Многомерные массивы и способы их описания в Object Pascal.
В общем виде инструкция объявления двумерного массива выглядит так:
Имя:array[Н^жняяТраница1..ВерхняяГраница 1,
Н1'1ЖняяГран1'1ца2. . ВерхняяГран1'ща2\ of Тип
Имя — имя массива;
array — слово языка Delphi, указывающее, что объявляемый элемент данных является массивом;
НижняяГраница 1, ВерхняяГраница 1, Н^икняяГр а ниц а 2, ВерхняяГраница 2 — целые константы, определяющие диапазон изменения индексов и, следовательно, число элементов массива;
тип — тип элементов массива.
Ввод и вывод двумерных массивов (матриц) в Object Pascal.
Матрица - прямоугольная сетка чисел. Элементы матрицы - числа.
Каждый элемент матрицы имеет два индекса - номер строки и номер столбца, в котором он расположен.
Принято сначала указывать индекс строки, а затем индекс столбца.
Создадим тип матрицы:
const
NN = 10; { число СТРОК! }
MM = 10; { число СТОЛБЦОВ! }
type
TElem = integer;
Matrix = array[1..NN, 1..MM] of TElem;
Очень часто при решении задач, необходимо проходить по всем элементам строки\столбца\строк и столбуов.
Для этого используют цикл со счетчиком. (FOR ... TO ... DO )
Ввод матрицы:
Опишем процедуры ввода и вывода на экран матрицы.
const
NN = 10; { число СТРОК! }
MM = 10; { число СТОЛБЦОВ! }
type
TElem = integer;
Matrix = array[1..NN, 1..MM] of TElem;
(* Построчный ввод матрицы *)
Procedure ReadMatr(var A:Matrix; var n,m:word );
var i, j: word;
begin
repeat
write('Введите количество строк: '); readln(N)
until (N>0) and (N<=NN);
repeat
write('Введите количество столбцов: '); readln(m)
until (M>0) and (M<=MM);
For i:=1 to n do begin
For j:=1 to m do begin
write('A[',i,j,']= '); readln(A[i,j])
end end end;
(* Построчный вывод матрицы *)
Procedure PrintMatr(A:Matrix; n,m:word);
Var i, j: word;
begin
For i:=1 to n do begin
For j:=1 to m do write(A[i,j],' ');
writeln
end end;
{ тестовая программа}
var
n, m: word;
a: matrix;
begin
Readmatr(a,n,m);
PrintMatr(a,n,m)
end.
Процедуры. Формальные, фактические параметры, параметры-значения, параметры-переменные.
Процедура — это разновидность подпрограммы. Обычно подпрограмма реализуется как процедура в двух случаях:
когда подпрограмма не возвращает в основную программу никаких данных. Например, вычерчивает график в диалоговом окне;
когда подпрограмма возвращает в вызвавшую ее программу больше чем одно значение. Например, подпрограмма, которая решает квадратное уравнение, должна вернуть в вызвавшую ее программу два дробных числа — корни уравнения.
Объявление процедуры
В общем виде объявление процедуры выглядит так:
procedure Имя (var параметр! :тип1; ... var параметрК: типК) ; var
// здесь о&ьявление локальных переменных begin
// здесь инструкции процедуры
end;
Различают два вида подпрограмм: процедуры и функции. Как процедура. так и функция, представляют собой последовательность инструкций, предназначенных для выполнения некоторой работы. Чтобы выполнить инструкции подпрограммы, надо вызвать эту подпрограмму. Отличие функции от процедуры заключается в том, что с именем функции связано значение, поэтому имя функции можно использовать в выражениях.
Формальные параметры - это наименования переменных, через которые передается информация из программы в процедуру либо из процедуры в программу.
Пусть процедура SQ осуществляет решение квадратного уравнения ax2+bx+c=0. Тогда она должна иметь пять формальных параметров: для значений коэффициентов а,в,с и х1 и х2. Для того, чтобы запустить процедуру, необходимо к ней обратиться (ее вызвать). Вызов процедуры N производится оператором вида
N(P1,P2,P3,...);
Здесь N - имя процедуры, P1,P2,P3 - фактические параметры
Если в качестве формального параметра указана переменная, то такой параметр и есть параметр-значение
Если перед именем формального параметра стоит ключевое слово var, то такой параметр и есть параметр-переменная. Пример: X1 и X2 в процедуре SQ