Содержание
-
Алгоритмы с ветвлениями. Их реализация на языке программированияПАСКАЛЬ.
Яресько Виктория Викторовна учитель информатики и ИКТ МБОУ «Гимназия №1» г.о. Мытищи Московской области
-
Цели и задачи:
Ввести понятие ветвления. Рассмотреть виды ветвлений. Показать, как реализуются ветвящиеся алгоритмы на языке программирования Паскаль. Рассмотреть задачи с ветвящимися алгоритмами.
-
Понятие ветвления
Ветвление – форма организации действий, при которой в зависимости от условия выполняется одна, либо другая серия действий (команд, операторов). Ветвление позволяет менять порядок выполнения команд по результатам проверки некоторого условия. В команде ветвления в качестве условия может использоваться отношение неравенства между величинами.
-
Понятие ветвления
Ветвление является структурной командой. Его исполнение происходит в несколько шагов: проверка условия (выполнение логического выражения); выполнение команд на одной из ветвей.
-
Синтаксис языка программирования
У каждого человеческого языка есть своя грамматика, включающая в себя правила, по которым должны выстраиваться в цепочку элементы языка, чтобы получилось правильное предложение. Совокупность этих правил образует часть грамматики, называемую СИНТАКСИСОМ. В языках программирования тоже есть предложения. Такими предложениями являются операторы. Следовательно у языков программирования тоже должен быть свой синтаксис, который описывает правила, по которым записываются операторы языка, и из операторов составляется программа. После того, как человек запускает программу на выполнение, любая среда программирования прежде, чем действительно выполнить её, сначала проверит, нет ли в ней синтаксических ошибок, и если они есть, то программу выполнять не будет, а выдаст сообщение об ошибке.
-
Операции отношения или сравнения
-
Виды ветвлений:
неполное ветвление (обход), полное ветвление (альтернатива); вложенные ветвления; ветвление по ряду условий.
-
Неполное ветвление
К неполным ветвлениям относятся алгоритмы, выполняющие следующую структуру логического выражения: «Если … то …». Ложь Истина Условие Действие
-
Запись условного оператора на Паскале
Неполная форма оператораIf IFTHEN
-
Задача 1
Составьте блок-схему и программу упорядочения значений двух переменных x и y по возрастанию.
-
Решение задачи 1
Начало Ввод x,y x>y конец c:=x x:=y y:=c Вывод x,y НетДа
-
Решение задачи 1 (сортировка)
Алгоритм решения задачи: алгсортировка вещ x,y,c нач ввод x,y если x>y то c:=x x:=y y:=c кв выводx,y кон
-
Составной оператор
Этот пример иллюстрирует следующее правило Паскаля: Если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записать между служебными словами begin и end. Конструкция такого вида: begin end называется составным оператором.
-
Решение задачи (сортировка)
Составим программу: Program sorting; varx,y,c:real; begin writeln ('Введи два числа'); readln (x,y); if x>y then begin c:=x; x:=y; y:=c; end; writeln (x,',',y); end. обратно
-
Полное ветвление
Полное ветвление - алгоритм, в котором выполняется одно из двух действий, в зависимости от истинности условия. Ложь Истина Если условие истинно, то выполняется действие 1, а иначе выполняется действие 2. Условие Действие 2 Действие 1
-
Запись условного оператора на Паскале
Полная форма оператораIF IFTHENELSE Внимание! Перед ELSE точка с запятой не ставится!
-
Задача 2
Даны два числа a, b.Выберите большееиз них.
-
a>b c:=b c:=a начало Ввод a,b Вывод с конец НетДа
-
Алгоритм выбора большего из двух чисел,реализующий полное ветвление: алгБИД вещ a,b,c нач ввод a,b если a>b то c:=a иначе с:=b кв вывод c кон
-
Составим программу: program bid; vara,b,c:real; begin writeln('введите значения переменных a,b'); readln(a,b); if a>b then c:=a else c:=b; writeln(‘Большее число',' ',c:4:2) end. Обратно
-
Вложенное ветвление
В структуре вложенного ветвления следующая особенность: одна или обе ветви условия могут продолжаться не блоками вычислительных операций или ввода - вывода, а дополнительным блоком условия. Один из видов такого ветвления представлен на рисунке.
-
Условие 1 конец условие 2 Действие 2 Действие 1 условие 3 Действие 3 Действие 4 НетДа НетДа НетДа
-
Задача 3
Определите большее из трех чисел a, b, c.
-
Задача 3
Начало Ввод a, b, c a>b конец b>c a>c d:=c d:=b d:=с d:=а НетДа Нет Да НетДа Вывод d
-
Структура этого алгоритма – вложенные ветвления: алгБИТ вещ a, b, c,d нач ввод a, b, c если a>b то если a>с то d:=a иначе d:=с кв иначе если b>c то d:=b иначе d:=с кв кв вывод d кон
-
Составим программу, используя вложенные ветвления: program bit; var a,b,c,d:real; begin writeln('введите значения переменных a,b,c'); readln(a,b,c); if a>b then if a>c then d:=a else d:=b else if b>c then d:=b else d:=c; writeln ('Большее число',' ',d) end. Обратно
-
Сложные логические выражения
Условие, содержащее логические связки (и, или, нет), называется сложным условием. Условие, не содержащее логических связок, называется простым, или элементарным условием. С логическими связками (операциями) вы встречались, когда работали с базами данных и электронными таблицами.
-
Логические операции
-
Задача 4
Два прямоугольника заданы длинами сторон. Написать программу, после выполнения которой выясняется, можно ли первый прямоугольник целиком разместить во втором. (Рассмотреть только случай, когда соответствующие стороны прямоугольников параллельны.)
-
Задача 4
Начало Ввод длин сторон a1, b1, a2,b2, a1
-
Задача 4
Пользуясь блок-схемой, составим программу, в которой должно быть реализовано полное ветвление и сложное условие (см. блок-схему): Program Pryamoug; var a1, b1, a2, b2 : real; begin write ('Введите длину и ширину первого прямоугольника '); readln (a1, b1); write ('Введите длину и ширину второго прямоугольника '); readln(a2, b2); if ((a1
-
Ветвление по ряду условий (оператор варианта case)
Условный оператор (If) позволяет сделать выбор из двух вариантов: да/нет (истина/ложь). Для организации выбора из нескольких вариантов приходится использовать вложенные условные операторы (If), тогда алгоритм и программа могут оказаться очень сложными, или оператор выбора case.
-
Формат записи оператора case: сase of : ; … : ; else End Внимание! Единственный случай, когда перед словом ELSE можно ставить точку с запятой (;) это в операторе CASE!
-
Задача 5
Напишите программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае, если пользователь укажет недопустимое число, программа должна вывести сообщение «Ошибка ввода данных.Числодолжно быть от 1 до 12. Повторите ввод. ».
-
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?
-
Задача 6
Напишите программу, которая считывает три целых числа (каждое с отдельной строки) и печатает 1, если среди них есть хотя бы одно число, большее удвоенной суммы двух других. Если таких чисел нет, то программа печатает 0. Программа должна выводить только 1 или 0. Известно, что каждое из исходных чисел по абсолютной величине не превосходит 1000.
-
Задача 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 читать. Придумать пример разветвляющегося алгоритма. Индивидуальные задания: Составить алгоритм нахождения наименьшего из двух элементов Составить алгоритм нахождения наименьшего из трёх элементов Составить алгоритм нахождения наибольшего из двух элементов Составить алгоритм нахождения наибольшего из трёх элементов
-
Использованная литература и источники информации
И.Г. Семакин и др. «Информатика и ИКТ», учебник для 9 класса, БИНОМ, Москва, 2011; Житкова О.А. Кудрявцева Е.К. «Справочные материалы по программированию на языке Паскаль», «ИНТЕЛЛЕКТ – ЦЕНТР», Москва, 2005; С.Н. Лукин, «Turbo Pascal 7.0», самоучитель для начинающих, «ДИАЛОГ – МИФИ», Москва, 2005; С.В. Вольский, П.А. Дмитриев «Turbo Pascal 7.0 для студентов и школьников», Наука и Техника, Санкт-Петербург, 2007; Н.Культин «Turbo Pascal 7.0 в задачах и примерах», БХВ – Петербург, Санкт-Петербург, 2005; http://yf.kemsu.ru
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.