Программирование разветвляющихся алгоритмов условный оператор. Программирование разветвляющихся алгоритмов. Многообразие способов записи ветвлений

Viber OUT 19.04.2022
Viber OUT
Тема урока : Программирование разветвляющихся алгоритмов. Условный оператор.

Учебник: Босова Л. Л. Информатика: учебник для 8 класса – М. : БИНОМ. Лаборатория знаний, 2014. – 160 с. : ил.

Тип урока: урок изучения нового материала.

Цели урока :

    обучающая : организовать деятельность обучающихся по ознакомлению с синтаксисом условного оператора (оператора if ); создать условия для формирования у обучающихся умения использовать оператор if при написании программ;

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

    воспитывающая : способствовать формированию самостоятельности при решении задач; способствовать сплочению коллектива, формированию уважительного отношения друг к другу.

Формируемые универсальные учебные действия (УУД) :

    Личностные УУД :

    1. фантазия и воображение при выполнении учебных действий;

      желание выполнять учебные действия.

    Познавательные УУД :

    1. логические действия и операции;

      создание и преобразование моделей и схем для решения задач.

    Коммуникативные УУД :

    1. формулирование собственного мнения и позиции.

    Регулятивные УУД :

    1. планирование своих действий в соответствии с поставленной задачей и условиями ее реализации.

Оборудование : персональный компьютер (ПК), мультимедийный проектор, экран.

Программные средства : презентация «Программирование разветвляющихся алгоритмов. Условный оператор».

План урока

Ход урока.

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

Приветствие, проверка подготовленности к учебному занятию, организация внимания детей.

Включаются в деловой ритм урока.

2. Актуализация знаний

Здравствуйте, ребята! Сегодня мы переходим к изучению синтаксиса условного оператора в языке Pascal .

Запишите сегодняшнюю дату и тему сегодняшнего урока: «Программирование разветвляющихся алгоритмов. Условный оператор».

Теперь повторим материал из раздела «Алгоритмизация» и предыдущих занятий:

Какую алгоритмическую конструкцию называют ветвлением;

Какие формы ветвления вы знаете;

Изобразите блок-схемы полной и сокращенной форм ветвления;

Как записываются логические функции И, ИЛИ, НЕ в языке Pascal .

(Отвечают на вопросы)

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

Существуют полная и сокращенная формы ветвления.

Блок-схемы:

AND, OR, NOT соответственно.

3. Изучение нового материала

А теперь рассмотрим, какой синтаксис имеют операторы ветвления в языке Pascal . Для начала я предлагаю вам заготовить таблицу из двух колонок. Колонки таблицы назовите «Полная форма условного оператора» и «Сокращенная форма условного оператора». Теперь в соответствующие колонки занесите блок-схемы полной и сокращенной форм ветвления, которые изображены на доске.

Ниже запишем общий вид полной и сокращенной форм условного оператора.

Полная форма имеет следующий синтаксис:

if <условие>

then <оператор 1>

else <оператор 2>;

if then , после которого записывается оператор, который выполнится в случае истинности условия. Затем записывается служебное слово else , после которого записывается оператор, который выполнится в том случае, если условие окажется ложным.

Отметьте в тетрадях, что перед служебным словом else знак «;» не ставится.

Краткая форма условного оператора имеет следующий синтаксис:

if <условие>

then <оператор 1>;

Сначала записывается служебное слово if , затем – условие, от истинности которого зависит выполнение той или иной ветки условного оператора. После условия записывается служебное слово then , после которого записывается оператор, который выполнится в случае истинности условия.

Обратите внимание, что если в результате проверки условие окажется ложным, то условный оператор в краткой форме просто будет пропущен, и программа перейдет к выполнению следующих за ним операторов. Для полной формы условного оператора такое утверждение не верно – он выполнится всегда (будет выполнен оператор одной из веток условного оператора).

Также отметьте, что условие в условном операторе – это простое (записанное с помощью операций отношения) или сложное (записанное с помощью логических операций) логическое выражение.

(Составляют таблицу)

if <условие>

then <оператор 1>

else <оператор 2>;

if <условие>

then <оператор 1>;

