- •Тема 1. Технология программирования. Основные понятия и подходы
- •1.1 Технология программирования и основные этапы ее развития
- •1.1 Проблемы разработки сложных программных систем (пс)
- •1.2 Блочно-иерархический подход к созданию сложных систем (сс)
- •1.4 Жизненный цикл и этапы разработки программного обеспечения
- •1.5 Оценка качества процессов создания программного обеспечения
- •Тема 2. Основы теории программирования
- •2.1 Понятие технологичности программного обеспечения
- •Диалоговые программы
- •2.2 Модули и их свойства
- •2.3 Основные понятия программирования. Средства описания структурных алгоритмов
- •Описание алгоритма с помощью естественного языка
- •Описание алгоритма с помощью блок-схемы
- •Описание алгоритма с помощью алгоритмических языков
- •2.4 Стиль оформления программы
- •Тема 3. Программирование на языке высокого уровня Pascal
- •3.1 Введение
- •3.2 Основные понятия языка Pascal
- •3.3 Операторы ввода-вывода данных
- •Простые типы данных
- •Структурированные типы данных
- •Работа с текстовыми файлами
- •Другие типы данных
- •3.5 Выражения, операнды, операции
- •Порядок вычисления выражений
- •3.5 Выражения, операнды, операции
- •Порядок вычисления выражений
- •3.6 Операторы языка Простые операторы
- •Структурные операторы
- •Работа с массивами
- •3.6 Подпрограммы
- •Процедуры
- •Функции
- •Рекурсивные подпрограммы
- •Параметры и аргументы
- •Стандартные процедуры и функции
- •3.7 Списки: основные виды и способы реализации
- •Вопросы для экзамена по курсу «Технология программирования»
- •1. Технология программирования и основные этапы ее развития
- •Задания для студентов заочной формы обучения по курсу «Технология программирования (ТеПр)»
- •Вопросы для экзамена по курсу «Технология программирования»
- •1. Технология программирования и основные этапы ее развития
Процедуры
При описании процедуры указывается заголовок и блок, который не отличается от блока программы. Заголовоксостоит из ключевого слова procedure , имени процедуры и необязательного списка параметров в круглых скобках с указанием типа каждого параметра. Формат описания процедуры:
Procedure <Имя процедуры > [(формальные параметры)];
<разделы описаний>
begin
<раздел операторов>
end ;
Для обращения к процедуре используется оператор вызова процедуры. Он состоит из имени процедуры и списка аргументов, заключенного в круглые скобки.
Пример .
Program One;
var z, f, z1, f1, a, b, c, d: real; . . .
procedure Calculation(x, y: real; var root, dif: real);
var s: real;
begin
s:=x*x + y*y;
root:= sqrt (s);
dif:= x - y;
end;
Begin
. . .
Calculation(1.25, 3.48, z, f);
. . .
Calculation(0.16, 2.8, z1, f1);
. . .
Calculation(a+b, a-b, c, d);
. . .
writeln(‘z=’, z:5:3, ‘ f=’, f:5:3, ‘ z1=’, z1:5:3, ‘ a=’, a:6:4, ‘ b=’, b:6:4);
. . .
End .
Примечание. Если процедура возвращает в основную программу какие-то значения, соответствующие параметры должны быть описаны как параметры-переменные со словом var .
Функции
Описание функции состоит из заголовка и блока. Заголовок содержит ключевое слово function, имя функции, необязательный список формальных параметров, заключенный в круглые скобки, и тип значения, возвращаемого функцией. Формат описания функции:
function <Имя > [(формальные параметры)]:<тип результата>;
<разделы описаний>
begin
<раздел операторов>
end ;
Возвращаемое значение может иметь любой тип, кроме файлового.
Блок функции представляет собой локальный блок, по структуре аналогичный блоку процедуры. В теле функции должен быть хотя бы один оператор присваивания, в левой части которого стоит имя функции. Именно он и определяет значение, возвращаемое функцией. Если таких операторов несколько, то результатом выполнения функции будет значение последнего оператора присваивания. В этих операторах вместо имени функции можно указывать переменнуюresult , которая создается в качестве синонима для имени функции. В отличие от имени функции, переменную resultможно использовать в выражениях блока функции. С помощью переменной result можно в любой момент получить внутри блока доступ к текущему значению функции.
Замечание. Имя функции можно использовать в выражениях блока функции, однако эти приводит к рекурсивному вызову функции самой себя.
Вызов функции осуществляется по ее имени с указанием в круглых скобках списка аргументов, которого может и не быть. Аргументы должны соответствовать формальным параметрам, указанным в заголовке при описании функции, и иметь те же типы. В отличие от процедуры, имя функции может входить как операнд в выражения.
Пример .
Program Two;
var x, y, z, z1, z2: real; . . .
function Gamma(a, b: real): real;
begin
Gamma := sqrt(a*a + b*b);
end;
Begin
. . .
z:=Gamma(1.5, 3.48 );
writeln (‘z=’, z:5:3);
. . .
z1:=Gamma( 0.16, 2.8);
. . .
writeln (sin(Gamma(0.1, 0.2)):6:4);
. . .
End .
