СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

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

Проверка знаний

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

Закрепление изученного

Итоги урока

Исправление ошибок в простой программе с условными операторами

Категория: Информатика

Нажмите, чтобы узнать подробности

Интегрированный урок по теме "Исправление ошибок в простой программе с условными операторами"

Просмотр содержимого документа
«Исправление ошибок в простой программе с условными операторами»

Учитель информатики Еланцев А.Н. и математики Каштанова И.А.

Урок по информатике:

Исправление ошибок в простой программе с условными операторами С1.

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

Форма урока: практикум; интегрированный.

Цель данного типа урока - применение знаний на практике.

Задачи:

  • образовательные: научить применять полученные знания на практике; оперировать имеющимся потенциалом в конкретной ситуации; закрепить умения и навыки работы с функциями, закрепить правила построения программы на Паскале; научить составлять сложные условия для реализации программы; продолжить работу над понятийным аппаратом (условный оператор); научить отстаивать свою точку зрения; закрепить умения вычленять проблемы.

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

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


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

Тема урока: Исправление ошибок в простой программе с условными операторами С1.

Цели и задачи урока:

-образовательные

  • способствовать формированию навыков решения практических задач уровня С1 по информатике с использованием знаний свойств и графиков функций;

  • обеспечить в ходе урока формирование навыков работы с графиками функций;

  • повторить свойства функций;

  • закрепить правила построения программы на Паскале;

  • научить составлять сложные условия для реализации программы; продолжить работу над понятийным аппаратом (условный оператор);

-воспитательные

  • воспитывать навыки культуры работы с компьютером;

  • формировать навыки самоконтроля и самопроверки;

-развивающие

  • показать неразрывную связь между науками;

  • развивать чувство ответственности и навыки самостоятельного труда и самоконтроля;

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

  • вырабатывать умение классифицировать и обобщать;

Оборудование:

  • мультимедийный проектор;

  • мультимедийная презентация урока;

  • персональные компьютеры;

  • раздаточный материал, тригонометрические круги.


Структура урока

1 этап: организационный, постановки цели.

Тема урока: Исправление ошибок в простой программе с условными операторами С1.

Урок будут вести два учителя математики и информатики. Работать на уроке вы будете в группе по 4 человека, в конце работы коротко представите результаты своей работы.

2 этап: актуализации знаний.

Для решения задач 1 части С необходимо обладать знаниями не только в области программирования, но и в области математики, так как она является основой для составления неравенств и решения задач этого типа.

Для разминки разберем следующие задания по математике, повторим методы решения неравенств. Решите неравенства.



Можно рассмотреть

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

3 этап: Повторение знаний по математике для успешного выполнения заданий по информатике.

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

График функции y=sin x

Свойства функции y=sin x

D(f)= R;

E(f)=[-1;1]

при x=π/2+2πn, n∈Z принимает наибольшее значение y=1,

при x=-π/2+2πn, n∈Z принимает наименьшее значение y=-1;

периодическая с основным периодом 2π;

нечетная;

пересекает ось абсцисс в точках (π+πn;0), n∈Z

ось ординат в точке (0;0);

График функции y=cos x



Свойства функции y=cos x

D(f)= R;

E(f)=[-1;1]

при x=0+2πn, n∈Z принимает наибольшее значение y=1,

при x=π+2πn принимает наименьшее значение y=-1;

периодическая с основным периодом 2π;

четная;

пересекает ось абсцисс в точках (π/2+πn;0), n∈Z

ось ординат в точке (0;1);


Рекомендации для выполнения заданий С1.

По математике

Для функций вспомни:

Область определения

Множество значений

Максимум и минимум функции

Периодичность

Четность(симметрия графика)

Точки пересечения графика функции с осями

Точки пересечения с другими графиками

Значения функции в точках, ограничивающих заштрихованную область

Уравнения предложенной функции

…………………………………Информатика………………………………………….

В задачах С1 содержится решение, но как правило, оно является неполным.

Обратите внимание на то, что в заданиях требуется найти смысловую, а не синтаксическую ошибку. Задачи этого типа содержат некоторое количество условий. Смысловой ошибкой в программе как раз является то, что какая-то часть условий не рассмотрена и тем самым не записана в программе, что приводит её работу к неверному результату.

Как же искать такую ошибку в программе? Самый правильный путь – это решить задачу самостоятельно, рассмотрев все возможные случаи, изначально не опираясь на исходный код программы. После этого соотнести написанную самостоятельно программу с её исходным кодом. И после этого написать код по всем правилам, которые будут присущи данной программе. Но для того, что бы выполнить эти операции, давайте повторим с вами:

Условный оператор (ветвления)

Полная и неполная форма условного оператора.