Перед else знак «;» не ставится!

(Записывают в тетрадях)

Условие в условном операторе – это простое (записанное с помощью операций отношения) или сложное (записанное с помощью логических операций) логическое выражение.

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

Рассмотрим с вами следующую задачу (запишите её условие в своих тетрадях): пользователь вводит три различных числа, среди которых необходимо найти минимальное и вывести его на экран.

Давайте попробуем изменить прошлый алгоритм для решения этой задачи так, чтобы применить цикл с постусловием. Пока я буду набирать задачу в редакторе, записывайте её решение у себя в тетради. [ Совместно с обучающимися решаю задачу на компьютере в IDE, попутно решение проецируется на экран ].

Список возможных вопросов обсуждения задачи.

1) Сколько переменных нам необходимо описать?

2) Как последовательно найти минимальный элемент среди известных элементов?

Рассмотрим с вами следующий фрагмент кода:

a:=11;

b:=a div 3;

a:=a-b;

if a*b mod 2 = 0

then writeln(a*b)

else writeln(b-a);

Какими будут значения переменных a и b после выполнения этой последовательности операторов? Что будет выведено на экран?

А теперь пересаживайтесь за компьютеры и выполните следующие задания самостоятельно.

1) Найти значение функции y(x) и вывести его на экран с точностью до тысячных: . Значение x вводится с клавиатуры.

2) Написать программу, определяющую, принадлежит ли точка A(x , y ) закрашенной области, в том числе и границе области:

Записывают условие в тетрадях.

Участвуют в обсуждении задачи, записывают решение в своих тетрадях.

program minimum;

var

a, b, c, min: real;

begin

read(a, b, c);

min:=a;

if b < min then min:=b;

if c < min then min:=c;

writeln (" Min -> ", min );

end .

(Отвечают на вопросы)

a = 8, b = 3. На экран будет выведено число 24.

Самостоятельно оформляют решение задач на компьютере.

Код программы к задаче 1:

program func ;

var

x, y: real;

begin

read(x);

if x <= 5 then

y:=x*x*x+2*x*x-sqrt(5-x)

else

y:=sqrt((x+1)/(3*x*x*x-x));

writeln("y(", x, ") = ", y:0:3);

end .

Код программы к задаче 2:

program point;

var

x, y: real;

begin

readln(x, y);

if (x >= -1) and (x <= 3) and (y >= -2) and (y <= 4) then

writeln ("Точка принадлежит области")

else

writeln ("Точка не принадлежит области");

end.

5. Подведение итогов

Итак, чему вы научились в течение сегодняшнего занятия?

Что представляет собой условие в условном операторе?

Мы изучили синтаксис полной и сокращенной формы условного оператора.

Простое или сложное логическое выражение.

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

П. 3.5.

Задачи:

1) Даны три отрезка длиной a, b, c. Проверить, существует ли треугольник с такими сторонами. Если да, то вывести на экран сообщение «Треугольник существует!», найти его площадь и вывести её на следующей строке; если нет, то вывести на экран сообщение «Треугольника не существует».

2) Задача № 14 (учебник 2012 г., стр. 205)

Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. Напишите программу, которая по введенным координатам полей (k , p ) и ( m , n ) определяет, являются ли эти поля полями одного цвета.

Пример входных данных

Пример выходных данных

2 2

3 3

Поля одного цвета

2 3

3 3

Поля разного цвета

2 7

5 4

Поля одного цвета

Записывают в дневниках д/з.

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

Условный оператор

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

Краткая форма оператора ф. Краткая форма условного оператора записывается следующим образом:

где - это выражение логического типа, про которое можно сказать, что оно «истина» или «ложь» (фактически, это вопрос, предполагающий только 2 варианта ответа - «Да» или «Нет»), В зависимости от (от ответа на вопрос) происходит дальнейшее выполнение программы.

Описание работы краткой формы оператора ф. Оператор И” в краткой форме работает следующим образом:

  • вычисляется выражение, записанное в условии (формулируется ответ на вопрос, записанный в условии);
  • если получили результат - «истина» (не равно 0 - ответ «Да»), то выполняется;
  • если «ложь» (равно 0 - ответ «Нет»), то выполняется следующая за условным оператором строка программы.

