1562687
столько раз учителя, ученики и родители
посетили сайт «Инфоурок»
за прошедшие 24 часа
Добавить материал и получить бесплатное
свидетельство о публикации
в СМИ №ФС77-60625 от 20.01.2015
ИнфоурокИнформатикаКонспектыКонспект урока информатики в 11 классе «Решение задач по программированию»

Конспект урока информатики в 11 классе «Решение задач по программированию»

ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону N273-ФЗ «Об образовании в Российской Федерации» педагогическая деятельность требует от педагога наличия системы специальных знаний в области обучения и воспитания детей с ОВЗ. Поэтому для всех педагогов является актуальным повышение квалификации по этому направлению!

Дистанционный курс «Организация работы с обучающимися с ограниченными возможностями здоровья (ОВЗ) в соответствии с ФГОС» от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (72 часа).

Подать заявку на курс
библиотека
материалов

План-конспект урока в 11 «б» классе по информатике

"Решение задач по программированию", 13.03.2013

Цель урока: комплексное применение полученных знаний по программированию в среде Паскаль при решении задач.

Задачи урока:

Обучающие:

  • закрепить знания о структуре программы в среде Turbo Pascal и основных операторов программы

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

  • формировать умения комплексного применения знаний по программированию в среде Turbo Pascal при решении задач

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

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

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

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

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

  • воспитание творческого подхода к работе, умения экспериментировать;

  • формирование целеустремленности, аккуратности при работе на компьютере, информационной культуры.

Практические развитие навыков написания программ на компьютере с помощью языка Паскаль

Тип урока: закрепление материала с применением современных компьютерных технологий.

Вид урока: комбинированный.

Требования к знаниям и умениям:

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

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

Формы организации учебной деятельности: индивидуально-фронтальная.

Программно-дидактическое обеспечение:

  • Оборудование: ПК, проектор, интерактивная доска.

  • Программное обеспечение: Turbo Pascal, Power Point.

  • Презентация по данной теме: Задачи по программированию

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

 План урока:

  1. Организационный момент (1 мин)

  2. Повторение (3 мин) + устная проверочная (4 мин)

  3. Совместное решение задач (9 мин)

  4. Физминутка (1 мин)

  5. Практическая работа (20 мин)

  6. Подведение итогов (1 мин)

Ход урока


  1. Орг. момент. Тема, цель, эпиграф урока«Решение задач — специфическое достижение разума, разум же особый дар, которым наделен человек» (Дж. Пойа).

2. Повторение: (см.слайды)+ устная проверочная (4 мин)

Учитель задает вопросы: 

1). Из каких разделов состоит программа на языке Паскаль? (Раздел заголовка, раздел описаний, раздел операторов). 

2). С какого служебного слова начинается программа? (Program) 

3). Как описываются переменные? (Var список переменных: тип переменных). 

4). С чего начинается основная программа? (Begin) 

5). Как записывается оператор вывода? (Writeln (‘текст’, список переменных)) 

6). Как записывается оператор ввода? (Readln(список переменных)) 

7). Как записывается оператор присваивания? (имя переменной := арифм. выражение) 

8). Чем заканчивается программа? (End.) 

  1. Совместное решение задач (9 мин)



1.Задача. Даны три числа. Найти произведение этих чисел. (Найти сумму этих чисел)

2.Задача. Даны три числа. Найти произведение четных из них

3.Задача. Даны три числа. Найти сумму нечетных из них

4. задача.Определить какое из трех, введенных пользователем, чисел максимальное и вывести его на экран.

Описание переменных: 

В программе будет три переменные для чисел, вводимых пользователем: n1, n2, n3. Также для упрощения алгоритма введем четвертую переменную, в которую по ходу выполнения кода будет помещено максимальное значение: max.

Алгоритм решения задачи: 

  1. Сравнить первое и второе число (n1 и n2). Переменной max присвоить значение переменной, содержащей большее значение.

  2. Сравнить значение переменной max с третьим числом, введенным пользователем (n3). Если значение n3 окажется больше, чем max, то присвоить max значение третьего числа. Если же значение max окажется больше, то ничего не делать.

Программа на языке Паскаль: 

var

a1, a2, a3, max: integer;

 

begin

write ('Введите три числа: ');

readln (a1, a2, a3);

 

if a1 >= a2 then

max := a1

else

max := a2;

 

if a3 > max then

max := a3;

 

writeln ('Максимальное из них: ', max);

 

readln

end.

Примечания: 

Три числа не обязательно могут быть разными. Достаточно предусмотреть вариант равенства значений только в первом операторе if.

4.Физминутка

5. Практическая работа

I группа – за компьютеры – набрать и провести отладку программы 4 задачи

II группа – решение задач по программированию типов С1 ,В2, В5, ЕГЭ по информатике

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

var x: real;

begin

readln(x) ;

if x>l then

if x>=7 then

if x>13 then

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

else

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

end.

Последовательно выполните следующее.

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (А, В, С, D и Е). Границы (точки -5, 1, 7 и 13) принадлежат заштрихованным областям.

