Меню
Видеоучебник
Видеоучебник  /  Информатика  /  9 класс  /  Информатика 9 класс ФГОС  /  Решение задач на компьютере. Задача о пути торможения автомобиля

Решение задач на компьютере. Задача о пути торможения автомобиля

Урок 13. Информатика 9 класс ФГОС

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

Конспект урока "Решение задач на компьютере. Задача о пути торможения автомобиля"

Этапы решения задачи с помощью компьютера:

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

2.     Формализация задачи.

3.     Создание алгоритма.

4.     Программирование.

5.     Тестирование и отладка.

Сегодня мы рассмотрим эти этапы и связи между ними при решении практической задачи. Автомобиль ехал с некоторой скоростью uнач х, после чего водитель нажал на педаль тормоза и автомобиль начал замедлятся с ускорением a м/с2, пока не остановился полностью. Найти длину тормозного пути автомобиля s.

На этапе постановки задачи мы должны выделить начальные и результирующие данные. Исходными данными здесь будут начальная скорость uнач х м/с и ускорение автомобиля – a м/с2, а результирующими данными будет длина тормозного пути автомобиля s.

На этапе формализации данных мы должны составить математическую модель. Известно, что перемещение при прямолинейном равноускоренном движении можно найти по формуле:

Адаптируем её для данной задачи. У нас конечная скорость всегда равна нулю, так как по условию автомобиль останавливается полностью. Подставим это значение в данную формулу и после преобразований получим адаптированную формулу для нашей задачи.

 Обратим внимание что, автомобиль двигается равнозамедленно, значит его ускорение должно быть отрицательным. А также по смыслу задачи начальная скорость должна быть положительной.

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

Блок-схема всегда начинается с блока «начало». Прежде всего, нам необходимо ввести значения исходных данных. Затем нам необходимо проверить правильность введенных данных, так как наша задача будет иметь смысл только при отрицательном ускорении и положительной начальной скорости. Если данное условие выполняется – нам нужно рассчитать по формуле длину тормозного пути, а затем вывести её. Если же введены данные, при которых наша задача не имеет смысла, выведем поясняющее сообщение «Неверный ввод данных». В конце блок-схемы всегда ставится блок «Конец».

Блок-схема алгоритма решения задачи

На этапе программирования мы должны написать программу по блок-схеме. Программу будем писать на языке Pascal. Напомним, что программа на языке «Паскаль» начинается со служебного слова program, после которого следует название программы. Имя программы должно соответствовать содержанию и может содержать от 1 до 255 букв латинского алфавита, цифр и знаков подчёркивания. Оно должно начинаться с буквы или знака подчёркивания, в конце строки ставится точка с запятой. Далее следует раздел описания переменных, который начинается со служебного слова var. В нём записываются названия переменных, у нас их будет три: начальная скорость, ускорение и длина тормозного пути. Название переменной должно начинаться с буквы латинского алфавита или знака подчёркивания, после чего могут следовать несколько букв латинского алфавита, цифр или знаков подчёркивания, записанных без пробелов, назовём наши переменные соответственно v, a и s, так как их значения могут быть дробными, они будут принадлежать к вещественному типу real. Переменная этого типа в Pascal ABC занимает 8 байт оперативной памяти. Тело программы всегда начинается со служебного слова begin, после которого точка с запятой не ставится, а заканчивается служебным словом end, после которого ставится точка. Между ними с отступом в один пробел записывается последовательность команд, из которой состоит программа.

Заготовка программы

В начале выведем на экран пояснительное сообщение с переходом на следующую строку при помощи команды writeln, «Программа расчёта тормозного пути автомобиля…», далее, без перехода на следующую строку выведем другое пояснительное сообщение при помощи команды write, «Начальная скорость автомобиля:»

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

Теперь нам нужно проверить корректность введённых данных. Для этого запишем условный оператор if, после которого будет следовать составное условие v > 0 и a < 0. После условия точка с запятой также не ставится.

Далее запишем последовательность команд для выполнения, если наше условие выполняется. Для этого записывается служебное слово then, и так как в этом случае нужно выполнить больше одной команды – они будут записываться между служебными словами begin и end. В данном случае после слова end не ставится ничего, так как далее будет записан блок действий, если условие не выполняется. Теперь мы должны записать между служебными словами begin и end команду присваивания переменной s значения v*v/(2*a), после чего вывести без перехода на следующую сроку пояснительное сообщение «Длина тормозного пути автомобиля:» и значение s, после чего вывести с переходом на следующую строку букву «м», так как длина тормозного пути измеряется в метрах.

В начале блока команд при невыполнении условия записывается служебное слово else. В этом случае выведем с переходом на следующую строку сообщение о неверном вводе данных.

Исходный код программы

У нас есть написанная программа. Значит можно переходить к этапу тестирования и отладки.

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

Исходные данные

Ожидаемый результат

Действительный результат

v

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Форма таблицы тестов

Возьмём два теста при вводе верных данных и два теста с вводом данных, при которых задача не имеет смысла.

Итак, при начальной скорости 22 и ускорении -5,5 результатом работы программы должно быть сообщение: «Длина тормозного пути автомобиля: 44 метра». При начальной скорости 20 и ускорении -5 длина тормозного пути должна быть 40 метров. А при начальной скорости -3 и ускорении -10 а также начальной скорости 40 и ускорении 15 программа должна вывести сообщение о неверном вводе данных.

Исходные данные

Ожидаемый результат

Действительный результат

v

a

22

-5,5

Длина тормозного пути: 44 м

 

20

-5

Длина тормозного пути: 40 м

 

-3

-10

Неверный ввод данных

 

40

15

Неверный ввод данных

 

 

Таблица тестов

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

Указание ошибки

Исправим ошибку и снова запустим программу на выполнение. На этот раз программа заработала, осталось проверить, работает ли она правильно.

Введём данные из наших тестов в программу. В первом и втором тестах результат работы программы соответствует ожидаемому, а в третьем и четвёртом тестах программа вместо сообщения о неверном вводе данных выдаёт значения длины тормозного пути, что не соответствует ожидаемому результату.

Тест 1

Тест 2

Тест 3

Тест 4

 При помощи отладки найдём, где допущена ошибка. Для этого нажмём на кнопку «Шаг без входа в программу» и будем выполнять программу пошагово, нажимая на ту же кнопку. Зададим значения начальной скорости и ускорения из третьего теста.

Процесс отладки

Обратим внимание, что, согласно математической модели и блок-схеме, при отрицательной начальной скорости программа должна выводить сообщение об ошибке, то есть в данном условном операторе условие выполнятся не должно, а в программе оно выполняется.

Следовательно, условие сформулировано неверно. Согласно блок схеме, условие должно быть: v > 0 и a < 0, а в программе составное условие разделено служебным словом or, что в переводе означает «или». Чтобы условие соответствовало тому, что в блок-схеме, нужно при его записи служебное слово or заменить служебным словом and, что в переводе означает «и». Исправленная программа выглядит так.

Исправленный исходный код.

Теперь все результаты тестов соответствуют ожидаемым.

Важно запомнить:

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

0
10248

Комментарии 0

Чтобы добавить комментарий зарегистрируйтесь или на сайт