На схеме алгоритма краткая форма ії представлена следующим образом (рис. 4.1).

Рис. 4.1.

Пример программы с краткой формой оператора 1/. Вычислить ш = тт(с,б).

1. Схема алгоритма

Пояснение. Входными данными являются переменные с и б. После ввода входных данных (переменных с и б) переменной ш (предполагаемый минимум) присваивается значение переменной с. Затем проверяется условие б

2. Программа

#include //подключ, стандартной библиотеки

//ввода-вывода

int main () { //заголовок функции main(9

int с, d, m; //описание переменных с, d, m типа int

printf ("Введите через пробел с и d "); /* вывод на экран

приглашения к вводу с и d и перевод курсора на начало следующей строки экрана */ scanf (" %d%d" , &с, &d) ; //ввод значений переменных с и d

m=c; //оператор присваивания переменной m значения переменной с

if (d //если d

m=d; //то присваиваем переменной m значение переменной d

printf("m=%d ",m);

//вывод m и перевод курсора на начало следующей строки экрана getchar () ;

Полная форма оператора if. Полная форма условного оператора записывается следующим образом:

; else ; if и else - ключевые слова;

Это выражение логического или арифметического типа, про которое можно сказать, что оно «истина» (арифметическое выражение не равно нулю) или «ложь» (арифметическое выражение равно нулю) - фактически, это вопрос, предполагающий только 2 варианта ответа - «Да» или «Нет». В зависимости от происходит дальнейшее выполнение программы.

Оператор, который выполняется, если условие истинно (не равно нулю);

Оператор, который выполняется, если условие ложно (равно нулю).

Условный оператор выполняется следующим образом:

  • сначала проверяется;
  • если истинно (значение выражения, представляющего собой условие, не равно 0), то выполняется;
  • если условие ложно (значение выражения, представляющего собой условие, равно 0), то выполняется.

На схеме алгоритма полная форма ії представлена следующим образом (рис. 4.2).

Рис. 4.2.

х + 0,5, если х

Задача 2. Дано х. Вычислить у -

- + 1, если х > 0,6.

1. Схема алгоритма


Пояснение. Входным данным является переменная X. Перед вычислением У проверяется условие «X

2. Программа

ttinclude

main () //описание переменных х, у типа double

scanf("%lf",&x); if (x

х

//ввод значения переменной х

//если х//то вычисляем у=х+0.5 //иначе вычисляем у=х/2+1

printf("y=%lf ",у);

//остановка работы программы до нажатия любой клавиши

Пояснение. Так как у вычисляется по одной из двух формул в зависимости от значения х, то в программе используется условный оператор if. После вычисления у по одной из формул значение у выводится на экран по форматной спецификации %lf, так как у имеет тип

В качестве одного из операторов, «встроенных» в условный оператор, можно также использовать новый условный оператор.

Задача 3. Вычислить значение у: - 2, если х

х + 4, если х > -210.

1. Схема алгоритма


Пояснение. Входным данным является X. Перед вычислением у проверяется условие «X

то происходит вычисление значения У по формуле У = 4 X - 2 (X -2). После вычисления У (по одной из формул) на экран выводится результат (значение У).

2. Программа

double x, у; printf("Введите

scant("%lf",&x); if (x

//подключ, стандарт, библиотеки

//ввода-вывода //заголовок функции main(9 //описание переменных х, у типа double

//вывод на экран приглашения к вводу переменной х

//ввод значения переменной х

//если х//то вычисляем у=4 * х+2 //иначе если х//то вычисляем у=10*х+5 //иначе вычисляем у = х+4

printf("y=%lf ",у);

//выводу и перевод курсора на начало следующей строки экрана get char () ; //остановка работы программы до нажатия любой

клавиши

Пояснение. Так как у вычисляется по одной из трех формул в зависимости от значения х, то в программе используются два условных оператора if (с вложением). После ввода значения х с клавиатуры выполняется проверка условия «х

Несколько операторов (блоки операторов) в операторе if. Если по одной или обеим ветвям условного оператора необходимо использовать несколько операторов, то они объединяются в блок - перед первым ставится открывающаяся фигурная скобка, после последнего - закрывающаяся фигурная скобка

Пример 1. Даны а, Ь, с - коэффициенты квадратного уравнения ах 2 + Ьх+ с = 0. Найти корни этого уравнения или вывести сообщение «корней нет», считая, что а Ф 0.

1. Схема алгоритма

Пояснение. Входными данными являются коэффициенты квадратного уравнения - переменные а, Ь, с. Сначала вычисляется дискриминант квадратного уравнения б = Ь 2 - 4 а с. Если дискриминант больше или равен нулю (б > 0), то вычисляются два корня квадратного уравнения по следующим формулам:

, -Ь - л1ь 2 -4ас Л -Ь + у!ь 2 -4ас х1 =-; х2 - -.

2а 2 а

Затем на экран выводятся результаты (значения переменных х1 и х2).

Если дискриминант меньше нуля (б

2. Программа

/1подключение стандартной библиотеки ввода-вывода #include Цподключение библиотеки математических

//функций

int main () { //заголовок функции main$

double a ,b, с, xl ,х2 , d; //описаниепеременных

printf("Введите через пробел а,Ь,сп");

//вывод приглашения к вводу значений переменных а, b, с scant (" %lf %lf %lf", &a, &b,&c) ; //ввод значений переменных a ,b, c

d=b*b-4*a*c; //вычисление дискриминанта (д.)

if (d>=0) //если d>=0

(xl=(-b-sqrt(d))/(2*a);

//то вычисляем корни квадратного уравнения xl и х2 х2 =(-b+sqrt(d))/(2*а);

printf ("xl = %lf x2 = %lf " , xl, х2) ; //и выводим их на экран

else //если d

printf ("Корней нетп") ; //выводим текст «Корней нет»

getchar (); return 0;

Пример 2. Вычислить значение у - - + -. Если у вычислить

нельзя, то вывести на экран сообщение об этом. Значение х вводится с клавиатуры.

Данную задачу можно решить двумя способами: а) используя логическое И (&&); б) используя логическое ИЛИ 1-й способ (использование логического И).

1. Схема алгоритма

Вывод Y

Нельзя вы-

числить Y!»

Пояснение. Входным данным является X. На нуль делить нельзя, поэтому знаменатели дробей не должны быть равны нулю (в условии задачи даны две дроби: 1/Х и 3/(Х+ 1)). Таким образом, для вычисления Y надо проверить, что знаменатели обеих дробей одновременно не равны нулю. Для этого проверяется сложное условие «X Ф 0 и X + 1 Ф 0». Если оно истинно (ответ «Да» на оба вопроса), то происходит вычисление значения Y и вывод его на экран. Если условие ложно (ответ «Нет» хотя бы на один из вопросов), то выводится сообщение «Нельзя вычислить Y!».

2. Программа

#include int main() {

double x,y; printf("Введите x ");

if ((x!=0)&&(x+3!=0)){ //если одновременно хФО их+1^0

у=1/х+3/ (х+1) ; //вычисляем у

printf ("y=51f " ,у) ; //ивыводим у на экран

else printf("Нельзя вычислить у!п"); getchar(); return 0;

Пояснение. Для вычисления у необходимо, чтобы одновременно знаменатели обеих дробей были не равны нулю. Для этого используется операция && (логическое И). В операторе И"проверяется сложное условие «х ф 0 и х+1 ф 0» (в С++ оно записывается в виде ((х! =0) && ((х+1) 1=0), причем каждое простое условие заключается в отдельные круглые скобки).

  • 2-й способ (использование ИЛИ).
  • 1. Схема алгоритма

^ Начало ^

Z1 Ввод X 3^

Вывод У З 7

Пояснение. При решении задачи с помощью «логического ИЛИ» проверяется невозможность вычисления Y. Для этого надо проверить, что хотя бы один из знаменателей дробей равен нулю. Для этого проверяется сложное условие «X = 0 или X -г 1 = 0». Если оно истинно (ответ «Да» хотя бы на один из вопросов), то выводится сообщение «Нельзя вычислить Y!». Если условие ложно (ответ «Нет» на оба вопроса), то происходит вычисление значения Y и вывод его на экран.

2. Программа

printf("Введите x ");

scant("%lf",&x);

if ((x==0) I I (x+l==0))

printf("Нельзя вычислить y! ");

else (y=l/x+3/(x+1);

printf("y=%lf ",y);

getchar(); return 0;

Пояснение. В программе используется операция | | (логическое ИЛИ). В операторе if проверяется сложное условие «х=0 или х+1=0» (в C++ оно записывается в виде ((х==0) I I ((х+1) ==0)).

Разветвляющимся называется алгоритм, в котором последовательность и количество выполняемых команд зависит от выполнения или не выполнения некоторых условий. В разветвляющихся алгоритмах используются команды ветвления и выбора из большого количества вариантов . Графическое изображение команд ветвления представлено на рис.3.1.

Рис. 3.1 Команды ветвления: а) – в полной форме; б) , в) – в сокращенной– форме

Для программирования ветвлений используется оператор if , а для программирования выбора – операторы switch и break .

3.2 Операторы управления разветвляющимся вычислительным процессом

3.2.1 Логические выражения

Логическое выражение (условие) - выражение, которое содержит знаки операций отношения и/или знаки логических операций . Значением логического выражения может быть только 1, если логическое выражение есть ИСТИНА (true), или 0, если логическое выражение ЛОЖЬ (false).

Операции отношения являются бинарными и обозначаются следующим образом (приведены в порядке уменьшения приоритета):

< (меньше);

<= (меньше или равно);

> (больше);

>= (больше или равно);

== (равно);

!= (не равно).

Примеры: a=8.1, d<>(w-c).

Логические операции – это операции:

&& - логическое И (бинарная операция);

|| - логическое ИЛИ (бинарная операция);

! - логическое НЕ (унарная операция).

Логические операции имеют более низкий приоритет, чем операции отношения. Результаты выполнения логических операций приведены в таблицах 3.1-3.3.

Таблица 3.1 Таблица3.2 Таблица 3.3

Например, логическое выражение a>3 && c<7 при a=5, c=6 будет иметь значение ИСТИНА, а при a=3, c=8 – ЛОЖЬ; логическое выражение a>3 || c<7 при a=5, c=6 будет иметь значение ИСТИНА, при a=2, c=6 – ЛОЖЬ; при a=7 логическое выражение!a>2 будет иметь значение ЛОЖЬ.

При составлении логических выражений следует учитывать приоритет выполнения операций.

Примеры записи логических выражений приведены в таблице 3.4.

Таблица 3.4

Таблица записи логических выражений

Условие

Логическое выражение

x>=a && x<=b

xb

или

x>=a && x<=b || x>=c && x<=d

Хотя бы одно из чисел x, y положительное

x>0 || y>0

Только одно из чисел x, y положительное

(x>0 && !y>0) || (y>0 && !x>0)

Ни одно из чисел x, y не является четным

x % 2 !=0 && y % 2 !=0

Точка (x,y) принадлежит заштрихованной области

x>=0 && x<=a && y>=0 && y<=b/a*x

Цели урока: 1.Формирование компетентности в сфере познавательной деятельности;

2.Формирование компетентности в сфере коммуникативной деятельности.

Задачи урока: 1. Познакомиться с правилами записи разветвляющихся алгоритмов, условного оператора;

2. Рассмотреть примеры программирования алгоритмов ветвления;

3. Подвести учащихся к выводу что для решения одной и той же задачи можно разрабатывать разные алгоритмы;

4. Сформировать умения записывать на языке программирования короткие алгоритмы с ветвлениями;

5. Получить опыт программирования ветвлений.

Скачать:


Предварительный просмотр:

УРОК ИНФОРМАТИКИ ПО ТЕМЕ:

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

Предмет: Информатика

Тема: «Программирование разветвляющихся алгоритмов. Условный оператор».

Класс: 9

Учитель: Суханова Ольга Владимировна

Школа: ГБОУ гимназия № 363 г. Санкт Петербург.

Цели урока: 1 . Формирование компетентности в сфере познавательной деятельности;

2.Формирование компетентности в сфере коммуникативной деятельности.

Задачи урока: 1 . Познакомиться с правилами записи разветвляющихся алгоритмов, условного оператора;

2. Рассмотреть примеры программирования алгоритмов ветвления;

3. Подвести учащихся к выводу что для решения одной и той же задачи можно разрабатывать разные алгоритмы;

4. Сформировать умения записывать на языке программирования короткие алгоритмы с ветвлениями;

5. Получить опыт программирования ветвлений.

Планируемы образовательные результаты:

Предметные – умение записывать на языке программирования короткие алгоритмы, содержащие алгоритмическую конструкцию «ветвление»;

Метапредметные – умение самостоятельно планировать пути достижения целей; умение соотносить свои действия с планируемыми результатами, осуществлять контроль своей деятельности, определять способы действий в рамках предложенных условий, корректировать свои действия в соответствии с изменяющейся ситуацией; умение оценивать правильность выполнения учебной задачи;

Личностные – алгоритмическое мышление, необходимое для профессиональной деятельности в современном обществе; представление о программировании как сфере возможной профессиональной деятельности.

Тип урока: комбинированный, урок- игра совершенствования умений и навыков, обобщения знаний, практических заданий.

Основные организационные формы обучения на уроке:

  • фронтальная работа с классом
  • индивидуальная работа за компьютером
  • групповая работа

Оборудование:

  1. персональные компьютеры учащихся с установленным на них программным обеспечением: операционная система Windows 7; PascalABC.net;
  2. персональный компьютер (ПК) учителя, мультимедийный проектор, экран;
  3. демонстрационные материалы (задания для двух команд, карточки для ответов, – приложение 1); презентация «Программирование разветвляющихся алгоритмов»,
  4. в папке каждого учащегося в электронном виде на ПК заготовки – материал для составления программы для выбранной задачи из учебника.

Технология занятия.

  1. Актуализация опорных знаний.
  2. Инструктирование учащихся по выполнению задания в PascalABC.net;.
  3. Самостоятельная работа в группах за ПК по созданию собственной программы.
  4. Представление выполненных работ на обсуждение одноклассниками.
  5. Домашнее задание.
  6. Подведение итогов урока. Рефлексия.
  7. Список литературы.

Ход урока

  1. Организационный момент. Цели и задачи урока.

Приветствие. Объявление темы и задачи урока. (3 мин)

  1. Актуализация опорных знаний. (8 мин)

В начале урока проводиться:

  1. проверка изученного материала по данной теме в форме игры «Паскаль в морском бою». (Приложение 1 ). Повторяются с учащимися следующие вопросы:

Что входит в состав алфавита языка Паскаль?

Каких требований следует придерживаться при выборе имен для различных объектов на языке Паскаль и какие типы данных он использует?

Какую структуру имеет программа, записанная на языке Паскаль?

Какие операторы используются для ввода и вывода данных?

  1. визуальная проверка домашнего задания в тетради.
  2. рассмотрение заданий, вызвавших затруднения при выполнении домашнего задания.
  3. изучение новой темы «Программирование разветвляющихся алгоритмов», начав её с темы «Условный оператор», которую ученики прорабатывали дома, используя подготовленные для них учителем материалы,
  4. проверка учителем изученного учениками материала, для этого вызывается произвольный ученик к доске и записывает:

if then else

if then

Учитель просит ученика разъяснить, что означают ключевые слова в данной записи; if ….. then ……. else, как они переводятся на русский язык.

  1. обсуждение на занятии двух примеров из учебника для 9 класса. Л.Л. Босова, А.Ю. Босова – первая программа, согласно которой можно определить принадлежность точки х отрезку [ А,В ] (Приложение 2).

Ученики определяют, все ли верно записано на доске одноклассником, если потребуется то они должны внести коррективы.

Следующим шагом ученикам предлагается написать на доске вторую программу нахождения наибольшего из трёх чисел (Приложение 2).

Если учитель видит, что ученики усвоили материал, целесообразно перейти к следующему этапу занятия – практической работе

  1. Инструктирование учащихся по выполнению практического задания в программе PascalABC.net (2 мин).

Для этого урока учащимися самостоятельно подготовлены материалы для выполнения практического задания с помощью программы PascalABC.net. В тетрадях учащихся записана математическая постановка задачи, составлен алгоритм выполнения задачи, которую они программируют.

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

Можно предложить ученикам еще раз внимательно посмотреть на записанную программу и обсудить, всё ли верно в ней. Если ошибок в программе нет, то надо перейти к процессу набора программного кода на компьютере учащимися.

  1. Самостоятельная работа по написанию программы (задание в учебнике) с использованием неполного условного оператора и выполнение её на компьютере (20 мин) (Приложение 3).

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

Ученики, объединенные в группы, выполняют самостоятельно практическую работу по набору и запуску своей программы в среде языка Паскаль, задают вопросы друг другу и педагогу, при этом они сами обучают и поддерживают друг друга, используют рекомендации и сохраняют результат в своей личной папке.

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

На этом этапе занятия основная цель будет достигнута. Ученики усвоили, что такое условный оператор, при этом учитель в процессе занятия ничего сам не объяснял. Ученики самостоятельно выясняли и писали на доске все элементы нового материала. Даже если кто-то из обучающихся пришел на урок неподготовленным, то прослушав и просмотрев всё, что делали и объясняли его одноклассники, он разберется в новой теме.

  1. Представление выполненных работ. (10 мин) .

Ученики представляют выполненное задание на компьютере.

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

Ученики высказывают своё мнение по поводу получившейся работы.

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

Повторить пройденный материал по теме: « Программирование разветвляющихся алгоритмов. Условный оператор».

  1. Подведение итогов урока. Рефлексия. (2 мин).

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

Ученики усвоили, что такое условный оператор, и поняли что, можно использовать разные варианты записи ветвлений.

Рефлексия .

Что нового мы сегодня узнали на уроке? Чему научились?

Какое задание вызвало затруднение?

Правильно ли я набрал программу для решения выбранной задачи?

Сегодня я узнал …..

Сегодня я понял …..

Список литературы:

  1. Информатика: учебник для 9 класса. Л.Л. Босова, А.Ю. Босова. – М.: БИНОМ. Лаборатория знаний, 2013.
  2. Информатика. методическое пособие для 7-9 классов: Л.Л. Босова, А.Ю. Босова. – М.: БИНОМ. Лаборатория знаний, 2015.
  3. Информатика. рабочая тетрадь для 8 класса: Л.Л. Босова, А.Ю. Босова. – М.: БИНОМ. Лаборатория знаний, 2015.
  4. Информатика: учебник для 8 класса. Л.Л. Босова, А.Ю. Босова. – М.: БИНОМ. Лаборатория знаний, 2013.

Приложение 1. Задания для первой команды

  1. Что называют операторными скобками:

3а) () 4В) {} 6ж) 1г) begin…end

  1. Какая из записей заголовка программы правильная:

8а) Program задача 1 4д) Program 1

