Урок информатики "Составные условия в алгоритме ветвления"

Разделы: Информатика


Тип урока: комбинированный

Образовательные цели:

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

Развивающие цели:

  • развивать алгоритмический и логический стиль мышления;
  • развивать творческое самостоятельное мышление и воображение.

Воспитательные цели:

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

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

Продолжительность: 2 урока по 45 минут.

Ход урока

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

Проверка присутствия учащихся на уроке.

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

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

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

III. Подготовка к усвоению нового материала.

Фронтальный опрос:

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

Задание 1. Определить форму ветвления (полная, неполная):

  • если a<b, то a=sqr(a);
  • если к=0, то y=5.7, иначе y=-5.7;
  • если а=b, то это квадрат, иначе - прямоугольник;
  • если а=b, то вывести сообщение "числа равны ".

Задание 2. Графически описать пословицы:

  • Ученье - свет, а неученье - тьма.
  • Вместе тесно, а врозь скучно.
  • Кончил дело, гуляй смело.
  • Если пахать плугом, земля станет лугом.

Задание 3. Записать общий вид оператора If.

  • полная форма оператора If;
  • неполная форма оператора If.

IV. Усвоение нового материала.

В операторе If условие может быть не только простым, но и сложным. Учитель объявляет тему урока. Учащимся предлагается самостоятельно сформулировать цель урока. Что значит сложное или составное условие? Это значит, что "условие" представляет собой "последовательность условий"?

1. Логические связки

Если несколько условий проверяется по ветке "да", то эти условия можно объединить с помощью логических связок "ИЛИ", "И", "НЕ".

Оператор If в этом случае имеет следующий вид:

If (условие 1) and (условие 2) or (условие 3) Then оператор 1

                                                                           Else оператор 2;

Задание 4. [3] Составить программу, которая поможет по температуре тела человека определить болен он или здоров.

I этап. Постановка задачи.

Строим описательную модель. Что дано в задаче? Что требуется определить?

Строим математическую модель.

Определяем имена переменных:

  • t - температура тела.
  • 36 <t< 37 - здоров, иначе - болен.

II этап. Построение алгоритма.

III этап. Запись алгоритма на языке программирования.

Program func;

  Uses crt;

  Var t:Real;

Begin

  Clrscr;

  Write('введите значение температуры = ');Readln(t);

  If (t >=36) and (t < 37) Then Writeln('здopoв')

  Else Writeln ('болен');

Readln;

End.

2. Вложенный оператор If

Если несколько условий проверяется по ветке "нет", то такая конструкция называется вложенной.

Оператор If в этом случае имеет следующий вид:

If условие1 Then оператор 1

  Else If условие2 Then оператор 2

  Else If ...

Else оператор п;

Задание 5. [2] Задан угол. Определить его вид: острый, прямой, тупой, развернутый или плоский.

I этап. Постановка задачи.

Строим описательную модель. Что дано в задаче? Что требуется определить?

Строим математическую модель. Определяем имена переменных: а - угол.

0<а<90 - острый; а=90 - прямой; 90<а<180 - тупой; а= 180 - развернутый; 180<а<360 - плоский.

II этап. Построение алгоритма.

III этап. Запись алгоритма на языке программирования.

Program func;

Uses crt;

Var a:Real;

Begin

Clrscr;

Write('a= ');Readln(a);

If (a>0) and (a<90) Then Writeln('ocтрый')

Else If a=90 Then Writeln ('прямой')

Else If (a>90) and (a<180) Then Writeln('тyпoй')

Else If a=180 Then Writeln('paзвepнyтый')

Else If (a>180) and (a<360) Then Writeln('плоский')

Else Writeln('такого угла нет');

Readln;

End.

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

Фронтальный опрос:

  1. Как загрузить среду Turbo Pascal ?
  2. Как открыть существующий на диске файл?
  3. Как сохранить файл на дискете?

VI. Отработка навыков отладки программ.

Фронтальный опрос:

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

Задание 6. Найти и исправить синтаксические ошибки в программе.

Текст программы Строки с ошибками
Program func +
Usescrt; +
Var b:Real; +
Begin
Clr scr;

Write('a= ');Readln(a);

+
If a>0 and a<90 Then Writeln('ocтрый'); +
Else If a:=90 Then Writeт('прямой');

Else If (a>90) and (a<180) Then Writeln('тупой')

+
Else If a=180 Then Writelen('paзвернутый') +
Else If (a>180) and (a<360) Then Writeln 'плоский '

Else Writeln('такого угла нет');

Readln;

End;

+

VII. Отработка навыков тестирования программ.

  1. Фронтальный опрос:
  2. Что такое тестирование?
  3. Что такое тест?
  4. Как проводится тестирование?

Задание 7. Составить тесты для тестирования программы, составленной в задании 5 и выполнить тестирование.

Исходные данные (а) Ожидаемый результат Полученный результат
45 острый  
90 прямой  
120 тупой  
180 развернутый  
230 плоский  
0 нет такого угла  
-40 нет такого угла  

VIII. Самостоятельная работа.

Задание 8. [3] Подготовить и решить задачу с помощью компьютера.

Ракета запускается с точки на экваторе и развивает скорость V км/с. Каков результат запуска? Если V=7,8 км/с, то ракета упадет на землю; если 7,8<V<11,2 то ракета станет спутником Земли; если 11,2?V<16,4 то ракета станет спутником Солнца; если V>16,4 то ракета покинет Солнечную систему.

Блок-схему и таблицу с тестами оформить в тетради.

Программу сохранить на дискете.

Дополнительное задание:

Даны три отрезка. Определить, существует ли треугольник с такими длинами сторон. Если существует, то определить его вид (равносторонний, равнобедренный, прямоугольный, произвольный). [1]

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

Выучить теорию п. 9.3.

В стихотворении В.Маяковского "Что такое хорошо и что такое плохо" найти фрагменты, в которых просматривается составное условие.

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

Группу детей, приехавшую в лагерь отдыха распределяют по отрядам:

6,7 лет - 5 отряд; 8-10 лет - 4 отряд; 11-13 лет - 3 отряд; 14, 15 лет - 2 отряд:

16 лет - 1 отряд. Составить программу, которая позволит приезжающему определить номер отряда. [3]

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

XI. Использованная литература

Залогова, Л.А.Информатика. Задачник-практикум в 2 т. / Л.А.Залогова, М.А.Плаксин, С.В.Русаков и др. Под ред И.Г.Семакина, Е.К.Хеннера: Том 1. - 3-е изд., испр. - М.:БИНОМ. Лаборатория знаний, 2006. - 309 с.: ил.

Рудаков, П.И. Основы языка Pascal. -М.: Радио и связь, 1999. - 208 с.: ил.

http://www.botik.ru/~mupc/dooi/arxiv/kopilka/