microbik.ru
1

Конспект урока по теме:

"Технология решения задач на компьютере"


класс: 11

Тип урока:

  • Урок закрепления знаний.


Цели урока:


Обучающая:

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

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

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


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

  • помочь учащимся осознать социальную и практическую значимость учебного материала;

  • обеспечить развитие у школьников умений сравнивать и классифицировать познавательные объекты;

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


Воспитывающая:

  • осуществлять эстетическое воспитание;

  • способствовать обогащению внутреннего мира школьников.


Задачи урока: применение теоретических знаний на практике.


Знать:

  • понятие алгоритма и модели;

  • этапы решения задач на ЭВМ;

  • основные приемы работы в среде программирования Visual Basic 5.0 (SP2) CCE;

  • необходимость уточнения параметров для получения более точного результата.


Уметь:

  • определять “плохо” или “хорошо” поставлена задача;

  • выделить исходные данные и результаты;

  • составлять сценарий работы (разрабатывать интерфейс);

  • разрабатывать алгоритм задачи;

  • преобразовывать алгоритм в язык программирования Visual Basic;

  • анализировать соответствующие модели и исходные задачи.


Методы:

  • информационный (словесный);

  • наглядный;

  • репродуктивный.


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


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

  • доска, раздаточный материал, компьютеры;

  • ПО: Windows XP Professional, MS Word 2002, Visual Basic 5.0 (SP2) CCE.


Особенности проведения: тема рассчитана на 2 академических часа.

На первом уроке изучается новый материал в лекционной форме. На втором уроке учащимся предлагается решить поэтапно конкретную задачу: Движение тела, бро­шенного вертикально вверх с начальной скоростью с некоторой высоты, с реализацией её на компьютере при помощи языка программирования Visual Basic.

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

Ребята, мы с вами уже знакомы с понятием алгоритма и умеем составлять простейшие программы на языке программирования Visual Basic. Наша же с вами задача: при помощи ЭВМ научиться решать более серьезные задачи из различных предметных областей. Хотя раздел алгоритмизации и считается одним из самых трудных школьных разделов информатики, внимательно выслушав материал сегодняшнего урока и усвоив принципиальную схему решения задач на ЭВМ, вы сможете покорить и эту вершину.


Человек в течение своей жизни постоянно ставит перед собой те или иные задачи и пытается их решить. Оказывается, для всякой задачи, независимо от ее содержания, можно выделить основные этапы (и приемы) ее решения. Методика постановки решения задачи, разработанная в кибернетике, пригодна как для решения математических, физических, химических, биологических задач, так и для таких далеких от информатики областей как, например, написание сочинения по литературе на тему «Образ Пьера Безухова в романе Л.Н.Толстого «Война и мир».


2. Изучение нового материала


Решение задач на ЭВМ (“Жизненный цикл” программы) можно разбить на следующие ЭТАПЫ:
^

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


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

На данном этапе надо дать четкий ответ на четыре вопроса:

1. Что требуется? (группа параметров, обозначаемая )

^ 2. Что дано? ()

3. Какие результаты будут правильными, а какие нет?

4. Какие данные допустимы?

Точность и четкость постановки задачи - это 50% решения? На этапе постановки задачи ее можно представить в виде “черного ящика” с известными значениями входа и выхода.

черный ящик

Y








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

II. Разработка математической модели.


1. При разработке математической модели какой-либо задачи необходимо выделить все возможные связи между объектами задачи, в том числе и неочевидные.

2. Далее необходимо определить какие из них являются существенными, а какими можно пренебречь. Эта задача не так проста, как может показаться на первый взгляд. Например, можно ли пренебречь сопротивлением воздуха при падении двух ядер разного размера и веса с Пизанской башни? (Опыт Галилея). Оказывается, сопротивление воздуха является причиной отставания более легкого (и меньшего) ядра на два пальца - “аргумент”, который приводили в доказательство своей правоты противники Галилея. Таким образом, надо очень внимательно оценивать влияние тех факторов, которыми мы хотим пренебречь.

3. Записать математические соотношения (формулы, уравнения, неравенства и так далее), связывающие результаты с исходными данными.
^

III. Составление сценария работы с ЭВМ (разработка интерфейса).


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

Однако даже для простой программы следует все-таки разработать минимальный сценарий, представив себе, что именно в каждый момент будет видеть человек, сидящий перед экраном ЭВМ. Это поможет избежать многих ошибок, возникающих оттого, что автор программы считает само собой разумеющимся или очевидным, не являющимся, однако очевидным для пользователя. Например, в программе вычисления длины окружности необходимо ввести значение диаметра. Автор программы предполагает, что после начала работы программы будет введено значение длины диаметра. Однако если на экран не будет выдано сообщение о том, что ЭВМ ожидает ввода этого значения, то человек, сидящий перед экраном, ничего не будет знать о том, что именно он должен вести (и даже, может быть, вообще не подозревая о том, что что-то там надо вводить). В результате человек и ЭВМ, находясь по разные стороны экрана дисплея, будут достаточно долго ожидать реакции друг от друга.
^

