СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Урок на тему «Команда ветвления в полной форме».

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Урок на тему «Команда ветвления в полной форме».»

Команда ветвления в полной форме  на языке программирования ПАСКАЛЬ

Команда ветвления в полной форме на языке программирования ПАСКАЛЬ

Цели и задачи:  Ввести понятие ветвления.  Рассмотреть виды ветвлений.  Показать, как реализуются ветвящиеся алгоритмы на языке программирования Паскаль. Рассмотреть задачи с ветвящимися алгоритмами.

Цели и задачи:

  • Ввести понятие ветвления.
  • Рассмотреть виды ветвлений.
  • Показать, как реализуются ветвящиеся алгоритмы на языке программирования Паскаль.
  • Рассмотреть задачи с ветвящимися алгоритмами.
Понятие ветвления Ветвление – форма организации действий, при которой в зависимости от условия выполняется одна, либо другая серия действий (команд, операторов). Ветвление позволяет менять порядок выполнения команд по результатам проверки некоторого условия. В команде ветвления в качестве условия может использоваться отношение неравенства между величинами.

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

Ветвление – форма организации действий, при которой в зависимости от условия выполняется одна, либо другая серия действий (команд, операторов).

Ветвление позволяет менять порядок выполнения команд по результатам проверки некоторого условия.

В команде ветвления в качестве условия может использоваться отношение неравенства между величинами.

Понятие ветвления Ветвление является структурной командой. Его исполнение происходит в несколько шагов: проверка условия (выполнение логического выражения); выполнение команд на одной из ветвей.

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

Ветвление является структурной командой. Его исполнение происходит в несколько шагов:

  • проверка условия (выполнение логического выражения);
  • выполнение команд на одной из ветвей.
Синтаксис языка программирования  У каждого человеческого языка есть своя грамматика, включающая в себя правила, по которым должны выстраиваться в цепочку элементы языка, чтобы получилось правильное предложение. Совокупность этих правил образует часть грамматики, называемую СИНТАКСИСОМ.  В языках программирования тоже есть предложения. Такими предложениями являются операторы. Следовательно у языков программирования тоже должен быть свой синтаксис, который описывает правила, по которым записываются операторы языка, и из операторов составляется программа. После того, как человек запускает программу на выполнение, любая среда программирования прежде, чем действительно выполнить её, сначала проверит, нет ли в ней синтаксических ошибок, и если они есть, то программу выполнять не будет, а выдаст сообщение об ошибке.

Синтаксис языка программирования

У каждого человеческого языка есть своя грамматика, включающая в себя правила, по которым должны выстраиваться в цепочку элементы языка, чтобы получилось правильное предложение. Совокупность этих правил образует часть грамматики, называемую СИНТАКСИСОМ.

В языках программирования тоже есть предложения. Такими предложениями являются операторы. Следовательно у языков программирования тоже должен быть свой синтаксис, который описывает правила, по которым записываются операторы языка, и из операторов составляется программа. После того, как человек запускает программу на выполнение, любая среда программирования прежде, чем действительно выполнить её, сначала проверит, нет ли в ней синтаксических ошибок, и если они есть, то программу выполнять не будет, а выдаст сообщение об ошибке.

  Пояснение a Меньше или равно Больше a меньше 6 = b b меньше или равно 23 x 5 Больше или равно = x больше 5 Равно   y = 8 Не равно y больше или равно 8 c = 10 c равно 10 d 3 d не равно 3 " width="640"

Операции отношения или сравнения

Знак

Наименование

Меньше

Пример

 

Пояснение

a

Меньше или равно

Больше

a меньше 6

=

b

b меньше или равно 23

x 5

Больше или равно

=

x больше 5

Равно

 

y = 8

Не равно

y больше или равно 8

c = 10

c равно 10

d 3

d не равно 3

Виды ветвлений: неполное ветвление (обход), полное ветвление (альтернатива); вложенные ветвления; ветвление по ряду условий.

