Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Конспекты / Урок информатики на тему "Сложные условия. Использование логических операций" (8 класс)

Урок информатики на тему "Сложные условия. Использование логических операций" (8 класс)

  • Информатика

Поделитесь материалом с коллегами:

Минченко Ирина Юрьевна

Тема: Сложные условия, использование логических операций.

Урок углубления и систематизации знаний.


Методы: словесные, наглядные, логические, практические.

Цель урока: закрепление знаний условных операторов, развитие умений и

навыков использования операторов.


Учащиеся должны знать / понимать:


  • назначение условного оператора;

  • способ записи условного оператора;

  • логический тип данных;

  • логические операторы OR, AND, NOT;

  • операторные скобки BEGIN…END.

Учащиеся должны уметь:


  • использовать условный оператор;

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

Ход урока:

  1. Организационный этап. (см. Презентацию к уроку)

  2. Проверка домашнего задания

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

  1. Этап актуализации субъективного опыта учащихся.


Теоретические сведения

Логический тип данных (см. Презентацию к уроку)


Множество значений логического типа boolean содержит всего два элемента — false (ложь) и true (истина). Эти константы предопределены так, что false < true. Логические значения получаются также в результате выполнения операций сравнения числовых, символьных, строковых или логических переменных: =, о, <, >, <=, > = . Таким образом, условия представляют собой частный случай выражений, а именно выражения со значениями логического типа. Подобные выражения можно присваивать переменным типа boolean, a также печатать (на экран будет выведено слово false или true соответственно). Кроме операций сравнения, для построения логических выражений используются операции not, and, or, xor. Последняя операция при применении ее к логическим операндам совпадает с операцией "не равно", то есть (х хоr у) = (х <> у). Приведем таблицы результатов логических операций для всех возможных значений операндов (в алгебре логики такие таблицы называются таблицами истинности):

X

not х

true

false

false

true

x or у

true

false

true

true

true

false

true

false

x and у

true

false

true

true

false

false

false

false







Логический результат дает также стандартная функция odd (x), которая применяется к целочисленному аргументу х: odd(x) = true, если х нечетно; odd(x) = false, если х четно.

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

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

  1. not;

  2. *, /, div, mod, and;

  3. +, -, or, xor;

  4. =, <>, <, >, <=, >=.

Операции с одинаковым приоритетом выполняются по порядку слева направо. Для изменения порядка выполнения операций применяют круглые скобки.

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

х := 0;

b := (х > 0) and (х < 10);

Уже после вычисления первого операнда операции and ясно, что результат всего выражения — false.

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


Условие

Противоположное условие

а < b

a b

а > b

a b

а = b

а b

not not a = а;

not (a and b) = not a or not b; not (a or b) = not a and not b.


  1. Этап закрепления новых знаний и способов действий

(см. Презентацию к уроку)

Упражнения1

1. Для следующих условий пометить знаком "+" истинные условия, а "-" — ложные.

Здесь

х := 0; у := -1; z := 1;


  1. (х < 0) or (у < 0)

  2. (х = 0) and <> 0)

  3. <> 1) and (z <> 1)

  4. <> 1) and (z <> 1) or (x <> 1)

  5. (у = 1) or <> 1) and (z <> 1)


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


b := true; v := 3;

х := 1; у := -2;

z := 2*abs(у);

k := trunc (x/y*z/v*2/0.5);

у := sqrt(x*y*z*k);

m := (-к) div 3;

с := (к < m) and b;

b := not с or<> z);


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

уhello_html_674b1d51.png = f(x), или х = f(y), или f(x, у) = 0.

На рисунке изображены также оси координат и координатная сетка, линии которой проведены через единицу масштаба. Восстановите по рисунку уравнения всех линий, изображенных на нем.

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




Ответы

  1. 1) +; 2) +; 3) -; 4) +; 5) -;

  2. z = 4 (real); k = -2 (integer);

у = 4 (real); m = 0 (integer);

с = true (boolean); b = false (boolean) .

I – (y > 0) and (x < 0) and (x2 +y2 > r2) and (y< x2);

II - (y > 0) and (x < 0) and (x2 +y2 > r2) and (y> x2);

III - (y > 0) and (x > 0) and (x2 +y2 > r2) and (y> x2);

IV - (y > 0) and (x > 0) and (x2 +y2 > r2) and (y< x2);

V - (y > 0) and (x < 0) and (x2 +y2 < r2) and (y< x2);

VI - (y > 0) and (x > 0) and (x2 +y2 < r2) and (y> x2);

VII - (y > 0) and (x > 0) and (x2 +y2 < r2) and (y< x2);

