А.К. Малков, 201 3 1 Ветвление. Сочетание ветвлений и циклов. При изучении раздела «Алгоритмизация и программирование» курса Информатики и ИКТ.

Презентация:



Advertisements
Похожие презентации
А.К. Малков, Графика в Паскале. Циклы При изучении раздела «Алгоритмизация и программирование» курса Информатики и ИКТ.
Advertisements

Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Ветвления 8 класс. 2 Основные теоретические сведения Примеры решения задач.
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
ОДНОМЕРНЫЕ МАССИВЫ. РАБОТА С ЭЛЕМЕНТАМИ СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ.
Разветвляющиеся алгоритмы if Оператор условия if.
1 Программирование на языке Паскаль Ветвления. 2 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения:
1 Программирование на языке Паскаль Циклы. 2 Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов.
Программирование на Pascal. Темы Повторение. Составные логические условия Повторение. Составные логические условия Повторение. Составные логические условия.
Условный оператор. Определение линейного алгоритма. Линейный алгоритм – это алгоритм, этапы которого выполняются однократно и строго последовательно.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Тема урока Переменная. Тип данных. Ввод и вывод данных.
Циклы в языке программирования Pascal
Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
Оператор ветвления (условный оператор) позволяет изменить порядок выполнения операторов в зависимости от выполнения некоторого условия (истинности логического.
Операторы цикла с условием 9 класс Раздел: Основы алгоритмизации и программирование на языке Pascal.
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ.
1 Программирование на языке Паскаль Тема 4. Циклы.
Циклические программы Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
Транксрипт:

А.К. Малков, Ветвление. Сочетание ветвлений и циклов. При изучении раздела «Алгоритмизация и программирование» курса Информатики и ИКТ

А.К. Малков, Содержание 1.Ветвление. Полная и неполная команда.Ветвление. Полная и неполная команда. 2. Команда выбор.Команда выбор. 3. Оператор безусловного перехода Goto.Оператор безусловного перехода Goto. 4. Сочетание циклов и ветвлений.Сочетание циклов и ветвлений. 5. Самостоятельная работа по теме «Циклы. Ветвления».Самостоятельная работа по теме «Циклы. Ветвления».

А.К. Малков, Ветвление. Полная и неполная команда.

А.К. Малков, Тема урока: Ветвление. Полная и неполная команда. Девиз урока: Знание только тогда знание, когда оно добыто усилием собственной мысли, а не памятью. Л.Н.Толстой Цель нашего урока: Познакомить с командой ветвления, полной и неполной её командой. Научиться программировать алгоритмы разветвляющейся структуры.

А.К. Малков, Вопрос: Какой недостаток имеет цикл с параметром? Ответ: Как вы уже знаете, цикл со счётчиком имеет недостатки: параметр цикла либо увеличивается на единицу, либо уменьшается на единицу. Вопрос: Что содержит внешний цикл? Ответ: Внешний – содержит другой цикл Вопрос: Где содержится внутренний цикл? Ответ: Внутренний – содержащийся в теле другого цикла. Устная работа

А.К. Малков, Вопрос: Какие можно использовать циклы при создании внешних и внутренних циклов? Ответ: Могут представлять собой различные комбинации из циклов FOR, WHILE, REPEAT. Вопрос: Какая может быть глубина вложенности первого цикла в другой? Ответ: Глубина вложенности первого цикла в другой может быть любой и ограничивается только возможностями компьютера. Устная работа

А.К. Малков, Вопрос: Какие особенности вложенных циклов вы знаете? Ответ: Различные циклы не имеют пересечения. Обозначив цикл квадратной скобкой, можно схематически представить варианты взаимного расположения циклов: Устная работа

Построить четыре окружности с использованием цикла «Пока»: Новая тема А.К. Малков, А затем построить: 1. Постановка задачи. Исходными в данной задаче являются 4 соприкасающихся окружности. Требуется закрасить 1-ую и 3-ью красным цветом.

Новая тема А.К. Малков, Информационная модель. Выберем значения для x,y,r. Построим первую окружность. Увеличим параметр x:=x+100. Значения параметра y оставим без изменения. Построим вторую окружность. Увеличим параметр x:=x+100. Значения параметра y оставим без изменения. Построим третью окружность. Увеличим параметр x:=x+100. Значения параметра y оставим без изменения. Построим четвертую окружность. Конец.

Новая тема А.К. Малков, Компьютерная модель. Исходные данные: x,y,r. Выберем значения для x,y,r: x:=100; y:=200; r:=50; Построим первую окружность: circle(x,y,r); Увеличим параметр x:=x+100. Значения параметра y оставим без изменения. Построим вторую окружность x:=x+100; circle(x,y,r); и т.д.

Новая тема А.К. Малков, Используя цикл Пока, цыпочку действий построения окружностей можно записать так: x:=100; y:=200; r:=50; while x

Новая тема А.К. Малков, Вопрос: Как закрасить 1-ую и 3-ью окружности используя русские слова Если и ТО: Ответ: Если x=100 или x=300 то закрасить окружности, а иначе нарисовать не закрашенную окружность. Служебные слова произносятся и переводятся следующим образом: IF произносится «иф», переводится «если». THEN – «зен», «тогда».ELSE – «элис», «иначе».

Новая тема А.К. Малков, В нашем случае: if (x=100) or (x=300) then закрасить окружности; Фразу «закрасить окружности» можно на языке Паскаль заменить: setcolor(4); circle(x,y,r); setfillstyle(1,4); floodfill(x,y,4); Фразу «нарисовать не закрашенную окружность » можно на языке Паскаль заменить: setcolor(4); circle(x,y,r);

А.К. Малков, Окончательно программа выглядит следующим образом: Решение. program okrugnost; uses graph,crt; var gd,gm,y,x,r,i:integer; begin gd:=detect; initgraph(gm,gd,'c:\bp\bgi'); x:=100; y:=200; r:=50; Новая тема

А.К. Малков, while x

А.К. Малков, Теория: Определение. Разветвляющимся называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. Каждый подобный путь называется ветвью алгоритма. Признаком разветвляющегося алгоритма является наличие операций проверки условия. Различают два вида условий - простые и составные Оператор условного перехода имеет следующий вид: if then else ; Либо можно записать в столбик: if then else ; Работа данной конструкции: Если логическое выражение, выступающее в качестве условия, принимает значение False, то выполняются операторы, расположенные после else (серия 2), если True, операторы, следующие за then. Новая тема

А.К. Малков, Поскольку развилка может быть неполной, то возможна и неполная форма записи условного оператора: IF THEN серия; Можно записать и в столбик: IF THEN Оператор 1; Работа данной конструкции: Если логическое выражение, выступающее в качестве условия, принимает значение False, то происходит переход за оператор условного перехода, если True, выполняется оператор 1, следующие за then Новая тема

А.К. Малков, Здесь: - это переменная типа boolean или логическое выражение, которое может быть простым или сложным. Простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще называют операндами), связанных одним из знаков: - больше, чем... = - больше, чем... или равно - не равно = - равно Новая тема

