Построение математической, информационной, компьютерной моделей при решении содержательной задачи с выводом результата в виде диаграммы. Среда программирования - PascalABC.

Построение математической, информационной, компьютерной моделей при решении содержательной задачи с выводом результата в виде диаграммы. Среда программирования - PascalABC.

ОТКРЫТЫЙ УРОК НА ТЕМУ:
«Построение моделей при решении содержательных задач в среде паскаль »
Учитель информатики
Гилязова Н.Д.
Класс: 11В (12 человек)
Цель урока: - повторить, обобщить и систематизировать знания по теме «Программирование на языке Pascal ABC»;
Задачи урока:
Воспитательная - развитие познавательного интереса, логического мышления, воспитание информационной культуры
Учебная - обобщение, повторение, систематизация знаний по теме.
- закрепление знаний по указанной теме;
- отработка практических навыков по анализу результатов моделирования ситуации.
Развивающая - развитие алгоритмического мышления, памяти, внимательности.
Формы урока: (комбинированная)
- лекционная;
- фронтальная (выполнение общих заданий).
План урока
Организационная часть 2 мин
Постановка цели урока 3 мин
Обобщение материала 20 мин
Выполнение общих заданий 15 мин
Постановка домашнего задания 2 мин
Заключительное слово учителя. Подведение итогов урока 3 мин
Ход урока (1 час)
Организационная часть – 2 мин.
Включает в себя приветствие, проверку отсутствующих.
Постановка цели урока – 3 мин.
- Ребята, тема нашего занятия «Построение моделей при решении содержательных задач в среде паскаль».
Обобщение материала – 20 мин.
- Для обобщения материала по теме «Построение моделей при решении содержательных задач в среде паскаль» мы повторим выкладки этапы решения задач.
Этапы решения задач.
Первый этап – постановка задачи и ее анализ. На этом этапе определяются исходные данные, цель решаемой задачи, вид получаемых результатов.
Второй этап – математическая формулировка. На этом этапе происходит составление математической модели, т.е. описание задачи с помощью математических формул.
Третий этап – формализации задачи: (выбор метода решения). На этом этапе выбирается способ (порядок) решения задачи.
Четвертый этап - составление алгоритма на основе выбранного метода.
Пятый этап – написание программы на языке программирования.
Шестой этап – Отладка программы.
Седьмой этап – анализ результатов.
На сегодняшнем занятии я хочу предложить вам решить содержательную задачу: выполнить постановку задачи, построить математическую, информационную и компьютерную модели, проанализировать полученные результаты.
Условие задачи: Цех по ремонту бытовой техники имеет ежедневно прибыль Р, с которой платит налог 7%. Из оставшейся доли прибыли 30% идет на развитие производства, а остальное – на заработную плату 8 работникам. Какова среднемесячная зарплата работника?
Анализируем задачу. По условию нам дана ежедневная прибыль в течении месяца, исходя из которой надо определить ежедневную зарплату 1-го работника.
Несложно понять, что значения прибыли можно хранить в одномерном массиве (ОМ) или в файле данных. Мы рассмотрим задачу с использованием ОМ.
Поэтому введем обозначение P[n], где n – количество дней в месяце.
Заполнять ОМ будем случайными числами на интервале от 1000 до 10000 (рублей).
Анализируем задачу далее.
7% (0,07) – налог.
30% (0,3) – доля прибыли на развитие производства от прибыли без налога.
Введем промежуточные величины и обозначим их.
PN = P[i] * 0,07 – налог за день (в рублях).
PBN = P[i] - PN – прибыль за день без налога за день (в рублях).
Очевидно, что эти вычисления можно оптимизировать, этим исключить промежуточную переменную PN. Таким образом, имеем:
PBN = P[i] - P[i] * 0,07
Продолжим выделение промежуточных величин.
PP = PBN * 0,3 доля от прибыли без налога на развитие производства за день (в рублях).
PZ = PBN - PP – доля от прибыли без налога на зарплату 8-ми работникам за день (в рублях).
Очевидно, что и эти вычисления можно оптимизировать, этим исключить промежуточную переменную PP. Таким образом, имеем:
PZ = PBN - PBN * 0,3
Продолжим выделение промежуточных величин.
ZN = PZ / 8– ежедневная заработная плата 1 работника за день (в рублях).
Итак, мы обозначили все существенные величины, необходимые для расчета заработной платы 1-го работника за день (в рублях). Подчеркну, что вычисления этих переменных необходимо выполнить для каждого дня месяца
Теперь осталось обозначить заработную плату 1-го работника за месяц (n дней).
Z= ZN + ZN + … + ZN