Область

Условие 1

(x>1)

Условие 2

(х>=7)

Условие 3

(х>13)

Программа выведет

Область обрабатывается верно

А






В






С






D






Е






В столбцах условий укажите «да», если условие выполнится, «нет», если условие не выполнится, «—» (прочерк), если условие не будет проверяться, «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, напишите «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «Да» или «Нет».

2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)



Решение: Сразу замечаем, что в программе else относится к последнему оператору if. Обратите внимание, что второе условие проверяется в приведенной программе только тогда, когда истинно первое, а третье – только тогда, когда истинны первые два. В остальных ячейках (если условие не проверяется) нужно ставить прочерк:hello_html_m5db059be.png

Область

Условие 1

(x>1)

Условие 2

(х>=7)

Условие 3

(х>13)

Программа выведет

Область
обрабатывается
верно

А

нет



В

нет



С

да

нет



D

да

да

нет



Е

да

да

да



Программы выводит какой-то ответ только тогда когда истинны первые два условия; в этом случае ответ зависит от истинности третьего условия:

Область

Условие 1

(x>1)

Условие 2

(х>=7)

Условие 3

(х>13)

Программа выведет

Область
обрабатывается
верно

А

нет

нет

В

нет

нет

С

да

нет

нет

D

да

да

нет

принадлежит

да

Е

да

да

да

не принадлежит

да

Нужная область представляет собой объединение двух областей, которые описываются двойными неравенствами

-5 <= x <= 1 и 7 <= x <= 13

Поскольку в Паскале двойные неравенства использовать нельзя (а в некоторых языках, например, в школьном алгоритмическом языке системы КуМир – можно!), заменяем их на сложные условия с логической операцией «И» (and):

(-5 <= x) and (x <= 1)

(7 <= x) and (x <= 13)

Для объединения областей два эти условия нужно объединить с помощью логической операции «ИЛИ» (or). Таким образом, получаем такое решение:

if (-5 <= x) and (x <= 1) or

(7 <= x) and (x <= 13) then

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

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

Здесь учтено, что логическая операция «ИЛИ» имеет более низкий приоритет, чем «И», и поэтому выполняется последней.

В2. (базовый уровень, время – 2 мин) (Тема: Оператор присваивания в языке программирования)

Определите значение переменной c после выполнения следующего фрагмента программы.

a := 5;

a := a + 6;

b := –a;

c := a – 2*b;

Решение:

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

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

  3. здесь используются три переменные: a, b, c; до выполнения программы их значения нам неизвестны, поэтому ставим в таблице знаки вопроса:


    a

    b

    c


    ?

    ?

    ?

  4. после выполнения оператора a := 5; изменяется значение переменной a:


    a

    b

    c


    ?

    ?

    ?

    a := 5;

    5



  5. оператор a := a + 6; означает «вычислить значение выражения a + 6 используя текущее значение a (равное 5), и записать результат обратно в переменную a»; таким образом, новое значение равно 5 + 6 = 11:


    a

    b

    c


    ?

    ?

    ?

    a := 5;

    5



    a := a + 6;

    11



  6. следующий оператор, b := -a; изменяет значение переменной b, записывая в нее –a; учитывая, что в a записано число 11, находим, что b будет равно –11:


    a

    b

    c


    ?

    ?

    ?

    a := 5;

    5



    a := a + 6;

    11



    b := –a;


    11


  7. последняя команда, c := a – 2*b, изменяет значение переменной c; при текущих значениях a = 11 и b = –11 результат выражения равен 11 – 2*(–11) = 33, это число и будет записано в переменную c:


    a

    b

    c


    ?

    ?

    ?

    a := 5;

    5



    a := a + 6;

    11



    b := –a;


    11


    c := a – 2*b;



    33

  8. таким образом, правильный ответ – 33.

Возможные ловушки и проблемы:

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

B5 (базовый уровень, время – 2 мин) (Тема: Анализ программы.)

Определите, что будет напечатано в результате работы следующего фрагмента программы:

var k, s: integer;

begin

s:=0;

k:=0;

while s < 1024 do begin

s:=s+10;

k:=k+1;

end;

write(k);

end.

Решение:

  1. из программы видно, что начальные значения переменных k и s равны нулю

  2. цикл заканчивается, когда нарушается условие s < 1024, то есть количество шагов цикла определяется изменением переменной s

  3. после окончания цикла выводится значение переменной k

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

  5. с каждым шагом цикла значение s увеличивается на 10, а значение k – на единицу, так что фактически k – это счётчик шагов цикла

  6. поскольку s увеличивается на 10, конечное значение s должно быть кратно 10, то есть это 1030 > 1024

  7. для достижения этого значения переменную s нужно 103 раза увеличить на 10, поэтому цикл выполнится 103 раза

  8. так как k – это счётчик шагов цикла, конечное значение k будет равно 103

  9. Ответ: 103.

Возможные ловушки и проблемы:

  • можно перепутать переменную, которая выводится на экран (внимательно смотрим на оператор вывода)