А.К. Малков, Например, простыми отношениями являются следующие: x-y>10; k 11; мамапапа. Сложные отношения соединяются союзами и, или. Например, (x>0) или (y 0) и (y и - любой оператор (Writeln, Readln, оператор присваивания, if и т.д.) или несколько операторов, заключенных в "операторные скобки". Ветвь "else" может отсутствовать. Операторными скобками называется пара зарезервированных слов "begin... end". Если по логике решения задачи нужно выполнить серию из нескольких операторов, а Паскаль позволяет ставить только один, то эту серию заключают в операторные скобки. Замечание: Перед else «;» не ставится. Новая тема

Закрепление материала А.К. Малков, Исправьте программу таким образом, чтобы она строила следующую картинку: Ответ: if (x=200) or (x=400) then…

А.К. Малков, Задача 2. Как исправить программу, чтобы она выводила большее количество окружностей и могла закрашивать окружности стоящие на чётных, либо нечётных местах. Ответ: Изменить условие в данной программе, например, чтобы вывести 6 окружностей: setcolor(4); while x

А.К. Малков, Задача. Ввести целое число с клавиатуры, если оно равно 1, то построить точку. Если оно равно 2, то построить отрезок. Если оно равно 3, то построить окружность. В других случаях вывести надпись «Не должно таких чисел». Домашнее задание Учитель подводит итог урока, отвечает на возможные вопросы учеников.

А.К. Малков, Команда выбор.

А.К. Малков, Тема урока: Команда выбор. Девиз урока: Знание только тогда знание, когда оно добыто усилием собственной мысли, а не памятью. Л.Н.Толстой Цель урока: 1. Познакомить с командой выбор. 2. Научиться использовать данную команду при решении задач. 3. Знать отличие и сходство команды ветвления и команды выбора. 4. Уметь использовать данные команды при решении задач.

А.К. Малков, Вопрос: Какой вид имеет оператор условного перехода? Ответ: if then else ; Либо многострочная: if then else ; Вопрос: Поясните работу данной конструкции. Ответ: Работа данной конструкции: Если логическое выражение, выступающее в качестве условия, принимает значение False, то выполняются операторы, расположенные после else (серия 2), если True, операторы, следующие за then. Устная работа

А.К. Малков, Вопрос: Еще какой вид имеет оператор условного переход? Ответ: IF THEN серия; Можно записать и в столбик: IF THEN Оператор 1; Вопрос: Поясните работу данной конструкции. Ответ: Если логическое выражение, выступающее в качестве условия, принимает значение False, то происходит переход за оператор условного перехода, если True, выполняется оператор 1, следующие за then. Устная работа

А.К. Малков, Вопрос: Какие бывают условия? Приведите пример. Ответ: Условия бывают простые и составные. Например, простыми отношениями являются следующие: x-y>10; k 11; мамапапа. Сложные отношения соединяются союзами и, или. Например, (x>0) или (y 0) и (y

А.К. Малков, Задача. Ввести целое число с клавиатуры, если оно равно 1, то построить точку. Если оно равно 2, то построить отрезок. Если оно равно 3, то построить окружность. В других случаях вывести надпись «Не должно таких чисел». Решение: 1. Постановка задачи. Исходными в данной задаче является значение числа. Обозначим через Х исходное число. Требуется в зависимости от значения Х вывести одну из геометрических фигур. При Х=1 «Точку». При Х=2 «Отрезок». При Х=3 «Окружность», либо вывести надпись «Не должно таких чисел», в зависимости от других значениях Х. Разбор домашней задачи

А.К. Малков, Информационная модель. Введём значения для x. При х=1 построим точку. При х=2 построим отрезок. При х=3 построим окружность. При x 3 вывести надпись «Не должно таких чисел». 3. Компьютерная модель. Исходные данные: x. Введём значения для x: writelnvvedite x; Readln(x); При х=1 построим точку: if x=1 then putpixel(300,200,15); При х=2 построим отрезок: If x=2 then line(100,200,100,300); При х=3 построим окружность: If x=3 then circle(400,200,50); При x 3 вывести надпись «Не должно таких чисел» If (x 3) then writeln (ne dolgno takix zisel); Разбор домашней задачи

А.К. Малков, Окончательно: program ur18vibo; uses graph; var gd,gm,y,x,r,i:integer; begin gd:=detect; initgraph(gm,gd,'c:\bp\bgi'); writeln('vvedite x'); readln(x); if x=1 then putpixel(300,200,15); if x=2 then line(100,200,100,300); if x=3 then circle(400,200,50); if (x 3) then writeln('ne dolgno takix zisel'); readln; closegraph; end. Разбор домашней задачи

А.К. Малков, Теория: Оператор Case служит для реализации алгоритма ветвления не по 2-м направлениям, как в if ("then" и "else"), а по многим. Общий вид: Case of : ;... : else end; Внимание! Перед "else" нет ";" Новая тема

А.К. Малков, Комментарии: 1), проверяемое в Case, должно иметь значение дискретного типа, например, inteder или char; 2) может записываться разными способами: а) единичное, например'а': ; или 1234: ; б) список, например 'a', 'A', 'я', 'Я': ; или 3, 45, 127: ; в) интервал, границы которого разделяются "..", например 'a'..'я': ; или : ; 3) - любой простой или составной; 4) ветвь "else" может отсутствовать. Работа данной конструкции: Оператор варианта выбирает для исполнения тот ОПЕРАТОР, одно из значений которого равно текущему значению выражения. Если ни одно из значений не равно текущему значению выражения, то никакие операторы не выполняются, либо выполняются операторы, следующие за зарезервированным словом ELSE (если такое имеется). Новая тема