1к) Program zadacha_1 6 ж) Program 1_zadacha

  1. Как записывается оператор ввода:

6к) WRITELN(X,Y) 2б)READ(X,Y)

8в) WRITE(X; Y) 2и)READ(X;Y)

  1. Как записывается оператор присваивания:

2к) A:=B+5 3а) A=B+5 6к) A:=B+5 3в) B+5:=A

  1. Запись на языке Pascal выражения у=5х – 10х+2:х будет иметь вид:

10а) y=5*x-10*x+2/x 6д) y=5x-10x+2/x

9и) y:=5x-10x+2:x 3б) y:=5*x-10*x+2/x

  1. Какой из операторов ошибочен, если заданы описания: var i,j: integer; x,y: real;

5а) х:= i*y 4е) у:= i/i 3е) j:= i/2 6и) j:=i*i

  1. Условный оператор записывается в виде:

1ж) While do

4к) If then else

8б) :=

4и) If then ;

1д) if b>5 then b:=b-3; else b:=b+15

3г) if b>5 then b:=b+15; else b:=b-3

5в) if b>5 then b:=b+15 else b:=b-3

10к) if b>5 then b:=b+15 b:=b-3

  1. После выполнения операторов присваивания: а:=3; b:=5, с:=7, d:=a; a:=b; b:=c, c:=d, соотношение значений переменных а, b, с следующее:

