Язык Паскаль

Автор работы: Пользователь скрыл имя, 09 Февраля 2013 в 13:02, лекция

Описание

Первая версия языка Паскаль была разработана швейцарским ученым Никлаусом Виртом в 1968 году. Первоначально язык предназначался для целей обучения, поскольку он является достаточно детерминированным, т.е. все подчиняется определенным правилам, исключений из которых не так много. Основные характеристики: относительно небольшое количество базовых понятий, простой синтаксис, быстрый компилятор для перевода исходных текстов в машинный код.

Работа состоит из  1 файл

Лекции по Паскалю.doc

— 133.00 Кб (Скачать документ)

writeln('Их произведение = ',x*y:8:3);

sum:=sum+x+y;

write('Завершить программу (Д/Н)? ');

readln(otv);

until (otv='Д') or (otv='д');

writeln('Общая сумма = ',sum:8:3);

readln

end.

ПРИМЕР: Нахождение наибольшего общего делителя двух целых чисел с помощью Алгоритма Эвклида.

program Evklid;

var  a,b,c:integer;

begin

write('введите два целых числа : ');  

readln(a,b);

while b<>0 do

begin

c:=a mod b;

a:=b;

b:=c;

end;

writeln('наибольший общий делитель = ',a);

readln

end.

ЦИКЛЫ С ПАРАМЕТРОМ

Оператор цикла For организует выполнение одного оператора заранее определенное число раз. Его еще называют цикл с параметром. Существует две формы оператора:

FOR <параметр> := <nz> TO <kz> DO <оператор>;

FOR <параметр> := <nz> DOWNTO <kz> DO <оператор>;

Здесь параметр цикла (счетчик) представляет собой переменную порядкового (ординального) типа; <nz> и <kz> - выражения, определяющие начальное и конечное значение счетчика; <оператор> - один (возможно составной) оператор, который называют телом цикла, повторяемый определенное число раз.

На первом шаге цикла параметр принимает  значение nz. В этот же момент происходит вычисление kz - значения параметра на последнем шаге цикла. После каждого выполнения тела цикла, если параметр цикла не равен kz, происходит изменение параметра на следующее большее или меньшее значение в зависимости от формы оператора for, т.е. неявно происходит выполнение одного из двух операторов: 

<параметр> := Succ(<параметр>);

<параметр> := Pred(<параметр>);

В случае nz > kz в первой форме оператора  или nz < kz во второй его форме ошибки не происходит, но цикл не выполняется ни разу. После завершения работы цикла значение параметра остается равным kz.

РЕКОМЕНДАЦИИ: Использовать цикл for при заранее известном количестве повторений. Не изменять параметр в теле цикла. При использовании кратных (вложенных) циклов применять разные переменные в качестве параметров. Определять до цикла значения всех используемых в нем переменных. Не ставить точку с запятой после do.

ПРИМЕР: Вводятся 10 чисел, посчитать среди них количество положительных.

program cycle_for1;

var  i,kn:byte;  x:real;

begin

kn:=0;

for i:=1 to 10 do

begin

writeln('Введите ',i,' число: ');

readln(x);

if x>0 then kn:=kn+1 {увеличиваем количество на 1}

end;

writeln('Вы ввели ',kn,' положительных чисел.');

readln

end.

ПРИМЕР: Напечатать буквы от 'Z' до 'A'.

program cycle_for2;

var  c:char;

begin

for c:='Z' downto 'A' do write(c);

readln

end

ПРИМЕР: Вычислить N-е число Фиббоначчи. Числа Фиббоначчи строятся следующим образом: F(0)=F(1)=1; F(i+1)=F(i)+F(i-1); для i>=1. Это пример вычислений по рекуррентным формулам.

program Fib;

var  a,b,c:word;  i,n:byte;

begin

write('введите номер числа Фиббоначчи ');

readln(N);

a:=1; {a=F(0), a соответствует F(i-2)}

b:=1; {b=F(1), b соответствует  F(i-1)}

for i:=2 to N do

begin

c:=a+b; {c соответствует  F(i)}

a:=b; b:=c; {в качестве a и  b берется следующая пара чисел}

end;

writeln(N,'-е число Фиббоначчи =',b); {для N>=2 b=c}

readln

end.




Информация о работе Язык Паскаль