Тема: Построение математических моделей как предварительный этап алгоритмизации. Цель
Вид материала | Решение |
СодержаниеСтоимость покупки Стоимость покупки |
- План изучения дисциплины № п/п, 155.57kb.
- Рецензи я, 16.05kb.
- Исследование математических моделей, 9.9kb.
- Лекция №8 Построение математических моделей технологических объектов и систем аналитическим, 98.99kb.
- Изучение математических функций с использованием км-школы в VII-VIII классах, 166.32kb.
- Шейчекова Марина Евгеньевна, 10А класс Научный Кулигина Анна Леонидовна, учитель информатики, 18.75kb.
- Название Лекция-семинар: Построение математических моделей целочисленного линейного, 64.42kb.
- 1. Введение Основы анализа данных. Методология построения моделей сложных систем. Модель, 399.94kb.
- 2. Построение математических моделей по экспериментальным данным, 96.53kb.
- Утверждаю, 89.56kb.
Тема: Построение математических моделей
как предварительный этап алгоритмизации.
Цель: продемонстрировать учащимся, что решение многих задач требует построения последовательности моделей (уточняющих друг друга или более общих).
Виды деятельности: пошаговая имитация условий задачи; построение табличной модели с целью выведения математической формулы; выдвижение и проверка гипотез.
Задача:
Товар в магазин поступает партиями в контейнерах, которые после разгрузки возвращаются поставщику. Известна цена контейнера с товаром (А рублей) и цена пустого контейнера (В рублей). Сколько товара можно купить на S рублей, если средства, полученные за возвращенные контейнеры, вновь используются для покупки новой партии товара? Считать А, В, S целыми числами.
Решение.
Чтобы лучше разобраться в условиях задачи построить математическую модель, рассмотрим ситуацию, описанную в задаче, на примере конкретных значений.
Пусть S = 22, А = 4, В = 1. Определяем К – общее количество купленных партий товара.
Заполним следующую таблицу:
Шаг | Денег у покупателя | Куплено контей-неров с товаром | Стоимость покупки | «Сдача» | Выручено за контейнеры | Осталось денег у покупателя |
1 | 22 | 5 | 20 | 2 | 5 | 7 |
2 | 7 | 1 | 4 | 3 | 1 | 4 |
3 | 4 | 1 | 4 | 0 | 1 | 1 |
4 | 0 | | | | | |
| Итого: | 7 | | | | |
Анализ таблицы позволяет предположить, что математическая модель решения задачи такова (гипотеза 1):
К = [S / ( А – В )].
Квадратные скобки означают целую часть частного.
Проверим гипотезу на других исходных данных: S = 22, А = 4, В = 2.
Если формула верна, то ответ будет равен 11.
Шаг | Денег у покупателя | Куплено контей-неров с товаром | Стоимость покупки | «Сдача» | Выручено за контейнеры | Осталось денег у покупателя |
1 | 22 | 5 | 20 | 2 | 10 | 12 |
2 | 12 | 3 | 12 | 0 | 6 | 6 |
3 | 6 | 1 | 4 | 2 | 2 | 4 |
4 | 4 | 1 | 4 | 0 | 2 | 2 |
5 | 2 | 0 | | | | |
| Итого: | 10 | | | | |
Несовпадение ожидаемого и полученного ответов требует уточнения модели. Вероятно, следует учесть, что всегда будет ситуация, когда стоимость последних возвращаемых контейнеров меньше, чем цена контейнера с товаром. В общем случае это будет один контейнер.
Тогда математическая модель может быть такой (гипотеза 2):
К = [(S – В) / ( А – В )].
Решение задачи, а заодно и проверку правильности гипотезы можно осуществить в электронных таблицах или в среде программирования.
Пример решения в Excel.
В числовом виде:
| A | B | C | D | E |
1 | Начальная сумма денег | 100 | | | |
2 | Цена контейнера с товаром | 10 | | | |
3 | Цена пустого контейнера | 7 | | | |
4 | | | | | |
5 | S | K1=[S/F] | R=S остаток A | V=K1*B | S=R+V |
6 | 100 | 10 | 0 | 70 | 70 |
7 | 70 | 7 | 0 | 49 | 49 |
8 | 49 | 4 | 9 | 28 | 37 |
9 | 37 | 3 | 7 | 21 | 28 |
10 | 28 | 2 | 8 | 14 | 22 |
11 | 22 | 2 | 2 | 14 | 16 |
12 | 16 | 1 | 6 | 7 | 13 |
13 | 13 | 1 | 3 | 7 | 10 |
14 | 10 | 1 | 0 | 7 | 7 |
15 | 7 | 0 | 7 | 0 | 7 |
16 | | | | | |
17 | К= | 31 | По формуле: | 31 | |
В формульном виде:
| A | B | C | D | E |
1 | Начальная сумма денег | 100 | | | |
2 | Цена контейнера с товаром | 10 | | | |
3 | Цена пустого контейнера | 7 | | | |
4 | | | | | |
5 | S | K1=[S/F] | R=S остаток A | V=K1*B | S=R+V |
6 | =В1 | =целое(А6/b$2) | =остаток(А6;b$2) | =В6*В$3 | =С6+D6 |
7 | =Е6 | =целое(А7/b$2) | =остаток(А7;b$2) | =В7*В$3 | =С7+D7 |
8 | =Е7 | =целое(А8/b$2) | =остаток(А8;b$2) | =В8*В$3 | =С8+D8 |
9 | =Е8 | =целое(А9/b$2) | =остаток(А9;b$2) | =В9*В$3 | =С9+D9 |
10 | =Е9 | =целое(А10/b$2) | =остаток(А10;b$2) | =В10*В$3 | =С10+D10 |
11 | =Е10 | =целое(А11/b$2) | =остаток(А11;b$2) | =В11*В$3 | =С11+D11 |
12 | =Е11 | =целое(А12/b$2) | =остаток(А12;b$2) | =В12*В$3 | =С12+D12 |
13 | =Е12 | =целое(А13/b$2) | =остаток(А13;b$2) | =В13*В$3 | =С13+D13 |
14 | =Е13 | =целое(А14/b$2) | =остаток(А14;b$2) | =В14*В$3 | =С14+D14 |
15 | =Е14 | =целое(А15/b$2) | =остаток(А15;b$2) | =В15*В$3 | =С15+D15 |
16 | | | | | |
17 | К= | =СУММ(В6:В15) | По формуле: | =ЦЕЛОЕ((В1-В3)/(В2-В3)) | |
Примечание. Формулы вводятся в ячейки А6:Е6, А7, В17, D17. Формулы для строк с 7-й по 15-ю копируются из 6-й строки.
Программа на Паскале:
var
S, S1, A, B, K, K1, KP, R, V: integer;
begin
write(‘Введите начальную сумму, цену контейнера с товаром, цену контейнера:’);
readln (S,A,B);
S1:=S;
K:=0;
while S>=A do
begin
K1:=S div A; K:=K+K1; {куплено контейнеров с товаром}
R:=S mod A; {“сдача”}
V:=K1*B; {стоимость сданных контейнеров}
S:=R+V; {осталось денег у покупателя}
writeln;(‘K1=’ , K1, ‘ R=’ , R, ‘ V=’ , V, ‘ S=’ , S)
end;
writeln;
writeln(‘Всего куплено –‘ , K, ‘ По формуле –‘ , (S1-B) div (A-B));
readln
end.