Методическая разработка урока информатики в 9-ом классе "Условный оператор"
материал по информатике и икт (9 класс) по теме

Пашковская Татьяна Александровна

Данный материал содержит примеры решения задач программирования на языках Basic и QBasic с использованием условного оператора.  

Скачать:

ВложениеРазмер
Microsoft Office document icon uslovnyy_operator.doc81 КБ

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

Условный оператор – это пример составного оператора, то есть внутри которого могут располагаться другие операторы.

Урок информатики в 9 - ом классе

 Решение задач с использованием ветвления

Цель урока: 

  1. Научится решать задачи с использованием ветвления. Проверить знания прошлого урока.
  2. Воспитание умения слушать учителя.
  3. Развитие познавательного интереса.

План урока: 

  1. Проверка домашнего задания.
  2. Решение различных задач.
  3. Некоторые вопросы теории и методов решения
  4. Домашняя работа.
  5. Подведение итогов урока.

Ход урока

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

Постановка цели урока

Объяснение нового материала

Условный оператор – это пример составного оператора, то есть внутри которого могут располагаться другие операторы. При применении условного оператора следует помнить следующие правила:

  1. Условный оператор определяется ключевым словом IF.
  2. После этого ключевого слова указывается условие – выражение, при вычислении которого получается логическое значение.
  3. За условием идёт ключевое слово THEN.
  4. Условие показывает, какая группа операторов выполняется за ключевым словом THEN, если значение условия – истина, то выполняется одна группа операторов, если ложно, то выполняется другая группа операторов.
  5. Конец ветвления определяется специальным оператором, состоящим из двух ключевых слов – END IF.

Пример 1

IF A>B THEN
T=A
PRINT A
END IF

В Qbasic и QuickBasic конструкция IF…THEN…ELSE имеет блочную и линейную форму записи. При блочной форме, проверяется первое логическое выражение (условие). Если первое условие равно нулю (ложь), тогда проверяется каждое условие ELSEIF. При выполнении такого условия выполняются операторы данного блока. Если не одно из условий ELSEIF не выполняется (всё равно ложь), тогда выполняются операторы блока ELSE.

Блоки ELSE и ELSEIF могут быть опущены – неполное ветвление. В блочную структуру IF можно вставить любое количество условий ELSEIF. Каждый из блоков может также содержать вложенные блочные структуры IF. Каждый блок должен заканчиваться оператором END IF. Блочная конструкция позволяет осуществлять на практике методы структурного программирования.

Если проверяется одно или два условия, то используется линейная форма записи IF…THEN…ELSE, она значительно проще.

Пример 2.

Сколько знаков имеет число. 

a) линейная форма записи.

CLS
DO
INPUT”Введите число от 0 до 1000”; x
IF x>=0 AND x<1000 THEN EXIT DO
ELSE PRINT “Повторите ввод”
LOOP
IF x<10 THEN y=1 ELSEIF x<100 y=2 ELSE y=3
PRINT”Число имеет”;y; “знаков”

б) блочная форма записи. 

CLS
DO
INPUT”Введите число от 0 до 1000”; x
IF x>=0 AND x<1000 THEN
EXIT DO
ELSE
PRINT”Повторите ввод”
END IF
LOOP
IF x<10 THEN
y=1
ELSEIF x<100
y=2
ELSE
y=3
END IF
PRINT”Число имеет”; y; “знаков”

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

Пример 3.

Вычислите площадь треугольника, стороны которого a, b, c.  Напишите алгоритм и программу. 

Площадь треугольника вычисляется по формуле Герона

  где p=(a+b+c)/2 – полупериметр. Из геометрии известно, что треугольник существует, если сумма двух его сторон больше третей. На основании этого записаны условия в альтернативных блоках.

10 INPUT “Введите стороны “; a,b,c
20 IF a+b>c THEN 50
30 PRINT “Треугольник не существует”
40 END
50 IF a+c>b THEN 70
60 GOTO 30
70 IF b+c>a THEN 90
80 GOTO 30
90 p=(a+b+c)/2
100 s=sqr(p*(p-a)*(p-b)*(p-c))
110 PRINT “S=”;s
120 GOTO 40