Виды ветвлений:

  • неполное ветвление (обход),
  • полное ветвление (альтернатива);
  • вложенные ветвления;
  • ветвление по ряду условий.
Неполное ветвление К неполным ветвлениям относятся алгоритмы, выполняющие следующую структуру логического выражения: «Если … то …».    Ложь Истина Условие Действие

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

К неполным ветвлениям относятся алгоритмы, выполняющие следующую структуру логического выражения: «Если … то …».

Ложь Истина

Условие

Действие

THEN оператор " width="640"

Запись условного оператора на Паскале

Неполная форма оператора If

IF условие THEN оператор

Задача 1 Составьте блок-схему и программу упорядочения значений двух переменных x и y по возрастанию.

Задача 1

Составьте блок-схему и программу упорядочения значений двух переменных x и y по возрастанию.

y c:=x x:=y y:=c Вывод x,y конец " width="640"

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

Начало

Ввод x,y

Нет Да

xy

c:=x

x:=y

y:=c

Вывод x,y

конец

y то c:=x x:=y y:=c кв вывод x,y кон " width="640"

Решение задачи 1 (сортировка)

Алгоритм решения задачи:

алг сортировка

вещ x,y,c

нач

ввод x,y

если xy

то c:=x

x:=y

y:=c

кв

вывод x,y

кон

Составной оператор Этот пример иллюстрирует следующее правило Паскаля: Если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записать между служебными словами begin и end.  Конструкция такого вида: begin  end называется  составным оператором.

Составной оператор

Этот пример иллюстрирует следующее правило Паскаля:

Если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записать между служебными словами

begin и end.

Конструкция такого вида:

begin end

называется составным оператором.

y then (условие) begin (начало программы) c:=x; x:=y; y:=c; end; writeln (x,',',y); (выводит) end. (конец программы) обратно " width="640"

Решение задачи (сортировка)

Составим программу:

Program sorting;

var x,y,c: real; (вещественное)

begin (начало программы)

writeln ('Введи два числа');

readln (x,y); ( вызывает переход к следущей строке )

if xy then (условие)

begin (начало программы)

c:=x;

x:=y;

y:=c;

end;

writeln (x,',',y); (выводит)

end. (конец программы)

обратно

Полное ветвление Полное ветвление - алгоритм, в котором выполняется одно из двух действий, в зависимости от истинности условия.  Ложь Истина  Если условие истинно, то выполняется действие 1, а иначе выполняется действие 2. Условие Действие 2 Действие 1

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

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

Ложь Истина

Если условие истинно, то выполняется действие 1, а иначе выполняется действие 2.

Условие

Действие 2

Действие 1

THEN оператор ELSE оператор Внимание! Перед ELSE точка с запятой не ставится! " width="640"

Запись условного оператора на Паскале

Полная форма оператора IF

IF условие THEN оператор ELSE оператор

Внимание! Перед ELSE

точка с запятой не ставится!

Задача 2 Даны два числа a, b. Выберите большее из них.

Задача 2

Даны два числа a, b. Выберите большее из них.

b c:=a c:=b Вывод с конец " width="640"

Задача 2

начало

Ввод a,b

Нет Да

ab

c:=a

c:=b

Вывод с

конец

b то c:=a иначе с:=b кв вывод c кон " width="640"

Задача 2

Алгоритм выбора большего из двух чисел, реализующий полное ветвление:

алг БИД

вещ a,b,c

нач

ввод a,b

если ab

то c:=a

иначе с:=b

кв

вывод c

кон

