Технология решения задач с помощью ЭВМ в среде языка программирования Паскаль
I ЭТАП Постановка задачи II ЭТАП Математическая модель III ЭТАП Алгоритм Программа Компьютерный эксперимент IV ЭТАП Анализ результатов Готовая программа Результаты соответствуют цели Результаты НЕ соответствуют цели Схема этапов решения задач на ЭВМ
I ЭТАП Формулируется задача. Определяется цель – что надо получить, и в каком виде результат должен быть представлен. Выделяются существенные свойства необходимые для построения модели, отбрасываются второстепенные. ПОСТАНОВКА ЗАДАЧИ
Задача Написать программу вычисления стоимости поездки на автомобиле на дачу (туда и обратно). Определяется цель – что надо получить, и в каком виде результат должен быть представлен. Получить стоимость поездки на автомобиле на дачу и обратно. Результат рекомендуется представить в виде: Вычисление стоимости поездки на дачу и обратно. Расстояние до дачи (км) -> 67 Расход бензина (литров на 100 км пробега) -> 8.5 Цена литра бензина (руб.) -> Поездка на дачу и обратно обойдется в руб.
Автомобиль движется по ровной дороге, с постоянной скоростью. Выделяются существенные свойства необходимые для построения модели, отбрасываются второстепенные.
II ЭТАП Выделяются исходные данные, необходимые для построения математической модели, и что надо получить (определяются переменные). Формулируются математические связи, объединяющие исходные данные и результат. Дано: … Получить: … Связи: … Определяется тип данных. ПОСТРОЕНИЕ МАТЕМАТИЧЕСКОЙ МОДЕЛИ
Дано: rast – расстояние до дачи (км). Число вещественного типа (real); ben_r - расход бензина (литров на 100 км пробега). Число вещественного типа; cena - цена литра бензина (руб.). Получить: Sum – стоимости поездки. Число вещественного типа. Связи: Sum = 2*rast*ben_r/100*cena
III ЭТАП АЛГОРИТМ – конечная последовательность точно определенных действий, проводящих к однозначному решению поставленной задачи. ПРОГРАММА – алгоритм, написанный на языке, понятном исполнителю-ЭВМ. (Язык общения с ЭВМ называют языком программирования.) КОМПЬЮТЕРНЫЙ ЭКСПЕРИМЕНТ. Выявляются ошибки программирования – синтаксические и логические. Проводится тестирование программы (процесс поиска ошибок в программе). Тест – набор исходных данных, для которых заранее известен результат. АЛГОРИТМ. ПРОГРАММА. КОМПЬЮТЕРНЫЙ ЭКСПЕРИМЕНТ
Алгоритм Program Dacha; Var rast, ben_r, cena, sum: real; Begin Writeln (Вычисление стоимости поездки на дачу и обратно. ); Write( Расстояние до дачи (км) -> ); Readln(rast); Write( Расход бензина (литров на 100 км пробега) -> ); Readln(ben_r); Write( Цена литра бензина (руб.) -> ); Readln(cena); sum = 2 * rast * ben_r / 100 * cena; Writeln; Writeln( Поездка на дачу и обратно обойдется в, sum :7 :2, руб. ); Readln; End. начало конец rast sum sum = ben_r cena
Введем значения: rast = 100; ben_r = 10; cena = 10. Ожидаемый результат: 2 * 100 * 10 / 100 * 10 = 200 ; Вычисление стоимости поездки на дачу и обратно. Расстояние до дачи (км) -> 100 Расход бензина (литров на 100 км пробега) -> 10 Цена литра бензина (руб.) -> 10 Поездка на дачу и обратно обойдется в руб. КОМПЬЮТЕРНЫЙ ЭКСПЕРИМЕНТ. Выявляются ошибки программирования – синтаксические и логические. Проводится тестирование программы (процесс поиска ошибок в программе). Тест – набор исходных данных, для которых заранее известен результат.
IV ЭТАП Если решение не соответствует цели поставленной задачей, значит допущены ошибки на предыдущих этапах. Возможные ошибки: Слишком упростили модель; Неудачный выбор метода решения; Допущены логические ошибки. Если ошибки выявлены, то требуется корректировка модели, т. е. возврат к одному из предыдущих этапов. АНАЛИЗ РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ
Введем реальные данные Получим результат. Проанализируем
Решение задач 1. Написать программу вычисления расстояния между населенными пунктами, изображенными на карте. Ниже приведен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом). Вычисление расстояния между населенными пунктами. Введите исходные данные: Масштаб карты (количество км в одном см) -> 120 Расстояние между точками, изображающими населенные пункты (см) -> 3.5 Расстояние между населенными пунктами 420 км.
2. Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и карандашей. Рекомендуемый вид экрана во время работы программы: Вычисление стоимости покупки. Введите исходные данные: Цена тетради (руб.) -> Количество тетрадей -> 5 Цена карандаша (руб.) -> 2.70 Количество карандашей -> 2 Стоимость покупки: руб.
Задача 2. Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например, число 12.5 должно быть преобразовано к виду 12 руб. 50 коп. Рекомендуемый вид экрана во время работы программы: Преобразование числа в денежный формат. Введите дробное число -> руб. – это 23 руб. 60 коп.
Дано: ch – дробное число (вещественный тип); Получить: rub, kop – целые числа, равные соответственно целой и дробной части числа ch. Связи: Язык программирования Паскаль имеет набор встроенных процедур и функций, называемых стандартными. Нам могут пригодиться: Round(x) – округление Х в сторону ближайшего целого. Trunc(x) – вычисление целой части Х. Кроме того, с целочисленными значениями можно проводить операции: Div – результат целочисленного деления и Mod – остаток от целочисленного деления. Например: 125 div 10 =>12, 125 mod 10 => 5. Умножим введенное дробное число на 100 и применим к получившемуся числу функцию – Round(ch*100)
Program Mani; Var ch: real; z_ch, rub, kop : integer; Begin Writeln (Преобразование числа в денежный формат.); Write( Введите дробное число -> ); Readln(ch); z_ch:= round(ch * 100); rub:= z_ch div 100; kop:= z_ch mod 100; Writeln; Writeln( ch :6 :2, руб. – это, rub, руб., kop, коп. ); Readln; End. начало конец Задача ch,rub,kop kop = ch Z_ch=… rub = Преобразование числа в денежный формат. Введите дробное число -> руб. – это 23 руб. 60 коп.