А.К. Малков, Решение той же задачи с использованием вложенных ветвлений: program ur18v2; uses graph; var gd,gm,y,x,r,i:integer; begin gd:=detect; initgraph(gm,gd,'c:\bp\bgi'); writeln('vvedite x'); readln(x); if x=1 then putpixel(300,200,15) else if x=2 then line(100,200,100,300) else if x=3 then circle(400,200,50) else writeln('ne dolgno takix zisel'); readln; closegraph; end. Закрепление

А.К. Малков, Решим туже задачу с помощью команды «Выбор». Программа: program ur18v1; uses graph; var gd,gm,y,x,r,i:integer; begin gd:=detect; initgraph(gm,gd,'c:\bp\bgi'); writeln('vvedite x'); readln(x); case x of 1: putpixel(300,200,15); 2: line(100,200,100,300); 3: circle(400,200,50) else writeln('ne dolgno takix zisel'); end; readln; closegraph; end. Закрепление материала

А.К. Малков, Подведение итога занятия. До сих пор мы использовали в основном линейные алгоритмы, т.е. алгоритмы, в которых все этапы решения задачи выполняются строго последовательно. Сегодня мы познакомились с командой «Выбор», рассмотрели как она работает. Домашнее задание: конспект. Задача. Вырабатывается целое случайное число Х из интервала [1;10]. Если данное число чётное, то вывести в середине экрана чётное число вертикальных точек, а иначе в середине экрана строится нечётное число горизонтального ряда вертикальных отрезков. Замечание: Строка Trunc(random(10)+1) вырабатывает случайное число. Функция random(10) вырабатывает случайное число в интервале от 0 до 9. Функция round выделяет целую часть числа - 5, (округление происходит по правилам математики, то есть число равно ближайшему целому; округленное число имеет тип данных longint). Trunc(x) – вырабатывает число, равное целой части Х (округление происходит путём отбрасывания дробной части числа Х; усечённое число имеет тип данных longint) Домашнее задание

