Нелинейные алгоритмы. Язык программирования Паскаль. 8 класс

Содержание

Слайд 2

? ? Операторы2 Полное ветвление Неполное ветвление да нет да нет Операторы1 Операторы1 ВЕТВЛЕНИЕ

?

?

Операторы2

Полное ветвление

Неполное ветвление

да

нет

да

нет

Операторы1

Операторы1

ВЕТВЛЕНИЕ

Слайд 3

УСЛОВНЫЙ ОПЕРАТОР (оператор ветвления, выбора) IF THEN ELSE Выполнение условного оператора

УСЛОВНЫЙ ОПЕРАТОР (оператор ветвления, выбора)
IF <условие> THEN <операторы1> ELSE<опер-ры2>
Выполнение условного

оператора начинается с вычисления значения логического выражения, записанного в условии.
Простые условия записываются в виде равенств или неравенств.
Сложные условия составляют из простых с помощью логических операций.
Если условие истинно, то выполняется <операторы1>, в противном случае - <операторы2>.
Слайд 4

ПРОВЕРОЧНЫЙ ВОПРОС Какими будут значения переменных j, к после выполнения условного

ПРОВЕРОЧНЫЙ ВОПРОС
Какими будут значения переменных j, к после выполнения условного оператора:
If

j>k then j: =k-2 else dec(k, 2); dec(k, 2)<=> k:=k-2
если исходные значения переменных равны:
1) j=3,k=5;
2) j=3,k=3;
3) j=3,k=2.

1) j=3,k=3;

2) j=3,k=1;

3) j=0,k=2;

Слайд 5

