От блок-схем к программированию
Данная задача не должна представлять особой трудности, так как построена она на хорошо известных всем нам формулах расчета площади и периметра прямоугольника, поэтому зацикливаться на выведении этих формул мы не будем.
Составим алгоритм решения подобных задач:
1) Прочитать задачу.
2) Выписать известные и неизвестные нам переменные в "дано".
(В задаче №1 к известным переменным относятся стороны: a,b ;к неизвестным - площадь S и периметр P)
3) Вспомнить либо составить необходимые формулы. (У нас: S=a*b; P=2*(a+b))
4) Составить блок-схему.
5) Записать решение на языке программирования Pascal.
Запишем условие в более кратком виде.
Дано: a,b
Найти: S,P
Блок-схема:
Структура программы, решающей данную задачу, тоже проста:
- 1) Описание переменных;
- 2) Ввод значений сторон прямоугольника;
- 3) Расчет площади прямоугольника;
- 4) Расчет периметра прямоугольника;
- 5) Вывод значений площади и периметра;
- 6) Конец.
А вот и решение:
- Program Rectangle;
- Var a,b,S,P: integer;
- Begin
- write('Введите стороны прямоугольника!');
- readln(a,b);
- S:=a*b;
- P:=2*(a+b);
- writeln('Площадь прямоугольника: ',S);
- write('Периметр прямоугольника: ',P);
- End.
Задача №2: Скорость первого автомобиля - V1 км/ч, второго - V2 км/ч, расстояние между ними S км. Какое расстояние будет между ними через T часов, если автомобили движутся в разные стороны? Значения V1, V2, T и S задаются с клавиатуры.
Решение осуществляем, опять же, следуя алгоритму. Прочитав текст, мы переходим к следующему пункту. Как и во всех физических или математических задачах, это запись условий задачи:
Дано: V1, V2, S, Т
Найти: S1
Далее идет самая главная и в то же время самая интересная часть нашего решения - составление нужных нам формул. Как правило, на начальных стадиях обучения все необходимые формулы хорошо нам известны и взяты из других технических дисциплин (например, на нахождение площади различных фигур, на нахождение скорости, расстояния и т.п.).
Формула, используемая для решения нашей задачи, выглядит следующим образом:
S1=(V1+V2)*T+S
Следующий пункт алгоритма - блок-схема:
А также решение, записанное в Pascal :
- Program Rasstoyanie;
- Var V1,V2,S,T,S1: integer; {Ввод }
- begin
- write('Введите скорость первого автомобиля: ');
- readln(V1);
- write('Введите скорость второго автомобиля: ');
- readln(V2);
- write('Введите время: ');
- readln(T);
- write('Введите расстояние между автомобилями: ');
- readln(S);
- S1:=(V1+V2)*T+S;
- writeln('Через ',t,'ч. расстояние ',S1,' км.');