Условный оператор(ветвление)

ветвление – это выбор одного из двух возможных вариантов действий в зависимости от того, выполняется ли некоторое условие;

на блок-схеме алгоритма ветвление изображается в виде блока-ромба с одним входом и двумя выходами:


условный оператор может иметь полную или неполную форму; вот фрагменты программы, реализующие ветвления, показанные на рисунках 1 и 2:

полная форма:

неполная форма:

if a = b then begin

{ блок-1 }

end

else begin

{ блок-2 }

end;

if a = b then begin

{ блок-1 }

end;

Рассмотрим задачу: Пример задания:

Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно. Вот она:

var x,y: real;

begin

readln(x,y);

if y

if x = 0 then

if y = sin(x) then

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

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

end.


Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы) .


ПО РИСУНКУ КОММЕНТИРУЕТ УЧИТЕЛЬ МАТЕМАТИКИ СОВМЕСТНО С УЧАЩИМИСЯ.

Решение:

сначала лучше отложить в сторону программу и попытаться написать условие, которым должны отвечать точки, попавшие в выделенную область

заштрихованная область ограничена по координате , она находится

справа от оси , что равносильно условию (с учетом границы здесь и далее получаем нестрогие неравенства)

слева от первого максимума функции ; из математики мы знаем, что эта функция достигает максимума при , поэтому получаем второе условие

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

ниже линии , откуда следует третье условие

выше линии , что дает четвертое условие

НЕ ЗАБЫТЬ ПРО ПЕРИОД!!!!!!!!

итак, точка находится в заданной области, если все эти четыре условия выполняются одновременно; можно предположить, что в программе нужно использовать четыре вложенных условных оператора или один условный оператор, в котором четыре простых условия (отношения , , и ) связаны с помощью логической операции and («И», одновременное выполнение всех условий)

теперь смотрим на программу: здесь три (а не четыре!) вложенных условных оператора с простыми отношениями, поэтому явно какое-то условие не учтено; легко найти, что «забыли» условие

оператор write('принадлежит') помещен внутрь всех трех условных операторов, то есть, он выполнится тогда, когда три (а не четыре!) условия истинны;

отметим на рисунке область, где выполняются все нужные условия, кроме (красная зона);

для всех точек, которые находятся в «красной» зоне программа выдаст сообщение «принадлежит», хотя в самом деле эти точки не принадлежит заданной области; одна из таких точек имеет координаты

теперь выясним, когда программа выдает сообщение «не принадлежит»

if y

if x = 0 then

if y = sin(x) then

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

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

судя по записи «лесенкой», else относится к самому первому оператору if, однако в самом деле это не так; перед словом else нет end, поэтому ищем ближайший if: это самый внутренний оператор, правильная запись «лесенкой» выглядит так:

if y

if x = 0 then

if y = sin(x) then

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

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

этот фрагмент программы соответствует блок-схеме, которая

показана на рисунке справа:

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

итак, первая часть ответа такова

примеры входных данных, на которых программа работает неверно:
(x=3.14, y=0.5) (неправильно определяет принадлежность точки области)
(x=0, y=1) или (x=-1, y=0) (не выдает вообще никакого сообщения)

остается исправить эту программу;
начнем с самого «лобового способа»: добавим в программу четвертый (вложенный) условный оператор, проверяющий условие , и еще три блока else, чтобы выводить строку «не принадлежит» в том случае, когда хотя бы один из них не сработал:

if x

if y

if x = 0 then

if y = sin(x) then

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

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

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

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

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

обратите внимание, что точка с запятой есть только после самого последнего оператора write, так как остальные стоят перед ключевым словом else, перед которым точка с запятой не ставится

хотя приведенный выше метод дает работоспособную программу, она получается слишком длинная и некрасивая для такой простой задачи; достаточно сказать, что оператор
write('не принадлежит') повторяется в тексте 4 раза

более элегантное решение формулируется на словах так: «точка принадлежит области, если выполняются одновременно 4 приведенных выше условия, а иначе – не принадлежит»; а вот реализация на Паскале (приведем программу-ответ целиком):

var x,y: real;

begin

readln(x,y);

if (x = 0) and (x

(y = sin(x)) then

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

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

end.

здесь использовано сложное условие, в котором 4 отношения связаны операциями and («И», требуется одновременное выполнение всех условий)

4 этап: оперирования знаниями, умениями и навыками при решении практических задач, составление отчета о выполнении работы.

Учащиеся получают задания и работают по 4 человека в группе. При этом 2 отвечают за математическую сторону и 2 за информатику. Учителя в это время консультируют.



3)















5 этап: отчет о выполнении работы с комментариями.



6 этап: Выведение рекомендаций для работы с заданиями С1.








Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!