А.К. Малков, Оператор безусловного перехода Goto.

А.К. Малков, Тема урока: Оператор безусловного перехода Goto. Девиз урока: Знание только тогда знание, когда оно добыто усилием собственной мысли, а не памятью. Л.Н.Толстой Цель урока: 1. Познакомить с оператором Goto. 2. Научиться использовать данную команду при решении задач.

А.К. Малков, Вопрос: Для чего служит оператор Case? Ответ: Оператор Case служит для реализации алгоритма ветвления не по 2-м направлениям, как в if ("then" и "else"), а по многим. Вопрос: Какой его общий вид? Ответ: Общий вид: Case of : ;... : else end; Внимание! Перед "else" нет ";" Устная работа

А.К. Малков, Вопрос: Что означает «выражение», «значение», «оператор». Ответ: Комментарии: 1), проверяемое в Case, должно иметь значение дискретного типа, например, inteder или char; 2) может записываться разными способами: а) единичное, например'а': ; или 1234: ; б) список, например 'a', 'A', 'я', 'Я': ; или 3, 45, 127: ; в) интервал, границы которого разделяются "..", например 'a'..'я': ; или : ; 3) - любой простой или составной; 4) ветвь "else" может отсутствовать. Устная работа

А.К. Малков, Вопрос: Как работает данная конструкция? Ответ: Работа данной конструкции: Оператор варианта выбирает для исполнения тот ОПЕРАТОР, одно из значений которого равно текущему значению выражения. Если ни одно из значений не равно текущему значению выражения, то никакие операторы не выполняются, либо выполняются операторы, следующие за зарезервированным словом ELSE (если такое имеется). Устная работа

