Программирование ветвлений. Логические выражения. 9-й класс

Разделы: Информатика, Конкурс «Презентация к уроку»

Класс: 9


Презентация к уроку

Загрузить презентацию (371 кБ)


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

Тип урока: урок применения знаний и умений.

Оборудование: доска, маркеры, проектор, компьютеры.

План урока.

1. Организационный момент.
2. Актуализация опорных знаний.
3. Формирование новых знаний и способов действий.
4. Применение - формирование умений и навыков.
5. Рефлексия и домашнее задание.
6. Подведение итогов урока.

Ход урока

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

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

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

2. Актуализация. Для того чтобы начать работу по данной теме, нужно повторить пройденный материал на прошлом уроке.

Работа по карточкам с вопросами на 2 варианта с последующей взаимопроверкой и обсуждением.

1 вариант 2 вариант
1. Какие виды условных операторов вы знаете? В каких случаях в программе используют полный оператор? Нарисовать графическую схему выполнения.

2. Определите значение переменной с после выполнения следующего фрагмента программы:

a := 30;
b := 6;
a := a / 2 * b;
if a > b then c := a - 3 * b
else c := a + 3 * b;

3. В написании какого условного оператора допущена синтаксическая ошибка?

1. if <условие> then <действие>;

2. if <условие> then <действие1> else <действие2>;

3. if <условие> then <действие1>; else<действие2>;

4. if <условие1> and <условие2> then <действие>;

1. Какие виды условных операторов вы знаете? В каких случаях в программе используют неполный оператор? Нарисовать графическую схему выполнения.

2. Определите значение переменной с после выполнения следующего фрагмента программы:

a := 22;
b := 3;
a := - 2 * b + a / 2;
if a < b then c := 4 * b – 3 * a
else c := 3 * a + 4 * b;

3. В написании какого условного оператора допущена синтаксическая ошибка?

1. if <условие> then <действие>;

2. if <условие> then <действие1> else <действие2>

3. if <условие> then <действие1> else<действие2>;

4. if <условие> and <условие2> then <действие>;

3. Формирование новых знаний и способов действий.

Задание 1. Имеется фрагмент программы:

begin

readln(x, y);

if x > y then z:= x + y;

if x < y then z:= y - x;

if x = y then z:= y * x;

end.

Как можно упростить запись этого фрагмента (уменьшить количество условных операторов)?

Задание 2. Укажите логическое выражение, определяющее полуотрезок (-1;3].

1. (x<=3) and (x>-1)

2. (x<3) or not (x>-1)

3. (x>=-1) and (x<3)

Задание 3. Записать условие, которое является итинным, когда точка с координатами х попадет в заштрихованные участки координатной прямой.

Рис. 1

Ответ: -5 <= x <= 1 и 7 <= x <= 13

(-5<=x) and (x<=1) or (7<=x) and (x<=13)

Задание 4.

1. Загрузите программу Z1.

2. Внимательно рассмотрите структуру программы.

3. Запустите программу на выполнение. Всегда ли верно решается поставленная задача? Объясните, почему это происходит.

4. Как нужно изменить программу, для того чтобы ошибок не было.

5. Измените программу и запустите ее вновь.

program Z1;

var x: real;

begin

readln(x) ;

if x>l then

  if x>=7 then

   if x>13 then write('принадлежит')

               else write('не принадлежит');

end.

Доработанная программа:

program Z1;

var x: real;

begin

readln(x) ;

if (-5<=x) and (x<=1) or (7<=x) and (x<=13) then

                             write('принадлежит')

                             else write('не принадлежит');

end.

4. Применение умений и навыков.

Рис. 2.

Требовалось написать программу, при выполнении которой с клавиатуры считывается координата точки на прямой (х – действительное число) и определяется принадлежность этой точки одному из выделенных отрезков В и D рис. 2 (включая границы). Программист торопился и написал программу неправильно. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы.

ar x: real;

begin

readln(x) ;

if x<=l5 then

  if x<9 then

   if x<=3 then

    write('принадлежит')

  else

    write('не принадлежит');

end.

var x: real;

begin

readln(x) ;

if (-3<=x) and (x<=3)

or (9<=x) and (x<=15) then

    write('принадлежит')

else

   write('не принадлежит');

end.

5. Какое логическое выражение определяет попадание точки А (х,у) внутрь заштрихованной области на координатной плоскости?

  1. (x*x+y*y<=4) and (y>=2*x)
  2. (x*x+y*y>=4) and (y>=2*x)
  3. (x*x+y*y>=4) and (y>=2*x) and (x>=0)
  4. (x*x+y*y<=4) and (y>=2*x) and (x>=0)

Напишите программу к данной задаче.

5. Рефлексия и домашнее задание.

Составить программу: Даны целочисленные координаты точки на плоскости. Если точка не лежит на координатных осях, то вывести 0. Если точка совпадает с началом координат, то вывести 1. Если точка не совпадает с началом координат, но лежит на оси OX или OY, то вывести соответственно 2 или 3.

6. Подведение итогов урока.

  1. Что нового вы узнали на сегодняшнем уроке?
  2. Для решения каких задач используется условный оператор?
  3. Как в условных операторах можно использовать сложные условия, которые строятся из простых отношений?
  4. Научились ли вы анализировать работу алгоритма, “прокручивать” его в уме?
  5. Правильно выполнив фрагмент программы, вы узнаете, какую оценку получил класс за работу на уроке:

a := 100;

b := 30;

a := a – b*3;

if a > b then

c := a – b

else c := (b – a)/4;