3а) a>b>c 5и) b>c>a 8ж) c>b>a 6з) b>a>c

  1. Определите значение целочисленных переменных х, у и t после выполнения фрагмента программы: х:=5; у:=7; t:=x; x:=y mod x; y:=t;

7а) x=2, y=5, t=5 3в) х=7, у=5, t=5 2е) х=2, у=2, t= 2

7к) х=5, у=5, t=5

  1. Чему будет равно значение переменной К после выполнения следующих действий?

К:=5;

S:=К+2;

К:=S+2;

К:=К+10+S;

6и) 5 7ж) 12 6ж) 7 7з) 26

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

Program klass;

begin

writeln (45/(12-3));

write("классов");

end.

на экране появится запись:

8в) 5 классов 10в) 9 классов

9в) 5 классов; 10г) 9 классов

Приложение 1. Задания для второй команды

  1. В каком разделе происходит описание переменных:

1д) в разделе описания констант 2а) в разделе описания типов

1а) в разделе описания переменных 6с) в разделе описания выражений

  1. Чем заканчивается программа:

2б) READLN 6б) READLN; END 1е) END 1б)END

  1. Как записывается оператор вывода:

1г) WRITELN(A, D) 2в) READLN (A, D)

1ж) WRITE(A; D) 6к) READ(A; D)

  1. Оператор присваивания имеет вид:

2г)=

4д):=

3е)::=

10в) :=

  1. Выражение x= 4вс-ч+2:(в+3) на языке Паскаль будет записано в виде :

6и) х=4вс-ч+2:(в+3) 2д) х:=4*в*с-ч+2/(в+3)

3ж) х:=4*в*с-ч+2/(в+3) 1з) х:=4*в*с-ч+2:(в+3)

  1. Какой из операторов записан правильно, если заданы описания:

Var i,j: integer; x,y: real

4а) х:=i*j 1 и)y:=i/x 3з)j:=i+2 6г)j:=i*y

  1. Условие «если А больше или равно С, то В равно 1» соответствует фрагмент программы:

2е) if A>C then B:=1 6з) if A>B =C then B:=1

4к) if A>=C then B=1 1к) if A>=C then B:=1

  1. После выполнения операторов присваивания: а:=с; b :=d ; a:=a+b; b:=a-b; a:=a-b, переменные а и b принимают значения переменных:

9а) a=c, b=d 5б) a=c, b=c 7д) a=d, b=c 3к) a=c+d, b=c-d

  1. Определите значения целочисленных переменных а и b после выполнения фрагмента программы: а:=42; b:=14; а:=а div b; b:=a*b; a:=b div a;

10з) а=42, b=14 8г) а=1, b=42