Пример 4.

Принадлежит ли точка A(x,y) кругу, радиус которого R. 

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

10 INPUT”Введите координаты точки”; x, y
20 IF x^2+y^2<=R^2 THEN 50
30 PRINT”Точка не принадлежит кругу”
40 GOTO 60
50 PRINT”Точка принадлежит кругу”
60 END

Пример 5.

Решите уравнение , если b¹0; c¹0. 

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

10 INPUT “Введите a, b,c”;a, b, c
20 IF a=0 THEN 120
30 D=b^2-4*a*c
50 IF D>=0 THEN 80
60 PRINT”Уравнение не имеет решений”
70 GOTO 150
80 X1=(-b1+sqr(D))/(2*a)
90 X2=(-b-sqr(D))/(2*a)
100 PRINT “X1=”;X1, “X2=”;X2
110 GOTO 150
120 PRINT”Уравнение не квадратное”
130 X=-c/b
140 PRINT “X=”;X
150 END

Пример 6.

Решите систему уравнений

Решение 

Для решения этой систему применим метод определителей.
Составим три определителя системы.

 




Теорема Крамера.

  1. Для того чтобы система имела единственное решение, необходимо и достаточно, чтобы главный определитель системы D был отличен от нуля. В этом случае решение системы находится по формулам:

;  

  1. Для того чтобы система не имела решений, неодходимо и достаточно, чтобы главный определитель D=0 и хотя бы один из вспомогательных определителей Dx или Dy был отличен от нуля.
  2. Для того чтобы система имела бесконечно много решений, необходимо и достаточно, чтобы D = Dx = Dy =0

Исходя из этой теоремы, можно написать алгоритм и программу.

 

INPUT “Введите исходные данные для первого ур-ния a1,b1,c1”;a1,b1,c1
INPUT”Введите исходные данные для второго ур-ния a2,b2,c2”;a2,b2,c2
D=a1*b2 – a2*b1
DX= c1*b2 – c2*b1
DY=a1*c2 – a2*c1
IF D=0 AND DX=0 AND DY =0 THEN
PRINT”Система имеет бесконечное множество решений”
ELSE
IF D=0 THEN
PRINT”Система не имеет решений”
ELSE
X=DX/D: Y=DY/D
PRINT”Решение системы:”;”x=”;X,”y =”;Y
END IF
END IF
END

Многовариантная команда ветвления.

При необходимости работы с рядом условных переходов или с рядом внутренних подпрограмм удобны конструкции типа:

ON< Выражение> GOTO Метка1, Метка2… 
ON< Выражение> GOSUB Метка1, Метка2… 

Здесь, если выражение двет значения 1, 2, 3…, происходит переход к программным блокам или подпрограммам, помеченным соответствующими метками Метка1, Метка2...и.т.д. Если выражение не является целочисленным, оно округляется до ближайшего целого значения. Когда значение выражения не соответствует его допустимому диапозону, никаких переходов не происходит.

К важным управляющим структурам относятся и операторы обработки ошибок типа:

ON ERROR GOTO Метка 
ON ERROR GOSUB Метка 

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

Пример 7.

‘Обработка ошибки деления на ноль 
CLS
DO
ON ERROR GOTO WORKER
INPUT”Введите число Х”;X
Y=1/X
PRINT “1/X=”;Y
LOOP
WORKER
IF ERR=11 THEN
PRINT”Ошибка Х=0”
PRINT”Конец вычислений”
END
END IF

В этой программе вычисляется значение 1/X по введенному значению Х. Если Х=0, то возникает сигнал ошибки с кодом 11. При значении системной переменной ERR, равной 11, блок программы с именем WORKER  сообщит об ошибке и завершит вычисления.

Подпрограмму обработки прерывания по ошибке следует завершать оператором:

RESUME<Метка > [NEXT] 

Часто при выборе одного из возможных вариантов приходится проверять на принадлежность заданному набору значений арифметического или символьного выражения. Такой выбор в Turbo-Basic и Qbasic удобно осуществлять с помощью команды SELECT.
 