А.К. Малков, Задача. Ввести целое число с клавиатуры, если оно равно 1, то построить точку. Если оно равно 2, то построить отрезок. Если оно равно 3, то построить окружность. В других случаях вывести надпись «Не должно таких чисел». Решение: 1. Постановка задачи. Исходными в данной задаче является значение числа. Обозначим через Х исходное число. Требуется в зависимости от значения Х вывести одну из геометрических фигур. При Х=1 «Точку». При Х=2 «Отрезок». При Х=3 «Окружность», либо вывести надпись «Не должно таких чисел», в зависимости от других значениях Х. Разбор домашней задачи

А.К. Малков, Информационная модель. Введём значения для x. При х=1 построим точку. При х=2 построим отрезок. При х=3 построим окружность. При x 3 вывести надпись «Не должно таких чисел». 3. Компьютерная модель. Исходные данные: x. Введём значения для x: writelnvvedite x; Readln(x); При х=1 построим точку: if x=1 then putpixel(300,200,15); При х=2 построим отрезок: If x=2 then line(100,200,100,300); При х=3 построим окружность: If x=3 then circle(400,200,50); При x 3 вывести надпись «Не должно таких чисел» If (x 3) then writeln (ne dolgno takix zisel); Разбор домашней задачи

А.К. Малков, Окончательно: program ur18vibo; uses graph; var gd,gm,y,x,r,i:integer; begin gd:=detect; initgraph(gm,gd,'c:\bp\bgi'); writeln('vvedite x'); readln(x); if x=1 then putpixel(300,200,15); if x=2 then line(100,200,100,300); if x=3 then circle(400,200,50); if (x 3) then writeln('ne dolgno takix zisel'); readln; closegraph; end. Разбор домашней задачи

А.К. Малков, В языке принят естественный порядок выполнения программы: последовательный. Рассмотренные выше операторы if и case осуществляют переход к выполнению соответствующего оператора в зависимости от выполнения условия или предложенного выбора. Однако в практике программирования задач возникает необходимость безусловного перехода для выполнения нужной последовательности операторов. Например, необходимо обойти участок программы, а вернуться к нему позже. Для этого предназначен оператор безусловного перехода, который имеет следующую форму записи: goto метка; Метка представляет собою число без знака в диапазоне либо последовательность латинских букв и цифр. Перед использованием метка должна быть объявлена в разделе описания меток, который сразу следует за разделом описания используемых модулей. Новая тема

А.К. Малков, Решение той же задачи с использованием вложенных ветвлений. Ввести целое число с клавиатуры, если оно равно 1, то построить точку. Если оно равно 2, то построить отрезок. Если оно равно 3, то построить окружность. В других случаях вывести надпись «Не должно таких чисел». program ur18v2; uses graph; var gd,gm,y,x,r,i:integer; begin gd:=detect; initgraph(gm,gd,'c:\bp\bgi'); writeln('vvedite x'); readln(x); if x=1 then putpixel(300,200,15) else if x=2 then line(100,200,100,300) else if x=3 then circle(400,200,50) else writeln('ne dolgno takix zisel'); readln; closegraph; end. Закрепление материала

А.К. Малков, Решим туже задачу с помощью команды «Выбор». Программа: program ur18v1; uses graph; var gd,gm,y,x,r,i:integer; begin gd:=detect; initgraph(gm,gd,'c:\bp\bgi'); writeln('vvedite x'); readln(x); case x of 1: putpixel(300,200,15); 2: line(100,200,100,300); 3: circle(400,200,50) else writeln('ne dolgno takix zisel'); end; readln; closegraph; end. Закрепление материала