Переходим к построению математической модели, что мы уже фактически сделали при анализе задачи
Для каждого дня месяца выполним вычисления по формулам:
PBN = P[i] - P[i] * 0,07
PZ = PBN - PBN * 0,3
ZN = PZ / 8
При этом параллельно накапливаем получаемые зарплаты:
Z= ZN + ZN + … + ZN
Математическая модель, т.е. описание задачи с помощью математических формул построена.
Осуществляем выбор метода и порядка решения задачи. Воспользуемся методами вычислений и накапливания суммы.
Переходим к построению информационной модели, т.е. составляем блок-схему алгоритма (БСА) на основе выбранных методов Учитываем, что мы работаем с массивом, следовательно, используем циклы.
Выполнение общих заданий – 20 мин.
Далее учащимся дается время построения БСА (5 мин). Затем по желанию учащийся рисует её на доске.


Переходим к построению компьютерной модели, т.е. написанию программы на языке программирования Паскаль.
ПРОГРАММА «ЗАРПЛАТА»
program zarplata;
uses crt,graphabc;
const n=30;
type mas = array[1..n] of real;
var p: mas;
i,a,zn1,z1: integer;
pbn,pz,zn,z: real;
begin
setwindowwidth(700);
setwindowheight(500);
randomize;
writeln(' Исходный массив ежедневных прибылей: ');
writeln;
for i:=1 to n do
begin
p[i]:=1000+random*(10000);
write(p[i]:10:2);
end;
writeln;
writeln;
writeln(' Ежедневная зарплата работника равна: ');
writeln;
setpenwidth(2);
line(20,400,640,400);
a:=30;
for i:=1 to n do
begin
pbn:= p[i]- p[i]*0.07;
pz:=pbn-pbn*0.3;
zn:=pz/8;
write(zn:10:2);
z:=z+ zn;
zn1:=trunc(zn/10);
setbrushcolor(random(16777215));
rectangle(a,400-zn1,a+15,400);
a:=a+20;
end;
writeln; writeln;
//z1:=trunc(z/10);
//rectangle(a,600-z1*10,a+15,600); a:=a+5;
writeln(' Ежемесячная зарплата работника ',z:5:2) ;
writeln; writeln;
writeln(' ДИАГРАММА ЕЖЕДНЕВНОЙ ЗАРПЛАТЫ РАБОТНИКА ');
End.

Отладить задачу. Для этого нужны конкретные данные в массиве прибылей. Поэтому отладку можно проводить для ОМ размерностью до 10 элементов.
Тесты для отладки программы:
| Массив | З/п задень | З/п за месяц |
| 2000 2500 4000 1250 3400 | 162,75 203.44 325.50 101.72 276.68 | 1070.08 |
| 1720 666 5875 8456 2450 | 139.97 54.20 478.08 688.11 199.37 | 1559.71 |
Как вы знаете, анализ результатов – очень важный и нужный этап работы над задачей. В ходе этого этапа, возможно потребуется пересмотр самого подхода к постановке и решению задачи и возврат к первому этапу. Это возможно, когда полученные результаты не отражают свойства объекта или явления, сформулированные в постановке задачи (например, они недопустимы по знаку, типу, использованы не те алгоритмические структуры).
V. Домашнее задание:
Переделать программу, таким образом, чтобы данные об ежедневной прибыли вводились из файла данных, а результат – ежемесячная зарплата – работника сохранялась в файле данных.
VI. Итог урока.
Подведение итога урока. Выставление оценок.
-80%
Открытый урок информатики "Построение моделей при решении содержательных задач в среде Паскаль" (0.09 MB)
Хорошая разработка,
Всем удачи и хороших умных учеников!