5б) а=0, b=588 7з) а=14, b=42

  1. Чему равно значение переменной К после выполнения следующих действий?

К:=10;

Ы:=К+К+5;

К:=Ы

Ы:=К-10

3и) 10 6к) 15 7в) 5 7и) 25

  1. Высказывание «Если значение переменной b больше 5, то увеличить значение b на 15, иначе значение b уменьшить на 3», соответствует оператор:

1д) if b>5 then b:=b-3; else b:=b+15

3г) if b>5 then b:=b+15; else b:=b-3

5в) if b>5 then b:=b+15 else b:=b-3

10к) if b>5 then b:=b+15 b:=b-3

  1. B результате выполнения программы

Program klass;

begin

writeln (30/(11-5));

write("классов");

end.

на экране появится запись:

8в) 5 классов 10в) 6 классов

9в) 5 классов; 10г) 6 классов

Приложение 3.

Практическое задание для двух групп на уроке:

Задание для 1 группы:

Дано трёхзначное число. Напишите программу, которая определяет есть ли среди цифр заданного целого трёхзначного числа одинаковые;

Пример исходных данных

Пример выходных данных

Задание для 2 группы:

Ввести с клавиатуры три числа А, В, С . Определить, равны ли введенные числа. С клавиатуры.

Задания №3 (усложненный вариант)

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




Рекомендуем почитать

Наверх