Программирование ветвящихся алгоритмов

Содержание

Слайд 2

АЛГОРИТМИЧЕСКАЯ СТРУКТУРА «ВЕТВЛЕНИЕ»

Форма организации действий, при которых в зависимости от выполнения некоторого

АЛГОРИТМИЧЕСКАЯ СТРУКТУРА «ВЕТВЛЕНИЕ» Форма организации действий, при которых в зависимости от выполнения
условия происходит одна или другая последовательность действий, называется ветвлением.
На языке программирования Pascal ветвление кодируется с использованием условного оператора if … then … else.

Слайд 3

1) Полная форма
if <условие> then <оператор 1> else <оператор 2>;
2) Неполная форма
if

1) Полная форма if then else ; 2) Неполная форма if then
<условие> then <оператор>;
Операторы 1 и 2 могут быть простыми или составными.
Если условие принимает значение true (истина), то выполняется оператор 1, если – false (ложь), то оператор 2.

ФОРМЫ УСЛОВНОГО ОПЕРАТОРА

Слайд 4

if <условие> then <оператор 1> else <оператор 2>;

оператор 2

да

нет

оператор 1

условие

ПОЛНАЯ ФОРМА УСЛОВНОГО

if then else ; оператор 2 да нет оператор 1 условие ПОЛНАЯ
ОПЕРАТОРА

оператор 2

да

нет

оператор 1

условие

Слайд 5

if <условие> then <оператор>;

НЕПОЛНАЯ ФОРМА УСЛОВНОГО ОПЕРАТОРА

да

нет

оператор

условие

if then ; НЕПОЛНАЯ ФОРМА УСЛОВНОГО ОПЕРАТОРА да нет оператор условие

Слайд 6

простое составное
операции отношений логические операции
= равно not не
< меньше and и
> больше or или
<= меньше или равно
>= больше или равно
<> не равно
Примеры: 1) if n>0 then

простое составное операции отношений логические операции = равно not не > больше
n:=n+2;
2) if (n<0) and (n<>3) then n:=n+1;

УСЛОВИЕ (СРАВНЕНИЕ ВЫРАЖЕНИЙ)

Слайд 7

1) a:=3; b:=2;
if (a>b) then d:=a else d:=b;
Ответ:
3
2) a:=-3;
b:=2;
if (a>b) then

1) a:=3; b:=2; if (a>b) then d:=a else d:=b; Ответ: 3 2)
d:=a else d:=b;
Ответ:
2

КАКОЕ ЗНАЧЕНИЕ БУДЕТ ИМЕТЬ ПЕРЕМЕННАЯ D ПОСЛЕ ВЫПОЛНЕНИЯ СЛЕДУЮЩИХ ОПЕРАТОРОВ:

Слайд 8

3) a:=2; b:=3;
d:=5;
if (a>b) then d:=a else
begin
d:=b;
d:=d+a;
end;
Ответ:
5

КАКОЕ ЗНАЧЕНИЕ БУДЕТ ИМЕТЬ ПЕРЕМЕННАЯ

3) a:=2; b:=3; d:=5; if (a>b) then d:=a else begin d:=b; d:=d+a;
D ПОСЛЕ ВЫПОЛНЕНИЯ СЛЕДУЮЩИХ ОПЕРАТОРОВ:

Слайд 9

СОСТАВИТЬ БЛОК-СХЕМУ И НАПИСАТЬ ТЕКСТ ПРОГРАММЫ ДЛЯ РЕШЕНИЯ ЗАДАЧ:

1) Даны два целых

СОСТАВИТЬ БЛОК-СХЕМУ И НАПИСАТЬ ТЕКСТ ПРОГРАММЫ ДЛЯ РЕШЕНИЯ ЗАДАЧ: 1) Даны два
числа. Найти наименьшее из них.
2) Ввести число. Если оно неотрицательно, вычесть из него 30, в противном случае прибавить к нему 70.
3) Ввести целое число и определить четное оно или нет.

Слайд 10

начало

а

min:=b

да

нет

min:=a

ввод a,b

вывод min

конец