IV. Разработка алгоритма и структуры данных.


Разработка алгоритма — раскрытие “черного ящика”. Для создания “хорошего” алгоритма следует придерживаться определенных принципов (дисциплины) программирования.

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

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

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

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

Цель такого представления состоит в том, чтобы еще до этапа программирования убедиться в правильности логики проектируемого алгоритма.
^

V. Кодирование.


Кодированием называется перевод алгоритма на машинный или алгоритмический язык. Если алгоритм разработан достаточно хорошо, то эта процедура при условии достаточного владения языком не представляет особых трудностей. Если алгоритм записан на псевдокоде, то его, как правило, можно сразу переводить на алгоритмический язык. В таком случае перевод становится чисто формальной нетворческой процедурой.
^

VI. Отладка, тестирование и анализ.


Отладка и тестирование (испытание) программы занимают наибольшее количество времени (от 50% до 70% всей работы). Тестирование — испытание программы — прогон ее частей или программы целиком в системе, подставляющей испытываемой программе те или иные данные и анализ полученных данных. Отладка — внесение исправлений в программу по результатам тестирования.

При подборе тестов следует предусмотреть:

1) Проверку основных частных случаев задачи.

2) Проверку граничных условий.

3) Проверку основных типов недопустимых данных.
^

VII. Эксплуатация и модификация программы.


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

При эксплуатации программы, обычно по прошествии некоторого времени, возникают дополнительные требования или пожелания вследствие изменения условий эксплуатации, появления новой техники или просто оттого, что пользователи программы “входят во вкус” и хотят максимально использовать появившиеся возможности. В этом случае приходится проводить модификацию программ, разрабатывая новые версии, иногда существенно отличающиеся от первоначального варианта. Например, первая версия программы разработана без учета требований современного интерфейса: без системы меню, без графики и так далее. Ясно, что вторая версия программы должна учитывать эти требования. На пользователя такие изменения в программе могут произвести впечатление совершенно новой программы и соответственно отразиться на ее цене.

3. Подведение итогов. (нарисовать в тетради схему и еще раз проговорить основные этапы решения задачи на ПК)


Этапы решения задач на ЭВМ


^

I. Постановка задачи (из любой предметной области)




II. Разработка математической модели




^

III. Составление сценария работы с ЭВМ (разработка интерфейса)




IV. Разработка алгоритма и структуры данных




V. Кодирование




^

VI. Отладка, тестирование и анализ




VII. Эксплуатация и модификация программы



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

Выучить записи в тетради.


^ Движение тела, бро­шенного вертикально вверх с начальной скоростью

с некоторой высоты


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


У учеников в тетрадях с прошлого урока имеется схема “Этапы решения задач на ЭВМ”.


Ребята, с предыдущего занятия мы с вами уже знакомы с основными этапами решения задач с помощью компьютера. Сегодня нам необходи­мо решить физическую задачу по этапам: нахождение координаты тела в за­данный момент времени и закодировать её на языке программирования Visual Basic.
^

2. Изучение нового материала



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

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

1. Ввести значения для аргументов алгоритма, переменных: V0 (начальной скорости), Н0 (высоты бросания) и Т (вре­мени).

2. Вычислить координату и скорость тела.

3. Напечатать результаты алгоритма, значения перемен­ных: Y (координата) и V (скорость).


II этап. Разработка математической модели

Формулы для расчета:

Y = H0 + V0 * T - G * T * T / 2

V = V0 - G * T


III этап. Составление сценария работы с ЭВМ (разработка интерфейса).

Графический интер­фейс разрабатываемого приложения должен содержать:

  • пять текстовых полей: три для ввода данных (начальной высоты, начальной скорости и времени) и два для вывода результатов вычислений (высоты и скорости);

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

  • одну кнопку CommandButton для запуска процедуры вычисления координаты и скорости тела.


IV этап. Разработка алгоритма и структуры данных (Разработка приложения Бросание тела в среде Visual Basic).

1. Запустить Visual Basic.


2. Создать новый проект командой [File-New-Standard].

Визуальное программирование графического интерфей­са. Первый шаг работы над приложением — это разработка графического интерфейса приложения. Графический интер­фейс этого приложения должен содержать:

  • пять текстовых полей TextBox: три для ввода данных и два для вывода результатов вычислений;

  • пять названий полей Label;

  • одну кнопку CommandButton для запуска процедуры вычисления координаты и скорости тела.