SELECT CASE V

CASE C1
Серия 1
CASE C2
Серия 2
………….
CASE CN
Серия N
CASE ELSE
Серия
END SELECT

При исполнении команды выбора сначала вычисляется выражение V, стоящие после оператора CASE (случай). Затем последовательно проверяются условия C1…CN, начиная с первого, до тех пор, пока не встретится условие, принимающее значение “истина”.

Далее выполняется соответствующая серия команд, и на этом выполнение команды выбора завершается. Если ни одно из условий C1…CN не является истинными, то выполняется серия команд, следующих за словом ELSE. Как и в конструкции IF…, последняя серия в команде SELECT может отсутствовать. При этом, служебные слова CASE ELSE также опускаются.

Пример 8.

Ракета запускается с Земли со скоростью V(км.час) в направлении движения Земли по орбите вокруг Солнца. Составьте программу, определяющую результат запуска ракеты в зависимости от скорости V. Известно, что при V<7,8 ракета упадет  на Землю; при 7,816,4 ракета покинет солнечную систему. 

Rem ЗАПУСК РАКЕТЫ
INPUT”Введите скорость ракеты”; V
SELECT CASE V
CASE <7.8
PRINT”Ракета упадет на Землю”
CASE <11.2
PRINT”Ракета станет спутником Земли”
CASE <16.4
PRINT”Ракета станет спутником Солнца”
CASE ELSE
PRINT”Ракета  покинет Солнечную систему”
END SELECT

Пример 9.

Шуточная программа “Сколько вам лет?” 

INPUT”Сколько вам лет?”; YearsOld
SELECT CASE YearsOld
CASE IS<0
PRINT”Вас ещё нет на свете!!!”
CASE IS =0
PRINT”Вы только родились…”
CASE 1 TO 2
PRINT”Обычно в таком возрасте ещё не умеют говорить”
CASE 2 TO 17
PRINT”Ничего особенного в вашем возрасте нет…”
CASE IS =18
PRINT”С совершеннолетием вас!”
CASE IS >100
PRINT”Столько не живут!”
END SELECT

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

  1. Решите уравнение . 
  2. Два треугольника заданы своими сторонами. Составьте алгоритм и программу, осуществляющую проверку этих треугольников на равенство. 


По теме: методические разработки, презентации и конспекты

Методическая разработка урока информатики в 11 классе "Вставка гиперссылок для управления презентацией PowerPoint"

Ресурс к уроку информатики в 11 классе по теме "Вставка гиперссылок для управления презентацией PowerPoint" представляет комплект методических материалов: 1. План урока. 2. Презентация, сопровождающ...

Методическая разработка урока информатики в 5 классе "Компьютерная помощница - мышь"

Методическая разработка урока информатики по УМК Макаровой Н.В. "Информатика. Учебник 5-6. Начальный курс", изд "Питер", 2007 представляет собой комплект, в состав которого входят:1. план урока;2. пре...

Методическая разработка урока информатики и ИКТ к учебнику "Информатика и ИКТ. 8 класс"/ Семакин И.Г. и др. "Предмет информатики. Техника безопасности в компьютерном классе"

Методическая разработка урока информатики и ИКТ к учебнику "Информатика и ИКТ. 8 класс"/ Семакин И.Г.  и др.  "Предмет информатики. Техника безопасности в компьютерном классе"  включает...

Методическая разработка урока информатики по теме "Электронные таблицы" Урок 1.

В методическую  разработку включены:Конспект, план урока, интеррактивная презентация, практическая работа №1по теме "Электронные таблицы. Адресация ячеек Урок №1"...

Методическая разработка урока информатики по теме "Электронные таблицы" Урок 2.

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

Методическая разработка урока информатики по теме "Электронные таблицы" Урок 3.

Методическая разработка урока информатики по теме "Электронные таблицы" Урок 3.В методическую разработку входят:План урока, конспект урока, интеррактивная презентация...

Методическая разработка урока информатики. Конспект урока. "Электронные таблицы. Диаграммы." Урок 5.

Методическая разработка. План-конспект урока по информатике. По теме Диаграммы в электронных таблицах....