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

Содержание

Слайд 2

АЛГОРИТМИЧЕСКАЯ СТРУКТУРА «ВЕТВЛЕНИЕ» Форма организации действий, при которых в зависимости от

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

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

некоторого условия происходит одна или другая последовательность действий, называется ветвлением.
На языке программирования Pascal ветвление кодируется с использованием условного оператора if … then … else.
Слайд 3

1) Полная форма if then else ; 2) Неполная форма if

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

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

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

Слайд 4

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

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

оператор 2

да

нет

оператор 1

условие

ПОЛНАЯ ФОРМА

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

оператор 2

да

нет

оператор 1

условие

Слайд 5

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

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

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

да

нет

оператор

условие

Слайд 6

простое составное операции отношений логические операции = равно not не >

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

then 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

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

then 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;

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

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

ПЕРЕМЕННАЯ D ПОСЛЕ ВЫПОЛНЕНИЯ СЛЕДУЮЩИХ ОПЕРАТОРОВ:
Слайд 9

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

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

1) Даны два

целых числа. Найти наименьшее из них.
2) Ввести число. Если оно неотрицательно, вычесть из него 30, в противном случае прибавить к нему 70.
3) Ввести целое число и определить четное оно или нет.
Слайд 10

начало а min:=b да нет min:=a ввод a,b вывод min конец

начало

а

min:=b

да

нет

min:=a

ввод a,b

вывод min

конец

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

a, b: ');
readln(a, b);
if a < b then
min := a
else
min := b;
writeln('minimum = ', min);
end.

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

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

Слайд 11

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

ВВЕСТИ ЧИСЛО. ЕСЛИ ОНО НЕОТРИЦАТЕЛЬНО, ВЫЧЕСТЬ 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

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

2 = 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:

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

readln(a, 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

Операция 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.