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