Презентация "Виды алгоритмов. Разветвляющийся алгоритм" 8 класс

Подписи к слайдам:
Виды алгоритмов Разветвляющийся алгоритм
  • Урок обобщения знаний
  • Учитель: Петрова Ирина Александровна
  • Школа: МБУ лицей №6 г.о. Тольятти Самарской обл.
Содержание:
  • Определение алгоритма
  • Свойства алгоритмов
  • Способы записи алгоритмов
  • Типы алгоритмов
Алгоритм - Алгоритм -
  • понятное и точное указание
  • исполнителю совершить определенную
  • последовательность действий
  • для решения поставленной задачи
  • или достижения указанной цели.
Свойства алгоритма:
  • Дискретность (пошаговое исполнение)
  • Результативность (конечность)
  • Свойства
  • алгоритма
  • Понятность (в системе команд исполнителя)
  • Массовость (решение однотипных задач)
  • Точность (определенность)
  • Формальность (не вдумываясь)
СПОСОБЫ ЗАПИСИ
  • СЛОВЕСНЫЙ
  • ПРОГРАММА
  • ГРАФИЧЕСКИЙ –
  • БЛОК-СХЕМА
Словесный
  • Прочесть значение R.
  • Умножить значение R на себя и на 3,14.
  • Умножить результат второго действия на значение R.
  • Записать полученный в предыдущей команде результат как значение S.
Программный
  • Program primer;
  • var x , y : integer;
  • Begin
  • write ( ‘ введите числo x =’ );
  • read ( x );
  • if x < 0 then if x < -5 then y := -10 else y := x
  • else if x < 3 then y := 2*x else y := 6;
  • writeln ( ‘ y = ’ , y );
  • End.
Блок-схема (графический)
  • ввод исходных данных
  • начало
  • вывод результата
  • конец
  • действие n
  • действие 1
  • . . .
Типы алгоритмов: Типы алгоритмов:
  • Линейный
  • 1
  • 2
  • 3
  • Ветвящийся
  • Циклический
Линейный алгоритм- Линейный алгоритм
  • Алгоритм называется линейным,
  • если все его действия выполняются последовательно друг за другом
  • от начала и до конца.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Восстановите условие задачи:
  • НАЧАЛО
  • ВВОД A,B
  • S := A * B
  • КОНЕЦ
  • ВЫВОД S
  • Найти площадь прямоугольника с заданными длинами сторон.
Найдите ошибки в программе:
  • Program square;
  • var A, B : integer;
  • Begin
  • writeln ( ‘ введите длины сторон прямоуг-ка ’ );
  • read ( R );
  • S = A * B ;
  • readln ( площадь прямоуг-ка = S );
  • End
Проверьте себя:
  • Program square;
  • var A, B, S : integer;
  • Begin
  • writeln ( ‘ введите длины сторон прямоуг-ка ’ );
  • read ( A , B );
  • S : = A * B ;
  • writeln ( ‘ площадь прямоуг-ка = ‘ , S );
  • End .
Разветвляющийся алгоритм- Разветвляющийся алгоритм
  • Алгоритм называется ветвящимся, если в зависимости от выполнения условия совершаются те или иные действия.
Виды ветвлений: Виды ветвлений:
  • Полная форма
  • 1
  • 2
  • 3
  • Неполная форма
  • Выбор
  • Неполная форма
  • УСЛОВИЕ
  • Да
  • Нет
  • одно или
  • несколько
  • действий
  • Pascal:
  • if условие then действие;
  • или
  • if условие then
  • begin
  • группа действий;
  • end;
  • Полная форма
  • УСЛОВИЕ
  • Да
  • Нет
  • группа
  • действий2
  • группа
  • действий1
  • Pascal:
  • if условие then действие1
  • else действие2;
  • или
  • if условие then begin
  • группа действий1;
  • end
  • else begin
  • группа действий2;
  • end;
  • Оператор выбора
  • Pascal:
  • case переменная of
  • список значений 1 : действие 1;
  • список значений 2 : действие 2;
  • список значений 3 : действие 3;
  • ………………………………………………………
  • список значений n : действие n
  • else действие n+1;
  • end;
Восстановите условие задачи:
  • Найти большее из трех чисел.
  • НАЧАЛО
  • ВВОД A,B,C
  • КОНЕЦ
  • ВЫВОД M
  • A>B
  • M:=В
  • M:=А
  • Нет
  • Да
  • С>М
  • M:=C
  • Да
  • Нет