А.К. Малков, Задача 2. Программа выполняет на экране следующие построения: а) при нажатии клавиши «о» - рисуется отрезок; б) при нажатии клавиши «t» - рисуется точка; в) при нажатии клавиши «r» - рисуется рамка. Решение. Функция HALT, позволяет завершить работу программы. readkey – считывает символ с клавиатуры. gotoxy – устанавливает курсор в позицию экрана с координатами (x,y). keypressed –возвращает значение истина, если клавиша на клавиатуре нажата, и ложь в противном случае. uses graph,crt; var gd,gm:integer; c:char; label 1; begin initgraph(gd,gm,'c:\bp\bgi'); setcolor(15); outtextxy(10,10,'o_otresok_t_tozka_r_ramka'); outtextxy(10,20,'vixod_Esc'); 1: c:=readkey; if c=chr(27) then halt; IF c = 'o' THEN line(100,100,100,200); IF c = 't' THEN putpixel(340,240,13); IF c = 'r' THEN rectangle(200,300,290,400); GOTO 1; end. Закрепление материала

А.К. Малков, Подведение итога занятия. Сегодня мы познакомились с командой безусловного перехода. В практике программирования задач возникает необходимость безусловного перехода для выполнения нужной последовательности операторов. Например, необходимо обойти участок программы, а вернуться к нему позже. Для этого предназначен оператор безусловного перехода, который имеет следующую форму записи: goto метка; Метка представляет собою число без знака в диапазоне либо последовательность латинских букв и цифр. Перед использованием метка должна быть объявлена в разделе описания меток, который сразу следует за разделом описания используемых модулей. Выставление оценок. Домашнее задание: конспект, подготовиться к самостоятельной работе. Домашнее задание

А.К. Малков, Сочетание циклов и ветвлений.

А.К. Малков, Тема урока: Сочетание циклов и ветвлений. Девиз урока: Знание только тогда знание, когда оно добыто усилием собственной мысли, а не памятью. Л.Н.Толстой Цель урока: 1. Рассмотреть задачу с использованием циклов и ветвлений. 2. Уметь использовать ветвление и циклы при решение задач.

А.К. Малков, Вопрос: Какой вид имеет оператор условного перехода? Ответ: if then else ; Либо многострочная: if then else ; Вопрос: Поясните работу данной конструкции. Ответ: Работа данной конструкции: Если логическое выражение, выступающее в качестве условия, принимает значение False, то выполняются операторы, расположенные после else (серия 2), если True, операторы, следующие за then. Устная работа

А.К. Малков, Вопрос: Еще какой вид имеет оператор условного переход? Ответ: IF THEN серия; Можно записать и в столбик: IF THEN Оператор 1; Вопрос: Поясните работа данной конструкции. Ответ: Если логическое выражение, выступающее в качестве условия, принимает значение False, то происходит переход за оператор условного перехода, если True, выполняется оператор 1, следующие за then. Вопрос: Что называется циклом с параметром? Ответ: Повторение определенного набора действий заданное число называется циклом с параметром. Устная работа

А.К. Малков, Вопрос: Какой общий вид оператора с параметром? Ответ: Общий вид оператора цикла: For := to do ; Вопрос: Какой порядок выполнения оператора FOR? Ответ: 1. Вычисляются начальное и конечное значение. 2. Параметру цикла присваивается начальное значение, если оно не больше конечного. 3. Выполняются операторы цикла (тело цикла). 4. Значение параметра цикла увеличивается на один шаг. 5. Проверяется условие: если значение параметра цикла не больше конечного, то происходит переход к п.3, иначе - конец цикла и продолжение программы. Устная работа

А.К. Малков, Вопрос: Для чего служит оператор While? Ответ: Оператор While служит для реализации циклического алгоритма с предусловием. Вопрос: Какой общий вид оператора While? Ответ: Общий вид: While do Вопрос: Как работает данная структура? Ответ: Порядок выполнения цикла While. Проверяется условие: если оно истинно, то выполняются операторы тела цикла. Если ложно, то происходит выход из цикла. Устная работа

