Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вторая часть вопросов.doc
Скачиваний:
3
Добавлен:
25.09.2019
Размер:
68.61 Кб
Скачать

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.