ЦЕЛЬ УРОКА: Организация разветвляющихся процессов в решении задач. Изучение темы осуществить через выполнение практической работы. ЗАДАЧИ: 1. Образовательные: • Сформировать знания о понятии оператора выбора в Turbo Pascal; • Познакомить учащихся с синтаксисом условного оператора; • Раскрыть сущность способов использования условного оператора; • Рассмотреть приемы работы в организации ветвлений. 2. Развивающие: • Получить практические знания и навыки в использовании условного оператора в решении задач; • Развитие логического и творческого мышления - умение анализировать, обобщать, выделять главное, самостоятельно делать выводы; • Умение работать с конспектом. 3. Воспитательные: • Воспитание научного мировоззрения; • Ответственности в самостоятельном выполнении работы. ТИП УРОКА: Комбинированный. ФОРМА УРОКА: Практическая работа. ОБОРУДОВАНИЕ: ПК Pentium IV. Среда программирования Turbo Pascal. Раздаточный материал: карточки с заданиями самостоятельной работы. ХОД УРОКА: I. Организационный момент II. Изучение нового материала §1 Условный оператор В-с: Какой алгоритм наз-ся разветвляющимся? Ответ: Алгоритм, при выполнении которого необходимо выполнить какое-либо условие называется разветвляющимся. Условие описывается словами: Если … то… иначе If...Then…Else Данные ключевые слова входят в понятие Условного оператора. Т.о. условный оператор используется для описания некоторого условия. Условный оператор в программах используется в двух форматах: 1) Полная форма записи: IF <условие> THEN <оператор1> ELSE <оператор2>; 2) Сокращенная форма записи: IF <условие> THEN <оператор1>; Логика работы оператора в первом случае: Если <условие> =True (истинно), то выполняется <оператор1> Иначе <условие> =False (ложно) выполняется <оператор2> Логика работы оператора во втором случае: Если <условие> = False (ложно), то выполняется оператор следующий сразу за операторм IF. В качестве примера использования условного оператора рассмотрим задачу о нахождении наибольшего из двух чисел: Составим алгоритм решения данной задачи: Дано: a,b – тип данных(?) – например целые числа Решение: Если a>b то Вывести ответ:’Большее из двух чисел а’ Иначе Вывести ответ:’Большее из двух чисел b’ ЗАДАНИЕ 1 1. Запустить среду программирования Turbo Pascal. 2. По данному алгоритму набрать программу. 3. Откомпилировать программу, запустить на выполнение 4. Проверить работу программы для всех случаев. 5. Переписать текст программы в тетрадь. 6. Сохраните программу в файле Number_1 В тетрадях учащихся запишется следующий текст программы: program Number; var a,b:integer; Begin Writeln('Введите два целых числа a и b:'); Readln(a,b); If a>b then Writeln('Большее из двух чисел а=',a) else Writeln('Большее из двух чисел b=',b); end. В-с: Всем ли устраивает нас наша программа? У нашей программы есть небольшой недостаток – в ней не предусмотрен случай, когда оба значения равны. Посмотрим, что появится на экране в случае ввода одинаковых значений. Учитывая возможность одинаковых значений в программу необходимо внести изменения: иначе Если a=b То Вывести ответ «Число a=b» program Number; var a,b:integer; Begin Writeln('Введите два целых числа a и b:'); Readln(a,b); If a>b then Writeln('Большее из двух чисел а=',a) else if a=b then Writeln('Число a=b=',a) else Writeln('Большее из двух чисел b=',b); end. ЗАДАНИЕ 2 1. Внести эти изменения в текст программы. 2. Откомпилировать программу, запустить на выполнение 3. Проверить работу программы для всех случаев. 4. Переписать текст программы в тетрадь. §2 Решение задач Давайте рассмотрим необходимость применения условных операторов в решении задач. Для этого используем задачу прошлого занятия («Вычисление дроби») – файл (Drob_1.pas). ЗАДАНИЕ 3 1. Открыть файл Drob_1.pas 2. Откомпилировать программу, запустить на выполнение 3. Проверить работу программы для значений 12,5,5 4. Проанализировать результат – Devision by zero (Деление на ноль). Program Drob; var Y,A,B,C:real; Begin Writeln('Введите значения А, В, С ‘:'); Readln(A,B,C); Y:=A/(B-C); Writeln('Значение функции Y=',Y:2); end. В-с: Какие изменения необходимо внести в текст программы, чтобы учесть эту ситуацию? Ответ: B-C=0 B=C Если B=C то ‘Решений нет’ Иначе Y:=A/(B-C); или на языке Pascal: If B=C then Writeln('Решений нет’) else begin Y:=A/(B-C); Writeln('Значение функции Y=',Y:2); end; ЗАДАНИЕ 4 1. Внести эти изменения в текст программы. 2. Откомпилировать программу, запустить на выполнение 3. Проверить работу программы для всех случаев. 4. Переписать текст программы в тетрадь. В тетрадях учащихся запишется следующий текст программы: Program Drob; var Y,A,B,C:real; Begin Writeln(' Введите значения А, В, С ‘:'); Readln(A,B,C); If B=C then Writeln('Решений нет’) else begin Y:=A/(B-C); Writeln('Значение функции Y=',Y:2); end; end. Рассмотрим еще одну задачу. Составьте программу, проверяющую верно ли утверждение, что введенное вами целое число является четным. Составим алгоритм решения данной задачи: Дано: Х – тип данных(?) –целые числа Решение: Если Х mod 2=0 то Вывести ответ:’Четное число’ иначе Вывести ответ:’Нечетное число’ ЗАДАНИЕ 5 1. По данному алгоритму набрать программу. 2. Откомпилировать программу, запустить на выполнение 3. Проверить работу программы для всех случаев. 4. Переписать текст программы в тетрадь. 5. Сохраните программу в файле Chisla_1 В тетрадях учащихся запишется следующий текст программы: Program Chislo; var x:integer; Begin Writeln('Ведите значение числа'); Readln(x); If x mod 2=0 then Writeln('Ваше число четное') else Writeln ('Ваше число нечетное'); end. III. Закрепление новой темы САМОСТОЯЕТЕЛЬНАЯ РАБОТА Раздаточный материал (примерный вид карточки): Написать программу, определяющую следующую функцию: sin(x), если х>=0 У= -1, если х<0 Примерный вид текста программы: Program Zadacha; var x,y:real; Begin Writeln('Введите значение х'); Readln(x); If x>0 then y:=sin(x) else y:=-1; Writeln ('г=',y:2); end. IV. Постановка домашнего задания 1. Читать лекцию. 2. Напишите программу, которая анализирует человека по возрасту и относит к одной из четырех групп: дошкольник, ученик, работник, пенсионер. Возраст вводится с клавиатуры.
|