А.К. Малков, Вопрос: Какие особенности цикла While вы знаете? Ответ: 1. Число проходов цикла заранее неизвестно, минимальное количество – Выход из цикла, если условие ложно. 3. Условие может быть простым или сложным. 4. Тело цикла состоит из одного оператора. Если по логике решения задачи нужно в цикле выполнить несколько операторов, то они заключаются в операторные скобки. 5. В теле цикла обязательно должно содержаться изменение переменной, проверяемой в условии. Устная работа

А.К. Малков, Вопрос: Структура и работа оператора Repeat? Ответ: Общий вид:Repeat ;... Until ; Операторы в теле цикла записываются через «;» Перед «Until» точка с запятой не ставится. Порядок выполнения цикла Repeat 1. Выполняются операторы тела цикла. 2. Проверяется условие: если оно истинно, то происходит выход из цикла, если ложно, то еще раз выполняется тело цикла. Вопрос: Какие особенности цикла Repeat вы знаете? Ответ: Число проходов цикла заранее неизвестно, минимальное количество – Выход из цикла, если условие истинно. 2. Условие может быть простым или сложным. 3. Тело цикла может состоять из нескольких операторов. 4. В теле цикла обязательно должно содержаться изменение переменной, проверяемой в условии. Устная работа

А.К. Малков, Вопрос: Для чего служит оператор Case? Ответ: Оператор Case служит для реализации алгоритма ветвления не по 2-м направлениям, как в if ("then" и "else"), а по многим. Вопрос: Какой общий вид оператора? Ответ: Общий вид: Case of : ;... : else end; Внимание! Перед "else" нет "; Вопрос: Как работает данная конструкция? Ответ: Работа данной конструкции: Оператор варианта выбирает для исполнения тот ОПЕРАТОР, одно из значений которого равно текущему значению выражения. Если ни одно из значений не равно текущему значению выражения, то никакие операторы не выполняются, либо выполняются операторы, следующие за зарезервированным словом ELSE (если такое имеется). Устная работа

А.К. Малков, Задача. Вырабатывается целое случайное число Х из интервала [1;10]. Если данное число чётное, то вывести в середине экрана чётное число вертикальных точек, а иначе в середине экрана строится нечётное число горизонтального ряда вертикальных отрезков. Замечание: Строка Trunc(random(10)+1) вырабатывает случайное число. Функция random(10) вырабатывает случайное число в интервале от 0 до 9. Функция round выделяет целую часть числа - 5, (округление происходит по правилам математики, то есть число равно ближайшему целому; округленное число имеет тип данных longint). Trunc(x) – вырабатывает число, равное целой части Х (округление происходит путём отбрасывания дробной части числа Х; усечённое число имеет тип данных longint) Разбор домашней задачи

А.К. Малков, Постановка задачи. Исходными в данной задаче является значение целого числа Х из интервала [1;10]. Результат: Либо «Чётное число вертикальных точек»; Либо «Нечётное число горизонтально расположенных вертикальных отрезков» 2. Информационная модель. Определить целое число Х из отрезка [1;10]. Если Х чётное число, то построить чётное число вертикальных точек, а иначе нечётное число горизонтально расположенных вертикальных отрезков. Разбор домашней задачи

