Из презентации можно узнать и о структуре программы, и о разных алгоритмических конструкциях. Приведены примеры линейных программ, программ с ветвлениями, циклических программ.

Из презентации можно узнать и о структуре программы, и о разных алгоритмических конструкциях. Приведены примеры линейных программ, программ с ветвлениями, циклических программ.

Знакомство с языком Паскаль
Ветвление
на Паскале
Структура
программы
Циклические
программы
Пример
циклической
программы
Пример линейной
программы
Пример программы
с ветвлением
Алгоритм Евклида
на Паскале
; Раздел описания переменных Раздел операторов (исполняемая часть) Var список однотипных переменных : тип ; … Begin ; end . Арифметические операции + Сложение _ Вычитание * Умножение / Деление Div Деление нацело Mod Остаток от деления Типы числовых данных integer (целый) real (вещественный) Операторы для записи линейных программ Read () ;( readln) Ввод данных readln (x,y,z) Функции SIN (x) - sin x COS (x) - cos x LN (x) - ln x SQRT (x) - EXP(x) – e x SQR(x) – x 2 ABS – |x| Переменная := выражение F : =(x+y+z)*2 ; Присваивание ры Write () ;( writeln) writeln (‘ результат F=‘,F) ; Вывод результатов Приоритеты выполнения операций Оператор- это команда алгоритма, записанная на языке программирования * mod / div + - функции ( ) " width="640"
Структура программы
Линейные алгоритмы
Заголовок
программы
Program имя программы ;
Раздел описания
переменных
Раздел операторов
(исполняемая часть)
Var список однотипных переменных : тип ; …
Begin
;
end .
Арифметические операции
+ Сложение
_ Вычитание
* Умножение
/ Деление
Div Деление нацело
Mod Остаток от деления
Типы числовых данных
integer (целый)
real (вещественный)
Операторы для записи линейных программ
Read () ;( readln)
Ввод данных
readln (x,y,z)
Функции
SIN (x) - sin x
COS (x) - cos x
LN (x) - ln x
SQRT (x) -
EXP(x) – e x
SQR(x) – x 2
ABS – |x|
Переменная := выражение
F : =(x+y+z)*2 ;
Присваивание
ры
Write () ;( writeln)
writeln (‘ результат F=‘,F) ;
Вывод результатов
Приоритеты выполнения операций
Оператор- это команда
алгоритма, записанная
на языке программирования
* mod
/ div
+
-
функции
( )
Пример линейной программы
Даны a , b , c -стороны треугольника. Вычислить площадь треугольника
по формуле Герона: S=
p- полупериметр треугольника
P=(a+b+c)/2
Программа на Паскале
Алгоритмический язык
алг площадь треугольника
вещ a , b , c , p , S
нач
ввод a , b , c
P := (a + b + c )
S :=
вывод S
кон
Program Geron;
var a, b, c, p, S : real ;
begin
readln (a, b, c) ;
p:=(a+b+c)/2;
S:=sqrt(p*(p-a)*(p-b)*(h-c));
Writeln (‘S=‘ ,S)
end
начало
ввод a , b , c
p : =(a+b+c)/2
S :=
вывод S
конец
В языке Паскаль нет различия между строчными и прописными буквами.
Точка с запятой (;) –разделитель операторов, запятая (,) – разделитель элементов в списках .
THEN оператор 1 ELSE оператор 2 Неполное IF условие THEN оператор 1 Операции отношения Больше Меньше = Больше или равно Меньше или равно Не равно = Равно + Условный оператор позволяет выбрать один из двух путей продолжения выполнения программы. Если ( IF ) условие истинно, то ( THEN ) выполняется оператор 1, иначе ( ELSE ) выполняется оператор 2 Логические операции NOT НЕ Инверсия AND И Конъюнкция OR ИЛИ Дизъюнкция Оператор Составной begin ; ;… end В составе составного оператора могут быть простые и сложные Простой Один отдельный оператор " width="640"
Ветвление на Паскале
+
+
-
Составное
условие
Простое
условие
-
Полное
IF условие THEN оператор 1
ELSE оператор 2
Неполное
IF условие THEN
оператор 1
Операции
отношения
Больше
Меньше
= Больше
или равно
Меньше
или равно
Не равно
= Равно
+
Условный оператор позволяет выбрать один из двух путей
продолжения выполнения программы.
Если ( IF ) условие истинно, то ( THEN ) выполняется
оператор 1, иначе ( ELSE ) выполняется оператор 2
Логические операции
NOT НЕ Инверсия
AND И Конъюнкция
OR ИЛИ Дизъюнкция
Оператор
Составной
begin ; ;… end
В составе составного оператора
могут быть простые и сложные
Простой
Один отдельный оператор
B то D := A иначе D := B кв если CD то D : = С кв вывод D кон алг БИТ 2 вещ A , B , C , D нач ввод A , B , C если AB то если AB то D := A иначе D := C кв иначе если BC то D := B иначе D := C кв кв вывод кон Program BIT 1; var A , B , C , D : real ; begin readln ( A , B , C ); if AB then D := A else D := B ; if CD then D := C ; writeln ( D ) end . Program BIT 2; var A , B , C , D : real ; begin reabln ( A , B , C ); if AB then if AC then D := A else D := C else if BC then D := B ; else D := C ; writeln ( D ) end . " width="640"
Пример программы с ветвлением
Пример: Найти наибольшее значение среди трёх величин: A , B , C
Последовательные
ветвления
Вложенные
ветвления
алг БИТ 1
вещ A , B , C , D
нач
ввод A , B , C
если AB
то D := A
иначе D := B
кв
если CD
то D : = С
кв
вывод D
кон
алг БИТ 2
вещ A , B , C , D
нач ввод A , B , C
если AB
то если AB то D := A иначе D := C кв
иначе если BC то D := B иначе D := C кв
кв
вывод
кон
Program BIT 1;
var A , B , C , D : real ;
begin
readln ( A , B , C );
if AB
then D := A
else D := B ;
if CD
then D := C ;
writeln ( D )
end .
Program BIT 2;
var A , B , C , D : real ;
begin reabln ( A , B , C );
if AB
then if AC then D := A else D := C
else if BC then D := B ; else D := C ;
writeln ( D )
end .
Циклические программы
Оператор цикла с предусловием
Оператор цикла с постусловием
While do
Пока условие истинно,
выполняется оператор (тело цикла)
Repeat
until
Повторяется выполнение тела
цикла до того, как условие станет
истинным
-
+
-
+
Оператор цикла с параметром
По возрастанию параметра цикла
for := to do
По убыванию параметра цикла
for := downto do
- имя параметра цикла (счетчик цикла)
- определяет начальное значение параметра цикла
- определяет конечное значение параметра цикла
n ; writeln (F) end . Program n! 3; var i , n : integer ; F : real ; begin readln (n) ; F := 1 ; for i :=1 to n do F := F * i ; writeln (F) end . Program n! 4; var i , n : integer ; F : real ; begin readln (n) ; F := 1 ; for i := n downto 1do F := F * i ; writeln (F) end . Использование вещественного типа для F увеличивает диапазон допустимых значений для n " width="640"
Пример циклической программы
Пример: « N факториал» F=n != 1*2*...* n
While ... do ...
Repereat ... until ...
For ... to ... do ...
For ... downto ... do ...
Program n!1 ;
var i , n : integer ;
F : real ;
begin
readln (n) ;
F := 1 ;
i :=1;
while i
begin
F := F * i ;
i := i+1
end ;
writeln (F)
end .
Program n! 2;
var i , n : integer ;
F : real ;
begin
readln (n) ;
F := 1 ;
i :=1;
repeat
F := F * i ;
i := i+1
until in ;
writeln (F)
end .
Program n! 3;
var i , n : integer ;
F : real ;
begin
readln (n) ;
F := 1 ;
for i :=1 to n do
F := F * i ;
writeln (F)
end .
Program n! 4;
var i , n : integer ;
F : real ;
begin
readln (n) ;
F := 1 ;
for i := n downto 1do
F := F * i ;
writeln (F)
end .
Использование вещественного типа для F
увеличивает диапазон допустимых значений для n
N то M := M-N иначе N := N-M кв кц вывод ‘ НОД =‘ , M кон Program Evklid; var M, N: integer; begin writeln (‘ введите M и N’); readln (M, N); while MN do begin if MN then M:=M-N else N:=N-M end ; write (‘ НОД= ‘,M) end . + - + MN N := N-M M := M - N вывод M конец " width="640"
Алгоритм Евклида
Определение наибольшего общего делителя (НОД)
двух натуральных чисел
начало
Ввод M , N
-
M = N
алг Евклида
цел M , N
нач
вывод ‘ введите M и N’
ввод M , N
пока M = N , повторять
нц
если MN
то M := M-N
иначе N := N-M
кв
кц
вывод ‘ НОД =‘ , M
кон
Program Evklid;
var M, N: integer;
begin
writeln (‘ введите M и N’);
readln (M, N);
while MN do
begin
if MN
then M:=M-N
else N:=N-M
end ;
write (‘ НОД= ‘,M)
end .
+
-
+
MN
N := N-M
M := M - N
вывод M
конец
-80%