3. Поместить на форму, используя Панель инструментов, управляющие элементы: пять надписей – вывод названий полей (Label1, Label2, Label3, Label4, Label5), пять текстовых полей (Textl, Text2, Text3, Text4, Text5) и oднy кнопку (Command1).

Задание значений свойствам объектов графического ин­терфейса. На втором шаге работы над проектом необходимо изменить свойства объектов приложения так, чтобы они со­ответствовали решаемой задаче.

Изменим значение свойства Caption (Надпись) объекта Form1, которое по умолчанию равно Form1, на значение Бросание тела.

Изменим свойства управляющего элемента Command1 (Кнопка). Значение свойства Caption (по умолчанию Соmmand1) заменим на значение Вычислить, а значение свойства Name (по умолчанию Command1) — на CmdCalc.

Для объектов TextBox (Текстовых полей) изменим зна­чение свойства Name. Для ввода значений скорости будем ис­пользовать текстовое поле с именем TxtV0, для ввода значе­ний начальной высоты — поле с именем TxtH0, для ввода моментов времени — поле с именем TxtT, для вывода коор­динаты тела — поле с именем TxtY, для вывода скорости тела — поле с именем TxtV.

Значение свойства Text для объектов TextBox обнулим. Кроме того, необходимо задать значения свойству Font, которые обеспечили бы подходящий размер шрифта.


4. Во время работы приложения пользователь будет вводить исходные данные в соответствующие текстовые поля, а щел­чок по кнопке Вычислить будет приводить к вызову собы­тийной процедуры CmdCalc_Click.

Данная процедура должна обеспечивать:

  • преобразование значений свойства Text объектов TxtV0, TxtH0, TxtT из строкового типа в числовой (реализуется с помощью функции Val);

  • вычисление высоты и скорости тела и присваивание этих значений переменным Y и V;

  • вывод значений высоты и скорости тела в текстовые поля путем присваивания значений переменных Y и V свойству Text полей TxtY и TxtV.

Программа должна также обеспечить присвоение значе­ния постоянной величине G (ускорению свободного паде­ния).


V этап. Кодирование.

Коди­рование событийных процедур в нашем приложении.

Программа на Visual Basic будет выгля­деть следующим образом:


Const G As Single = 9.81

Dim V0, H0, T, Y, V As Single

Private Sub CmdCalc_Click()

V0 = Val(TxtV0.Text)

H0 = Val(TxtH0.Text)

T = Val(TxtT.Text)

Y = H0 + V0 * T - G * T * T / 2

V = V0 - G * T

TxtY.Text = Y

TxtV.Text = V

End Sub


1. Открыть двойным щелчком по кнопке Вычислить окно редактора кода. В окно кода будет автоматически помещена заготовка для процедуры обработки события Click объекта CmdCalc.

2. Ввести код событийной процедуры CmdCalc_Click. Создание приложения ^ Бросание тела завершено. Теперь необходимо сохранить проект в выбранном каталоге.

3. Ввести команду [File – Save Project As…].


VI этап технологии решения задач на компьютере состоит в отладке, тестировании и анализе. Меняя начальные данные, можно определять координаты тела для различных начальных условий.

Запустив приложение на выполнение. После появления окна приложения в текстовые поля можно вводить исходные данные (V0, H0, T). В текстовом поле вывода будут появляться значения координаты высоты тела (Y) и скорости (V).

Если при вводе исходных данных мы зададим достаточно большое значение времени T, то можем получить отрицательное значение координаты Y (высоты тела над поверхностью земли). Однако это противоречит законам физики и здравому смыслу, т.к. тело не может провалиться сквозь землю (за исключением редких случаев, когда оно, например, упадет в глубокую шахту и т.д.).

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

If Y>=0 Then

TxtY.Text = Y

TxtV.Text = V

Else

TxtY.Text = 0

TxtV.Text = 0

End If




Разработанное приложение в режиме тестирования

^

VII этап. Эксплуатация и модификация программы.



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

Что нового узнали? Теоретическое повторение всего изложенного материала.


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

Создать приложение, которое исследует движение тела, брошенного под углом к горизонту.

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

1. Ввести значения для аргументов алгоритма, переменных: V0 (начальной скорости), Y0 (высоты бросания),  (угла к горизонту в градусах) и Т (вре­мени).

2. Вычислить координату и скорость тела.

3. Напечатать результаты алгоритма, значения перемен­ных: Y (высота полета), X (дальность полета) и V (скорость полета).


Формулы для расчета


Const Pi As Single = 3.14159 {константа для перевода градусной меры в радианную}


движение по оси OY:

высота ,

скорость ,


движение по оси OX:

расстояние ,

скорость

скорость