program zadanie1;
var
a, b: integer;
min: integer;
begin
write('Введите a,

начало а min:=b да нет min:=a ввод a,b вывод min конец program
b: ');
readln(a, b);
if a < b then
min := a
else
min := b;
writeln('minimum = ', min);
end.

ДАНЫ ДВА ЦЕЛЫХ ЧИСЛА. НАЙТИ НАИМЕНЬШЕЕ ИЗ НИХ

Решение задач

Слайд 11

ВВЕСТИ ЧИСЛО. ЕСЛИ ОНО НЕОТРИЦАТЕЛЬНО, ВЫЧЕСТЬ 30, ИНАЧЕ ПРИБАВИТЬ 70

начало

a:=a +

ВВЕСТИ ЧИСЛО. ЕСЛИ ОНО НЕОТРИЦАТЕЛЬНО, ВЫЧЕСТЬ 30, ИНАЧЕ ПРИБАВИТЬ 70 начало a:=a
70

да

нет

a:=a - 30

ввод a

вывод a

конец

program zadanie2;
var
a: integer;
begin
write('Vvedite a: ');
readln(a);
if a >= 0 then
a := a - 30
else
a := a + 70;
writeln(‘a = ', a);
end.

а>0

Решение задач

Слайд 12

program zadanie3;
var a: integer;
begin
write('Введите a: ');
readln(a);
if (a mod 2

program zadanie3; var a: integer; begin write('Введите a: '); readln(a); if (a
= 0) then
writeln('Да')
else
writeln('Нет');
end.

да

нет

ввод a

конец

вывод ‘Да’

вывод ‘Нет’

начало

ВВЕСТИ ЦЕЛОЕ ЧИСЛО И ОПРЕДЕЛИТЬ ЧЕТНОЕ ОНО ИЛИ НЕТ

a mod 2 =0

Решение задач

Слайд 13

ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ

1) Ввести 2 числа. Если их произведение отрицательно, умножить

ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ 1) Ввести 2 числа. Если их произведение отрицательно,
его на 2 и вывести на экран, в противном случае увеличить его в 1,5 раза и вывести на экран.
2) Ввести число. Если оно четное, разделить его на 4, в противном случае умножить на 3
3) Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.

Слайд 14

program zadanie1;
var
a,b: real;
p: real;
begin
write('Введите a, b: ');
readln(a,

program zadanie1; var a,b: real; p: real; begin write('Введите a, b: ');
b);
p:=a*b
if p< 0 then
p:=2*p
else
p:=1.5*p;
writeln('произв = ', p);
end.

program zadanie2;
var x:integer;
begin
writeln('Введите x=');
readln(x);
if (x/2=x\2) then writeln(x div 4) else writeln(x*3);
end.

program zadanie3;
var m,n:integer;
begin
readln(m,n);
if m<>n then
begin
if m>n then
n:=m
else
m:=n;
end
else
begin
m:=0;
n:=0;
end;
writeln(m,' ',n);
end.

Слайд 15

Операция Div используется для нахождения частного от деления
   Примеры:
25 div 20 =

Операция Div используется для нахождения частного от деления Примеры: 25 div 20
1;
20 div 25 = 0;
39 div 5 = 7;
158 div 3 = 52.
Операция Mod используется для нахождения остатка от деления
  Примеры:
25 mod 20 = 5;
20 mod 25 = 0;
39 mod 5 = 4;
158 mod 3 = 2.

Операции Div и Mod

Слайд 16

Математические функции в Паскаль

Функция - это подпрограмма, которая возвращает какое-либо значение.

Математические функции в Паскаль Функция - это подпрограмма, которая возвращает какое-либо значение.

Слайд 17

Задание на дом
Решить задачи 1,2, IF1-IF11
Задача 1 .Найти сумму цифр двухзначного числа.

Задание на дом Решить задачи 1,2, IF1-IF11 Задача 1 .Найти сумму цифр

Задача 2 .Найти сумму цифр трехзначного числа.
Задача If1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.
Задача If2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.
Задача If3.Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное
Задача If4. Даны три целых числа. Найти количество положительных чисел в исходном наборе
Задача If5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.
Задача If6. Даны два числа. Вывести большее из них.
Задача If7. Даны два числа. Вывести порядковый номер меньшего из них.
Задача If8. Даны два числа. Вывести вначале большее, а затем меньшее из них.
Задача If9. Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.
.Задача If10. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.
Задача If11. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.