
- •Урок № 1. Понятие алгоритма, его свойства. Способы представления алгоритмов.
- •1. Понятие алгоритма, его свойства.
- •3.Блок-схемы алгоритмов. Составление блок-схем. Графическое представления алгоритма в соответствии с госТом.
- •Урок № 2-3. Виды алгоритмов. Составление алгоритмов.
- •1. Виды алгоритмов.
- •2. Составление алгоритмов.
- •Урок № 4. Понятие системы программирования. Понятия языка программирования. Эволюция языков программирования.
- •Понятие системы программирования. Понятия языка программирования, уровни языков программирования.
- •2. Классификация языков программирования
- •3. Эволюция языков программирования.
- •Урок № 5. Технологический процесс создания программного продукта. Компиляция программы.
- •6. Анализ результатов решения задачи и повторение в случае необходимости выполнение этапов 2 — 5.
- •7. Сопровождение программы:
- •2.Компиляция программы.
- •Урок № 6. Особенности объектно-ориентированного программирования. Интерфейс среды Delphi.
- •1. Понятие ооп. Принципы ооп.
- •2. Среда Delphi. Главное окно.
- •Создание консольного приложения в Delphi.
- •4.Компиляция и выполнение проекта
- •Урок № 7 Структура программы: заголовок, описательная часть, исполнительная часть.
- •Урок № 8-9. Алфавит языка. Основные понятия.
- •1. Алфавит языка.
- •2. Основные понятия.
- •Урок № 10. Простые типы данных.
- •Понятие простых типов данных.
- •2. Целочисленные, литерные и логические типы данных.
- •3. Перечисляемые и интервальные типы.
- •4. Вещественные типы.
- •Урок № 11. Структурные типы данных: строки, массивы, множества.
- •2.Массивы.
- •3.Множества
- •Урок №12. Структурные типы данных: Записи, файлы, вариантные, классы памяти. Записи.
- •1. Записи.
- •2.Файлы
- •3.Вариантные типы
- •4.Указатели
- •Урок № 13. Выражения.
- •1.Арифметические выражения
- •3.Строковые выражения
- •4. Процедуры и функции. Действие процедуры и функции
- •2.Логические выражения
- •Урок № 14-15 (практическое занятие). Описание данных различных типов. Составление выражений.
- •1. Описать следующие переменные:
- •Урок № 16. Простые операторы: присваивания, перехода, пустой, вызова процедуры, ввода-вывода.
- •2. Инструкция Read, Readln.
- •2. Инструкция Write, Writeln.
- •Урок № 17. Управляющие структуры: составной оператор, условный оператор, оператор выбора.
- •1.Составной оператор
- •2.Условный оператор
- •3.Оператор выбора
- •Урок № 18. Операторы цикла: с параметром.
- •1. Операторы цикла.
- •2. Оператор цикла с параметром.
- •Урок № 19. Операторы цикла: с предусловием, с постусловием.
- •1.Оператор цикла с предусловием
- •2. Оператор цикла с постусловием
- •Урок № 20. Подпрограммы: основные понятия, объявление подпрограмм. Процедуры, описание процедуры. Функции, описание функции.
- •1. Основные понятия.
- •2. Описание процедур и функций.
- •Урок № 21. Формальные и фактические параметры. Вызов подпрограмм.
- •1.Формальные и фактические параметры.
- •2. Рекурсия и опережающее описание.
- •Понятие модуля, его структура.
- •4. Типы модулей в Delphi.
- •Урок № 22. Общие сведения ввода-выхода данных. Процедуры ввода-выхода данных.
- •1. Общие сведения о файлах. Способы описания файлов. Доступ к файлам.
- •2.Процедуры и функции для работы с файлами.
- •Урок № 23-24. Типы файлов: текстовые файлы, типизированные файлы, нетипизированные файлы.
- •1. Текстовые файлы.
- •Подпрограмма Описание
- •Типизированные файлы.
- •Подпрограмма Описание
- •3.Нетипизированные файлы
- •Урок № 25. Стандартные процедуры и функции при работе с файлами.
2. Описание процедур и функций.
При описании процедуры указывается, как и у программы, заголовок и блок(тело процедуры), который не отличается от блока программы, за исключением отсутствия раздела подключения модулей.
Заголовок процедуры имеет формат:
Procedure <Имя> [(формальные параметры)];
<Тело процедуры>;
Для обращения к процедуре используется оператор вызова процедуры, который содержит имя процедуры и фактические параметры, если они есть в описании.
Описание функции также состоит из заголовка и блока(тела функции).
Заголовок функции имеет формат:
Function <Имя> [(формальные параметры)]:тип результата;
<Тело функции>;
Возвращаемое значение может иметь любой тип, кроме файлового.
В теле функции должен быть хотя бы один оператор присваивания, в левой части которого стоит имя функции. Именно он и определяет значение, возвращаемое функцией. Вместо имени функции можно указывать переменную Result. С помощью этой переменной можно в любой момент получить внутри блока доступ к текущему значению функции.
Пример. Дано 2 массива из 8 чисел. Найти сумму максимальных элементов массивов.
Program S;
Type
tArr = array [1..8] of integer;
var
i,s:integer;
m1,m2:tArr;
function Max(Mas:tArr):integer;
var m,j:integer;
begin
m:=mas[1];
for j:=2 to 8 do
if m<Mas[i] then m:=Mas[i];
Max:=m; // или можно написать Result:=m;
end;
begin
writeln(‘Введите 8 чисел 1-го массива через пробел’);
for i:=1 to 8 do read(m1[i]);
writeln(‘Введите 8 чисел 2-го массива через пробел’);
for i:=1 to 8 do read(m2[i]);
s:=Max(m1)+Max(m2);
Writeln(‘Сумма максимальных эл-тов = ’, s:5);
end.
Урок № 21. Формальные и фактические параметры. Вызов подпрограмм.
1.Формальные и фактические параметры.
Delphi поддерживает 2 механизма передачи параметров в подпрограммы:
- по значению;
- по ссылке.
При передаче по значению параметр рассматривается как локальная переменная, значение которой устанавливается при вызове подпрограммы. В качестве параметра может указываться переменная или константа.
Передача параметров посылке подразумевает возможность изменения подпрограммой данных вызывающего фрагмента программы. В качестве параметра используется переменная, адрес которой будет передано в подпрограмму. Для указания компилятором на необходимость передачи параметров по ссылке, перед описанием соответствующего формального параметра указывается ключевое слово var.
Вызов подпрограммы осуществляется по ее имени с указанием в круглых скобках списка фактических параметров, если при описании подпрограммы указаны формальные параметры. Порядок следования фактических параметров должен соответствовать формальным параметрам и иметь те же типы.
Для досрочного прекращения работы подпрограммы можно использовать процедуру Exit, которая прерывает выполнение подпрограммы и возвращает управление вызывающей программе.
2. Рекурсия и опережающее описание.
Рекурсия – это такой способ организации вычислительного процесса, при котором подпрограмма вызывает на выполнение саму себя.
Рассмотрим классический пример – вычисление факториала. Программа получает от компонента Edit1 целое число N и выводит в компонент Label1 значение N!, которое вычисляется с помощью рекурсивной функции Factorial:
Procedure Form2.Button1Click(Sender:TObject);
Function Factorial(N:Word):real;
Begin
If N<=0 then Factorial:=1
Else Factorial:=N*Factorial(N-1)
End;
Var N:integer;
Begin
N:=StrToInt(Edit1.Text);
Label1.Caption:=FloatToStr(Factorial(N));
End;
При выполнении правильно организованной рекурсивной подпрограммы осуществляется многократный переход от некоторого текущего уровня организации алгоритма к нижнему уровню последовательно до тех пор, пока не будет получено решение поставленной задачи. В примере решение при N<=0 используется для остановки рекурсии.