b then c:=a else c:=b; writeln (‘Большее число',' ',c:4:2) end. Обратно " width="640"

Задача 2

Составим программу:

program bid;

var a,b,c: real;

begin

writeln ('введите значения переменных a,b');

readln (a,b);

if ab then c:=a else c:=b;

writeln (‘Большее число',' ',c:4:2)

end.

Обратно

Вложенное ветвление В структуре вложенного ветвления следующая особенность: одна или обе ветви условия могут продолжаться не блоками вычислительных операций или ввода - вывода, а дополнительным блоком условия. Один из видов такого ветвления представлен на рисунке.

Вложенное ветвление

В структуре вложенного ветвления следующая особенность: одна или обе ветви условия могут продолжаться не блоками вычислительных операций или ввода - вывода, а дополнительным блоком условия. Один из видов такого ветвления представлен на рисунке.

Вложенное ветвление  Нет  Да  Условие 1  Нет  Да  Нет  Да условие 2 условие 3     Действие 2 Действие 4 Действие 1 Действие 3 конец

Вложенное ветвление

Нет Да

Условие 1

Нет Да

Нет Да

условие 2

условие 3

Действие 2

Действие 4

Действие 1

Действие 3

конец

Задача 3 Определите большее из трех чисел a, b, c.

Задача 3

Определите большее из трех чисел a, b, c.

b Нет Да bc ac d:=c d:=b d:=с d:=а Вывод d конец " width="640"

Задача 3

Начало

Ввод a, b, c

Нет

Да

Нет Да

ab

Нет Да

bc

ac

d:=c

d:=b

d:=с

d:=а

Вывод d

конец

b то если aс то d:=a иначе d:=с кв иначе если bc то d:= b иначе d:=с кв кв вывод d кон " width="640"

Задача 3

Структура этого алгоритма – вложенные ветвления:

алг БИТ

вещ a, b, c, d

нач

ввод a, b, c

если ab

то если aс то d:=a иначе d:=с кв

иначе если bc то d:= b иначе d:=с кв

кв

вывод d

кон

b then if ac then d:=a else d:=b else if bc then d:=b else d:=c; writeln ('Большее число',' ',d) end. Обратно " width="640"

Задача 3

Составим программу, используя вложенные ветвления:

program bit;

var

a,b,c,d: real;

begin

writeln ('введите значения переменных a,b,c');

readln (a,b,c);

if ab

then if ac then d:=a else d:=b

else if bc then d:=b else d:=c;

writeln ('Большее число',' ',d)

end.

Обратно

Сложные логические выражения Условие, содержащее логические связки (и, или, нет), называется сложным усло­вием. Условие, не содержащее логических связок, называется простым, или элементарным условием.  С логическими связками (операциями) вы встречались, когда работали с базами данных и электронными таблицами.

Сложные логические выражения

Условие, содержащее логические связки (и, или, нет), называется сложным усло­вием.

Условие, не содержащее логических связок, называется простым, или элементарным условием.

С логическими связками (операциями) вы встречались, когда работали с базами данных и электронными таблицами.

Логические операции Логическая операция Ее значение AND Логическое 3) Значение примера записи x меньше 7 Логическое " ИЛИ " Логическое " НЕ "   И (y100) or (yy больше 100 not (x=2) x больше 3 (3ИЛИ НЕ x равно 2 y меньше 10 (y100) " width="640"

Логические операции

Логическая операция

Ее значение

AND

Логическое " И "

 

Примеры

NOT

 

OR

(xand (x3)

Значение примера

записи

x меньше 7

Логическое " ИЛИ "

Логическое " НЕ "

 

И

(y100) or (y

y больше 100

not (x=2)

x больше 3 (3

ИЛИ

НЕ x равно 2

y меньше 10

(y100)

Задача 4 Два прямоугольника заданы длинами сторон. Написать программу, после выполнения которой выясняется, можно ли первый прямоугольник целиком разместить во втором. (Рассмотреть только случай, когда соответствующие стороны прямоугольников параллельны.)

Задача 4

Два прямоугольника заданы длинами сторон. Написать программу, после выполнения которой выясняется, можно ли первый прямоугольник целиком разместить во втором. (Рассмотреть только случай, когда соответствующие стороны прямоугольников параллельны.)

Задача 4 Начало Ввод длин сторон a1, b1, a2, b2, Нет  Да a1или b1Размещается 1 во 2 Не размещается 1 во 2 конец

Задача 4

Начало

Ввод длин сторон a1, b1, a2, b2,

Нет Да

a1

или

b1

Размещается 1 во 2

Не размещается 1 во 2

конец

Задача 4 Пользуясь блок-схемой, составим программу, в которой должно быть реализовано полное ветвление и сложное условие (см. блок-схему):   Program Pryamoug;  var  a1, b1, a2, b2 : real;  begin  write ('Введите длину и ширину первого прямоугольника ');  readln (a1, b1);  write ('Введите длину и ширину второго прямоугольника ');  readln (a2, b2);  if ((a1  then writeln('Первый прямоугольник размещается во втором')  else writeln('Первый прямоугольник не размещается во втором')  end.

Задача 4

Пользуясь блок-схемой, составим программу, в которой должно быть реализовано полное ветвление и сложное условие (см. блок-схему):

 

Program Pryamoug;

var

a1, b1, a2, b2 : real;

begin

write ('Введите длину и ширину первого прямоугольника ');

readln (a1, b1);

write ('Введите длину и ширину второго прямоугольника ');

readln (a2, b2);

if ((a1

then writeln('Первый прямоугольник размещается во втором')

else writeln('Первый прямоугольник не размещается во втором')

end.

Ветвление по ряду условий  (оператор варианта case) Условный оператор ( If ) позволяет сделать выбор из двух вариантов: да/нет (истина/ложь). Для организации выбора из нескольких вариантов приходится использовать вложенные условные операторы ( If ), тогда алгоритм и программа могут оказаться очень сложными, или оператор выбора case .

Ветвление по ряду условий (оператор варианта case)

Условный оператор ( If ) позволяет сделать выбор из двух вариантов: да/нет (истина/ложь). Для организации выбора из нескольких вариантов приходится использовать вложенные условные операторы ( If ), тогда алгоритм и программа могут оказаться очень сложными, или оператор выбора case .

Ветвление по ряду условий  (оператор варианта case)  Формат записи оператора case : сase  of  : ; …  : ; else  End Внимание! Единственный случай, когда перед словом ELSE можно ставить точку с запятой (;) это в операторе CASE!

Ветвление по ряду условий (оператор варианта case)

Формат записи оператора case :

сase of

: ;

: ;

else

End

Внимание! Единственный случай, когда перед словом ELSE можно ставить точку с запятой (;) это в операторе CASE!

Задача 5 Напишите программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае, если пользователь укажет недопустимое число, программа должна вывести сообщение «Ошибка ввода данных.Число должно быть от 1 до 12. Повторите ввод. ».

Задача 5

Напишите программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае, если пользователь укажет недопустимое число, программа должна вывести сообщение «Ошибка ввода данных.Число должно быть от 1 до 12. Повторите ввод. ».

Задача 5 Program vremya_goda;  var  m:integer;  begin  writeln('Введите номер месяца (число от 1 до 12) m=');  readln (m);  Case m of  1,2,12: writeln ('Время года - зима');  3..5:writeln ('Время года - весна');  6..8:writeln ('Время года - лето');  9..11: writeln ('Время года - осень');  else writeln (‘Ошибка ввода данных.Число должно быть от 1 до 12. Повторите ввод.');  end;  end.

Задача 5

Program vremya_goda;

var

m:integer;

begin

writeln('Введите номер месяца (число от 1 до 12) m=');

readln (m);

Case m of

1,2,12: writeln ('Время года - зима');

3..5:writeln ('Время года - весна');

6..8:writeln ('Время года - лето');

9..11: writeln ('Время года - осень');

else writeln (‘Ошибка ввода данных.Число должно быть от 1 до 12. Повторите ввод.');

end;

end.

 Закрепление материала.  Контрольные вопросы:   Как схематически выглядит алгоритм с неполным ветвлением? Как схематически выглядит алгоритм с вложенным ветвлением? Как схематически выглядит алгоритм с полным ветвлением? Как записывается условный оператор в полной форме? Как записывается условный оператор в неполной форме? Как записывается общий вид оператора case?

Закрепление материала. Контрольные вопросы:

  • Как схематически выглядит алгоритм с неполным ветвлением?
  • Как схематически выглядит алгоритм с вложенным ветвлением?
  • Как схематически выглядит алгоритм с полным ветвлением?
  • Как записывается условный оператор в полной форме?
  • Как записывается условный оператор в неполной форме?
  • Как записывается общий вид оператора case?
Задача 6 Напишите программу, которая считывает три целых числа (каждое с отдельной строки) и печатает 1, если среди них есть хотя бы одно число, большее удвоенной суммы двух других. Если таких чисел нет, то программа печатает 0. Программа должна выводить только 1 или 0. Известно, что каждое из исходных чисел по абсолютной величине не превосходит 1000.

Задача 6

Напишите программу, которая считывает три целых числа (каждое с отдельной строки) и печатает 1, если среди них есть хотя бы одно число, большее удвоенной суммы двух других. Если таких чисел нет, то программа печатает 0. Программа должна выводить только 1 или 0. Известно, что каждое из исходных чисел по абсолютной величине не превосходит 1000.

(b+c)*2)or (b(a+c)*2)or(c(a+b)*2) then writeln(1) else writeln(0); end. Обратно " width="640"

Задача 6 (ДР в формате ЕГЭ)

Program zadacha_6;

var a, b, c : integer;

begin

writeln (‘Введите значение a=');

readln(a);

writeln ('Введите значение b=');

readln(b);

writeln ('Введите значение c=');

readln(c);

if (a(b+c)*2)or (b(a+c)*2)or(c(a+b)*2) then writeln(1) else writeln(0);

end.

Обратно

Домашнее задание § 36 читать. Придумать пример разветвляющегося алгоритма.  Индивидуальные задания: Составить алгоритм нахождения наименьшего из двух элементов Составить алгоритм нахождения наименьшего из трёх элементов Составить алгоритм нахождения наибольшего из двух элементов Составить алгоритм нахождения наибольшего из трёх элементов

Домашнее задание

§ 36 читать.

Придумать пример разветвляющегося алгоритма.

Индивидуальные задания:

Составить алгоритм нахождения наименьшего из двух элементов

Составить алгоритм нахождения наименьшего из трёх элементов

Составить алгоритм нахождения наибольшего из двух элементов

Составить алгоритм нахождения наибольшего из трёх элементов

Использованная литература  и источники информации И.Г. Семакин и др. «Информатика и ИКТ», учебник для 9 класса, БИНОМ, Москва, 2011; Житкова О.А. Кудрявцева Е.К. «Справочные материалы по программированию на языке Паскаль», «ИНТЕЛЛЕКТ – ЦЕНТР», Москва, 2005; С.Н. Лукин, «Turbo Pascal 7.0», самоучитель для начинающих, «ДИАЛОГ – МИФИ», Москва, 2005; С.В. Вольский, П.А. Дмитриев «Turbo Pascal 7.0 для студентов и школьников», Наука и Техника, Санкт-Петербург, 2007; Н.Культин «Turbo Pascal 7.0 в задачах и примерах», БХВ – Петербург, Санкт-Петербург, 2005; http://yf.kemsu.ru

Использованная литература и источники информации

  • И.Г. Семакин и др. «Информатика и ИКТ», учебник для 9 класса, БИНОМ, Москва, 2011;
  • Житкова О.А. Кудрявцева Е.К. «Справочные материалы по программированию на языке Паскаль», «ИНТЕЛЛЕКТ – ЦЕНТР», Москва, 2005;
  • С.Н. Лукин, «Turbo Pascal 7.0», самоучитель для начинающих, «ДИАЛОГ – МИФИ», Москва, 2005;
  • С.В. Вольский, П.А. Дмитриев «Turbo Pascal 7.0 для студентов и школьников», Наука и Техника, Санкт-Петербург, 2007;
  • Н.Культин «Turbo Pascal 7.0 в задачах и примерах», БХВ – Петербург, Санкт-Петербург, 2005;
  • http://yf.kemsu.ru