А.К. Малков, Компьютерная модель. Исходные данные: x. X:= Trunc(random(10)+1; Уточним: Если Х чётное число, то построить чётное число вертикальных точек в середине экрана, а иначе нечётное число горизонтально расположенных вертикальных отрезков в середине экрана. If x mod 2=0 then Begin Построить чётное число вертикальных точек в середине экрана; End Else Begin Построить нечётное число горизонтально расположенных вертикальных отрезков в середине экрана; End Readln; End. Разбор домашней задачи

А.К. Малков, Уточним: Построить чётное число вертикальных точек в середине экрана; Пусть (x1;y1) – координаты точки. Возьмём x1:=320; y1:=240. Построим точку: putpixel(x1,y1,15). Увеличим y1:=y1+30. Построим точку: putpixel(x1,y1,15). Увеличим y1:=y1+30. Построим точку: putpixel(x1,y1,15) и т.д. до тех пор, пока не построим последнюю точку. Пусть I номер выводимой точки. I изменяется от 1 до Х. Тогда нашу последовательность действий можно записать так: x1:=320; y1:=240; For i:=1 to x do Begin putpixel(x1,y1,15); y1:=y1+30; end; Разбор домашней задачи

А.К. Малков, Уточним: Построить нечётное число горизонтально расположенных вертикальных отрезков в середине экрана; Пусть (x1,y1) координаты начала отрезка: X1:=320; y1:=120. X1:=320; y1:=y1+120 – координаты конца отрезка. Постоим первый отрезок: line(x1,y1,x1,y1); Увеличим x1:=x1+30; Построим второй отрезок: line(x1,y1,x1,y1); и т.д. до тех пор, пока не построим последний отрезок. Пусть I номер выводимой точки. I изменяется от 1 до Х Тогда нашу последовательность действий можно записать так: x1:=320; y1:=120; For i:=1 to x do Begin line(x1,y1,x1,y1+120); x1:=x1+30; end; Разбор домашней задачи

А.К. Малков, Окончательно: program ur18v1; uses graph; var gd,gm,y,x,y1,x1,i:integer; begin gd:=detect; initgraph(gm,gd,'c:\bp\bgi'); writeln('vvedite x'); randomize; x:=trunc(random(10)+1); writeln(x); if x mod 2=0 then begin x1:=320; y1:=120; Разбор домашней задачи

А.К. Малков, for i:=1 to x do begin putpixel(x1,y1,15); y1:=y1+30; end; end else begin x1:=200;y1:=120; for i:=1 to x do begin line(x1,y1,x1,y1+120); x1:=x1+30; end; readln; closegraph; end. Разбор домашней задачи

А.К. Малков, Задача. Целое число Х вырабатывается с помощью датчика случайных чисел из [1;3]. Вывести меню: Какой рисунок желаете? 1. Квадрат 2. Треугольник 3. «Крестик» В зависимости от значения Х, вывести один из этих объектов. Решить данную задачу с помощью команды «Выбор», а затем решить задачу с помощью вложенных ветвлений. Закрепление материала

А.К. Малков, Подведение итога занятия. Выставление оценок за урок. Оценить работу класса в целом Домашнее задание: конспект, подготовиться к самостоятельной работе. Домашнее задание

А.К. Малков, Самостоятельная работа по теме «Циклы. Ветвления».

А.К. Малков, Замечание. Оценка «3» одно задание 1-го уровня. Оценка на «4» одно из заданий 2-го уровня, на «5» одно задание 3-го уровня. Задания 1-го уровня сложности: 1. Составьте программу, вычерчивающую по выбору графические элементы: а)отрезок длиной 50 точек, б)отрезок длиной 150 точек. 2. Составьте программу, которая при нажатии клавиши «д», при нажатии клавиши «н»-ночь рисует «луну». 3. Составьте программу, которая при нажатии клавиши «пробел» одну половину экрана красит в белый цвет, а вторую в чёрный. Задания 2-го уровня сложности: 1. Составьте программу, в которой из меню выбирается один из четырёхугольников: -параллелограмм, -прямоугольник, -ромб, -квадрат и строится изображение заказанного вида. 2. Программа предлагает на выбор один из многогранников: - призму, -куб, -пирамиду и строит соответствующее изображение. 3. Изобразите на экране n- вертикальных отрезков. Задания 3 уровня сложности. 1. Программа выполняет на экране следующие построения: а)при нажатии клавиши «с»-рисуется прямоугольник, б)при нажатии клавиши «к»-рисуется треугольник, в)при нажатии клавиши «о»-рисуются два прямоугольника. Как вы, догадались, получается изображение домика: «с»-стена, «к»-крыша, «о»-окна. Дополните предложенное изображение дома новыми деталями по вашему усмотрению. 2. «Мишень». На экране изображена мишень. Играющий вводит координаты точки, стараясь попасть в цель (центр мишени), на экране высвечиваются полученные очки. Самостоятельная работа

А.К. Малков,