- •1.Алгоритм. Свойства алгоритма. Формы представления алгоритмов.
- •13. Процедуры и функции в Паскале
- •Основы программирования на Turbo Pascal.
- •Данные в языке Turbo Pascal. Целые и вещественные числа.
- •Данные в языке Turbo Pascal. Логические, символьные и строковые.
- •Конструкции в Turbo Pascal.
- •Массивы в Turbo Pascal.
- •Работа с файлами в Turbo Pascal.
1.Алгоритм. Свойства алгоритма. Формы представления алгоритмов.
Алгоpитм — точное и понятное пpедписание исполнителю совеpшить последовательность действий, направленных на решение поставленной задачи.
Основные свойства алгоритмов:
1. Понятность для исполнителя
2. Дискpетность (прерывность, раздельность) — алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).
3. Опpеделенность — каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола.
4. Pезультативность — это свойство состоит в том, что алгоpитм должен пpиводить к pешению задачи за конечное число шагов.
5. Массовость. Алгоpитм pешения задачи pазpабатывается в общем виде.
Формы представления алгоритмов.
• словесная (записи на естественном языке);
• графическая (изображения из графических символов);
• псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке;
• программная (тексты на языках программирования).
Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных.
Графическом представление — алгоритм изображается в виде последовательности связанных между собой функциональных блоков.
Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий.
В таблице приведены наиболее часто употребляемые символы.
При компиляции исходный программный код сразу целиком переводится в машинный. Создается исполняемый файл, который уже никак не связан с исходным кодом. Выполнение исполняемого файла обеспечивается операционной системой самостоятельно.
При интерпретации выполнение кода происходит построчно. Интерпретатор, выполняя программу, напрямую взаимодействует с операционной системой
13. Процедуры и функции в Паскале
При решении ряда задач необходимо повторять одни и те же действия при различных значениях параметров в разных частях программы. Для этого используют подпрограммы – процедуры и функции. Главное различие между ними в том, что функция может быть использована в выражении, например:
х: =sin(а);
Процедура может быть вызвана, например:
write(a);
Процедуры и функции в Паскале бывают стандартные и нестандартные, т.е. определённые пользователем. Стандартные функции и процедуры не требуют описания. В Паскале их существует более 200. Некоторые стандартные функции были перечислены выше. Примеры стандартных процедур: ClrScr – очистка экрана, курсор перемещается в верхний левый угол. Delay(t) – задержка программы на t миллисекунд. GotoXY(x,y) – перемещение курсора в точку с координатами (x,y). Exit – выход из текущего блока или из программы. Нестандартные процедуры и функции должны быть описаны. Их структура, в принципе, такая же, как и основной программы. Пример использования нестандартной процедуры: вычислить
Алгоритм решения: в программе используется процедура step, в которой описано вычисление выражения вида xy. Значение выражения присваивается переменной s. При вызове процедуры в блоке операторов основной программы, вместо x,y,s используют-ся другие параметры. Например, при первом вызове процедуры вычисляется выражение ab, значение которого присваивается переменной S1.
Текст программы на Паскале:
program zet;
var a,b,c,S1,S2,S3,k,r,z:real;
{описание процедуры}
procedure step(var x,y,s:real);
begin
s:=exp(y*ln(x));
end;
{блок операторов}
begin
read (a,b,c,); {ввод данных}
step(a,b,S1); {вызов процедуры}
r:=b-c;
step(a,r,S2); {вызов процедуры}
k:= sqr(b)-sqr(c);
step(a,k,S3); {вызов процедуры}
z:=(S1-sqr(S2))/sqrt(S3);
writeln(‘z=’,.z);
end.
В достаточно сложных программах отдельные логические блоки целесообразно оформлять в виде отдельных процедур. Это могут быть процедуры без параметров. Тогда раздел операторов будет выглядеть как перечисление имен процедур.
Пример использования нестандартной функции: Рассчитать
Алгоритм решения: в программе используется нестандартная функция fact типа integer с параметром k, в которой описано вычисление выражения k! При использовании функции в блоке операторов вместо k указывается какой-либо другой параметр, факториал которого при этом рассчитывается.
Текст программы на Паскале:
program sochet;
var c,n,m,l: integer;
function fact(k: integer): integer;
var p,i: integer;
begin
p:=1;
for i: =1 to k do
p: = p*i;
fact:=p;
end;
begin
read(n,m);
l:=n-m;
c:=fact(n)/fact(m)/fact(l);
writeln (‘c=’,c);
end.