Найдите ошибки в программе:
  • Program Max;
  • var A, B, C : integer;
  • Begin
  • writeln ( ‘ введите 2 числа ’ );
  • read ( A, B );
  • if A > B then Max := A ; else Max := B ;
  • if C > Max else Max := C ;
  • writlen ( ‘ большее = ’ , М );
  • End.
Проверьте себя:
  • Program Maximum;
  • var A, B, C, Max : integer;
  • Begin
  • writeln ( ‘ введите 3 числа ’ );
  • read ( A, B, C );
  • if A > B then Max := A else Max := B ;
  • if C > Max then Max := C ;
  • writeln ( ‘ большее = ’ , М );
  • End.
  • нет « ; »
Каким будет значение переменных после выполнения фрагмента программы:
  • 1)x := 5 ;
  • if x < 4 then x := 0
  • else x := x + 2 ;
  • y := x ;
  • 2)m := 0 ; n := 4;
  • if (m < n) and (m <> 0)
  • then k := m
  • else begin k := m ; k := k - n; end;
  • 3)a := -1 ; b := 0;
  • if (a > 0) or (b > 0)
  • then d := b
  • else begin d := b ; d := d + a; end;
  • y = ………
  • d = ………
  • k = ………
  • 7
  • - 4
  • 0
Упростите :
  • 1) if x < 0 then y := - x ;
  • if x >= 0 then y := 2+x ;
  • 2) if a >= b then c := 1 ;
  • if a < b then c := -1 ;
  • 3) if a < b then write ( ‘ a – меньше ’ );
  • if a > b then write ( ‘ b – меньше ’ );
  • X
  • 0
  • Y = - X
  • Y = 2+X
Упростите :
  • 1) if x < 0 then y := - x ;
  • if x >= 0 then y := 2+x ;
  • 2) if a >= b then c := 1 ;
  • if a < b then c := -1 ;
  • 3) if a < b then write ( ‘ a – меньше ’ );
  • if a > b then write ( ‘ b – меньше ’ );
  • if x < 0 then y := - x
  • else y := 2+x ;
Упростите :
  • 1) if x < 0 then y := - x ;
  • if x >= 0 then y := 2+x ;
  • 2) if a >= b then c := 1 ;
  • if a < b then c := -1 ;
  • 3) if a < b then write ( ‘ a – меньше ’ );
  • if a > b then write ( ‘ b – меньше ’ );
  • if x < 0 then y := - x
  • else y := 2+x ;
  • a
  • b
  • a
  • b
  • a
  • b
Упростите :
  • 1) if x < 0 then y := - x ;
  • if x >= 0 then y := 2+x ;
  • 2) if a >= b then c := 1 ;
  • if a < b then c := -1 ;
  • 3) if a < b then write ( ‘ a – меньше ’ );
  • if a > b then write ( ‘ b – меньше ’ );
  • if x < 0 then y := - x
  • else y := 2+x ;
  • if a >= b then c := 1
  • else c := -1 ;
Упростите :
  • 1) if x < 0 then y := - x ;
  • if x >= 0 then y := 2+x ;
  • 2) if a >= b then c := 1 ;
  • if a < b then c := -1 ;
  • 3) if a < b then write ( ‘ a – меньше ’ );
  • if a > b then write ( ‘ b – меньше ’ );
  • if x < 0 then y := - x
  • else y := 2+x ;
  • if a >= b then c := 1
  • else c := -1 ;
  • НЕЛЬЗЯ!
  • нет a = b
Упростите, если это возможно, и найдите ошибки в программе:
  • Program primer;
  • var x, a, b : integer;
  • Begin
  • writlen ( ‘ введите числo x =’ );
  • write ( x );
  • if x > 0 then a := a * 2 ; b := b / 2;
  • if x <= 0 then a := a / 2 ; b := b * 2;
  • writeln ( ‘ a = ’ , a );
  • writeln ( ‘ b = ’ , b );
  • End.
Проверьте себя:
  • Program primer;
  • var x, a, b : real;
  • Begin
  • writeln ( ‘ введите числo x =’ );
  • read ( x );
  • if x > 0 then begin a := a * 2 ; b := b / 2; end
  • else begin a := a / 2 ; b := b * 2; end;
  • writeln ( ‘ a = ’ , a );
  • writeln ( ‘ b = ’ , b );
  • End.
Напишите программу решения задачи по алгоритму:
  • По представленной на карточке блок-схеме составьте программу вычисления значения переменной y при заданном с клавиатуры значении переменной x.
Циклический алгоритм- Циклический алгоритм
  • Алгоритм называется циклическим, если одни и те же действия повторяются несколько раз или ни разу пока не будет выполнено какое-нибудь условие.