B6 (базовый уровень, время – 2 мин)

Тема: рекурсивные алгоритмы.

Что нужно знать:

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

  • чтобы определить рекурсию, нужно задать

    • условие остановки рекурсии (базовый случай или несколько базовых случаев)

    • рекуррентную формулу

  • любую рекурсивную процедуру можно запрограммировать с помощью цикла

  • рекурсия позволяет заменить цикл и в некоторых сложных задачах делает решение более понятным, хотя часто менее эффективным

  • существуют языки программирования, в которых рекурсия используется как один из основных приемов обработки данных (Lisp, Haskell)

Пример задания:

Алгоритм вычисления значения функции F(n), где n – натуральное число,

задан следующими соотношениями:

F(1) = 1

F(n) = F(n–1) * n, при n > 1

Чему равно значение функции F(5)?

В ответе запишите только натуральное число.

Решение:

  1. используя заданную рекуррентную формулу, находим, что

F(5) = F(4) * 5

  1. применив формулу еще несколько раз, получаем

F(5) = F(3) * 4 * 5 = F(2) * 3 * 4 * 5 = F(1) * 2 * 3 * 4 * 5

  1. мы дошли до базового случая, который останавливает рекурсию, так как определяет значение F(1) = 1

  2. окончательно F(5) = 1 * 2 * 3 * 4 * 5 = 120

  3. ответ: 120.

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

Использованные материалы:  

Веб-ссылка: Готовимся к ЕГЭ по информатике (сайт Константина Полякова)

Сайт учителя информатики Константина Полякова: преподавание, наука и жизнь

 Автор/создатель: Поляков К.Ю.

 http://kpolyakov.narod.ru

 

 

Сайт учителя информатики Дмитрия Тарасова

http://videouroki.net  ;  http://srclick.ru/click/c2001hji1uhVAj64ce64yFu4Qps

 

Подготовка к ЕГЭ по информатике в режиме online

http://ege.yandex.ru/informatics/

 

Образовательный портал «РЕШУ ЕГЭ» Дмитрия Гущина

http://soc.reshuege.ru/



 



8


Курс профессиональной переподготовки
Учитель информатики
Почему учителям и воспитателям следует проходить курсы повышения квалификации и профессиональной переподготовки в учебном центре «Инфоурок» ?

• Огромный каталог:  677 курсов профессиональной переподготовки и повышения квалификации;
• Очень низкая цена, при этом доступна оплата обучения в рассрочку – первый взнос всего 10%, оставшуюся часть необходимо оплатить до конца обучения;
• Вы можете начать обучение уже сегодня (группы формируются ежедневно);
• Курсы проходят полностью в дистанционном режиме (форма обучения в документах не указывается);
• Возможность оплаты курса за счёт Вашей организации.
• Дипломы и Удостоверения от проекта «Инфоурок» соответствуют всем установленным законодательству РФ требованиям. (Согласно ФЗ «Об образовании в Российской Федерации» от 2012 года).
Найдите материал к любому уроку,
указав свой предмет (категорию), класс, учебник и тему:
также Вы можете выбрать тип материала:
Краткое описание документа:

Общая характеристика урока:

  1. В соответствии с календарно-тематическим планированием и предварительному замыслу и плану тема данного урока «Решение задач по программированию» из раздела «Повторение пройденного по теме «Алгоритмизация и программирование»» На раздел дается 10 часов, это второй урок.
  2. Цель урока: комплексное применение полученных знаний по программированию при решении задач в среде Turbo Pascal

Программно-дидактическое обеспечение:
Оборудование: ПК, проектор, интерактивная доска.

ПО: турбо Паскаль, Power Point.

Презентация по данной теме: Задачи по программированию

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

Общая информация

Вам будут интересны эти курсы:

Курс повышения квалификации «Внедрение системы компьютерной математики в процесс обучения математике в старших классах в рамках реализации ФГОС»
Курс повышения квалификации «Организация работы по формированию медиаграмотности и повышению уровня информационных компетенций всех участников образовательного процесса»
Курс повышения квалификации «Облачные технологии в образовании»
Курс повышения квалификации «Сетевые и дистанционные (электронные) формы обучения в условиях реализации ФГОС по ТОП-50»
Курс повышения квалификации «Использование компьютерных технологий в процессе обучения в условиях реализации ФГОС»
Курс повышения квалификации «Специфика преподавания информатики в начальных классах с учетом ФГОС НОО»
Курс повышения квалификации «Введение в программирование на языке С (СИ)»
Курс профессиональной переподготовки «Управление в сфере информационных технологий в образовательной организации»
Курс профессиональной переподготовки «Математика и информатика: теория и методика преподавания в образовательной организации»
Курс повышения квалификации «Современные языки программирования интегрированной оболочки Microsoft Visual Studio C# NET., C++. NET, VB.NET. с использованием структурного и объектно-ориентированного методов разработки корпоративных систем»
Курс повышения квалификации «Применение интерактивных образовательных платформ на примере платформы Moodle»
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.
Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.