VIII - (y < 0) and (x2 +y2 < r2) and (y< x2);

IX - (y < 0) and (x2 +y2 > r2) and (y< x2);


(Логические выражения в том виде, в каком они используются в программировании, школьникам немного непривычны. Поэтому, на мой взгляд, важно научить их применять не только в условных операторах и операторах цикла, но и "в чистом виде", например, в операторах присваивания. Упражнение 3 как раз и предназначено для этой цели. Сложность задания (в данном случае — рисунка) варьируется согласно уровню математической подготовки учащихся.

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

not а < b

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


  1. Этап применения знаний и способов действий


Условный оператор (см. Презентацию к уроку)

Синтаксическая диаграмма условного оператора:

hello_html_2b8ab9b7.gif





На месте оператора может стоять любой из операторов, в том числе и условный, но оператор должен быть только один. Слова begin и end называются операторными скобками.

Полный условный оператор выполняется так: сначала проверяется условие, если оно истинно, то компьютер выполняет оператор, стоящий после then, если же ложно, то есть справедливо противоположное условие, то компьютер выполняет оператор, стоящий после else.

Согласно схеме условного оператора, как после then, так и после else может стоять только один оператор, поэтому если необходимо использовать не один оператор, а несколько, то используется составной оператор. Например:

if х < 0 then

begin

i := i + 1;

x : = x — 1

end

else i := i — 1

Здесь для случая х < 0 будут выполнены два оператора, а для противоположного случая (х > 0) — один оператор. Если после then в качестве оператора стоит условный оператор, то возможна такая конструкция:


if условие1 then

if условие2 then оператор1 else оператор2


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


else всегда относится к ближайшему if


Значит, в данной конструкции первый оператор укороченный (без else), а второй полный. Если же требуется, чтобы первый оператор был полным, а второй — укороченным, то следует использовать операторные скобки:


if условие1 then

begin

if условие2 then оператор1

end

else

оператор2


Благодаря операторным скобкам else стало относиться к первому if, а не ко второму.


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


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


  1. Этап обобщения и систематизации знаний (см. Презентацию к уроку)


Упражнения2:

1.

if i = 1 then

if j = 1 then writeln (‘ i = j ’)

else writeln (‘i = 1, j <> 1’)

else writeln (‘i <> 1’)


Что будет выдано на печать, если перед выполнением
условного оператора

  1. i : = 1; j : = 2 ;

  2. i : = 2 ; j : = 1.


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

  1. х := 1; у := -1; z := 0;


if х > 0 then

if у > 0 then z := 1

else z := 2;


  1. х := 1; у := -1; z := 0;

if x < 0 then

if у > 0 then z := 1

else z := 2;


  1. z := 0; x := 0;

if x > 0 then

begin

if z > 0 then z := 1

end

else z := 2;

Ответы

  1. 1) i = 1, j <> 1; 2) i <> 1.

  2. 1) z = 2; 2) z = 0; 3) z = 2.

  1. Этап контроля и самоконтроля знаний

(по вариантам)

  1. Напишите программу, которая будет считывать значение целой
    переменной К и определять, является К четным числом или нечетным. (или стр. 89 упр.7 учебника3)

  2. Напишите программу, которая будет считывать значение
    переменных а и b и распечатывать сначала меньшее из двух значений,
    а потом большее. (или стр. 89 упр.10 учебника4)



  1. Этап коррекции знаний и способов действий

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

  1. Этап информации о домашнем задании

§ 3.5 стр. 75 – 83, стр.88 Вопросы 1- 8, Упр. 2 – I уровень сложности, Упр. 6 – II уровень сложности, Упр. 3 – III уровень сложности.

  1. Этап подведения итогов урока, рефлексия.

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

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

Литература:

  1. «Основы информатики и вычислительной техники 9 класс» Б. Бурибаев, Б. Накысбеков, Г. Мадьярова.

  2. «Основы информатики и вычислительной техники 9 класс - Методическое руководство»

  3. «Основы информатики и вычислительной техники 9 класс – Сборник задач и упражнений»

  4. «Практические задания по Паскалю» Тен А. С., Кабулова Г. С.

hello_html_m4e5625c3.pnghello_html_m63df9dc8.pnghello_html_m2d5601d.png

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

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

3 «Основы информатики и вычислительной техники 9 класс»

4 «Основы информатики и вычислительной техники 9 класс»

Первомайская средняя школа

Выберите курс повышения квалификации со скидкой 50%:

Автор
Дата добавления 24.02.2016
Раздел Информатика
Подраздел Конспекты
Просмотров171
Номер материала ДВ-480230
Получить свидетельство о публикации

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