А Х В Y Y A = A) AND (X Y B (Y B) Сложные условия

А

Х

В

Y

Y

A < X < B (X >= A) AND (X<=B)

Y<А

или Y>B (Y < A) OR (Y> B)

Сложные условия

Слайд 6

A > B? A A := - A Полное ветвление Неполное

A > B?

A < 0?

A := - A

Полное ветвление

Неполное ветвление

да

нет

да

нет

Пример 1.
Даны

два числа А и В.
Вывести наибольшее из них

Пример 2.
Дано число А.
Вывести модуль числа А

A

B

A

B

A

B

A

B

end.

end.

Начало

Начало

Слайд 7

Пример 1. Даны два числа А и В. Найти наибольшее из

Пример 1.
Даны два числа А и В. Найти наибольшее из них


program prim1;
uses crt;
var a,b: integer;
begin
writeln('введите 2 чucлa');
readln(a, b);
if а>b then writeln(a) else writeln(b);
End.
Д/З:Задание №2 Дано число А. Вывести модуль числа А. Написать программу к блок-схеме
Слайд 8

Задание №2 Составить блок-схему и программу вычисления значения функции 16.5х+9х2 -1.25х3

Задание №2
Составить блок-схему и программу вычисления значения функции
16.5х+9х2 -1.25х3

если 1<= x <= 9
У= 0 если x < 1
a – x если x > 9

1

9

x < 1

x > 9

1<= x <= 9

Y=0

Y= 16.5х+9х2 -1.25х3

Y= a - x

Слайд 9

начало a, x X X>9 Y=0 Y=a-x Y= ... Y Да Да

начало

a, x

X<1

X>9

Y=0

Y=a-x

Y= ...

Y

Да

Да

Слайд 10

Program yy; Uses crt; Var a, x, y: real; Begin Writeln(‘

Program yy; Uses crt;
Var a, x, y: real;
Begin
Writeln(‘ a, x

‘);
Readln(a, x);
If x<1 then y:=0
else
if x>9 then y:=a-x
else y:=16.5*х+9*х*x -1.25*х*x*x;
Writeln(‘y= ‘ , y:5:2);
End.
Слайд 11

№ 3. Даны три числа а, в, с. Найти М -большее

№ 3.
Даны три числа а, в, с.
Найти М -большее из

них.
№ 4.
Дан круг радиуса R и квадрат со стороной А. Впишется ли круг в квадрат?
Ответ вывести в словесной форме «да» или «нет»
№ 5*
Определить, принадлежит ли точка М(х, у) кольцу с центром в начале координат, внешним радиусом R1, внутренним радиусом R2

а

в

с

М

М(х,у)

Слайд 12

Циклические алгоритмы Тело цикла Цикл с предусловием «делать пока» Тело цикла

Циклические алгоритмы

Тело цикла

Цикл с предусловием
«делать пока»

Тело цикла

Цикл с постусловием
«делать до»

Условие выхода

из цикла

Условие выхода из цикла

Слайд 13

ЦИКЛ С ПАРАМЕТРОМ Выполняет тело цикла, пока параметр изменяется от А

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

Выполняет тело цикла, пока параметр изменяется от А

до В с шагом 1
for <параметр>:=А to В do begin
<тело цикла> ;
End;
Цикл с шагом параметра = 1
for <параметр>:=А downto В do с шагом = - 1
Слайд 14

Пример 1. Составить программу вычисления значения выражения у=1+2+3+.. +100 program prim1;

Пример 1. Составить программу вычисления значения выражения у=1+2+3+.. +100
program prim1;
uses crt;
var

n: integer;
y: real;
Begin
y:=0;
for n:=1 to 100 do begin
y:=y+n;
end;
writeln('y=', y);
end.
Слайд 15

Пример 2. Составить программу вычисления значения выражения у=1+1/2+1/3+.. +1/20 program prim2;

Пример 2. Составить программу вычисления значения выражения у=1+1/2+1/3+.. +1/20
program prim2;
uses crt;
var

n: integer;
y: real;
Begin
y:=0;
for n:=1 to 20 do begin
y:=y+1/n;
end;
writeln('y=', y);
end.
Слайд 16

Пример 3*. Из чисел от 10 до 99 вывести те, сумма

Пример 3*. Из чисел от 10 до 99 вывести те, сумма

цифр которых равна N, причем 0program prim3;
uses crt;
var n,t,p1,p2,s: integer;
begin
clrscr;
Write(‘ целое число от 1 до 18 n= ');
readln(n);
For t:=10 to 99 do begin
p1:=t div 10; {деление нацело}
р2: =t mod 10; {остаток от деления нацело}
s:=p1+p2;
If s=n then writeln('k= ‘, t);
end;
end.
Слайд 17

Цикл с предусловием «делать пока»

Цикл с предусловием «делать пока»

Слайд 18

ОПЕРАТОР ЦИКЛА С ПРЕДУСЛОВИЕМ: while ...do Пример 4 Дано натуральное число

ОПЕРАТОР ЦИКЛА С ПРЕДУСЛОВИЕМ: while ...do
Пример 4
Дано натуральное число п.

Посчитать количество цифр в числе.
Алгоритм. Подсчет количества цифр начнем с последней цифры числа. Увеличим счетчик цифр на единицу. Число уменьшим в 10 раз (тем самым мы избавляемся от последней цифры числа). Далее с получившимся числом проделаем ту же последовательность действий и т. д., пока число не станет равным нулю.
writeln (‘Введите N='); readln(n);
m:=n; k:=0;
while т<>0 do begin;
k:=k+1; m:= m div 10;
end;
writeln('B числе ', N ,’ ‘, k, ' цифр!');
Слайд 19

Цикл с постусловием «делать до»

Цикл с постусловием «делать до»

Слайд 20

ОПЕРАТОР ЦИКЛА С ПОСТУСЛОВИЕМ repeat (повторять) until (до тех пор, пока)

ОПЕРАТОР ЦИКЛА С ПОСТУСЛОВИЕМ
repeat (повторять) until (до тех пор, пока)
Пример

5
Составить программу планирования закупки товара в магазине на сумму, не превышающую заданную величину.
writeln('сумма - ');
readln(p); s:=0;
repeat; writeln(‘Ценa тов. и его кол '); readln(c, k); s:=s+c*k;
Writeln(‘Стоимость покупки’,s:5:2);
until s>p;
writeln('Суммарная стоимость
покупки превысила предельную сумму');
readln;
end.