Всем доброго времени суток.
Нам по информатике задали написать 3 программы по паскалю
1. Дана сторона квадрата а. Найти его периметр P=4*a. Найти его площадь S=a^2
2. На числовой оси расположена 3 точки: А, В, С. Определить, какая из двух последних точек (В или С) расположена ближе к А, и вывести эту точку и ее расстояние от точки А.
3. Начальный вклад в банке равен 1000 руб. Через каждый месяц размер вклада увеличивается на Р процентов от имеющейся суммы (Р-вещественное число, 0<H<25). по данному Р определить, через сколько месяцев размер вкалада превысит 1100 руб., и вывести найденное количество месяцев К (целое число) и итоговый размер вклада S (вещественное).
Я по информатике мало пенькаю
3 задачи по паскалю
1. Ответ уже дан:
P = 4 * a
S = sqr (a)
2. Если точки на одной прямой, то расстояние будет модуль разности координат:
ac := abs (xc - xa);
ab := abs (xb - xa);
if (ac > ab) then
{ точка с дальше точки b от a}
3. Непонятно, что такое H.
Начальную сумму обозначим как S0, требуемую как S1.
Тогда черед месяц будкт S0 * (1 + P) , через два - S0 * (1 + P)^2, через K: S0 * (1 + P)^K
Т.е. S0 * (1 + P)^K >= S1
И далее через логарифмы находим K
(1 + P)^K >= S1 / S0
K * Ln (1 + P) >= Ln (S1 / S0)
K >= Ln (S1/S0) / Ln (1 + P)
Т.е. миниимальное K - минимальное целое число, не меньшее, чем Ln (S1/S0) / Ln (1 + P).
P = 4 * a
S = sqr (a)
2. Если точки на одной прямой, то расстояние будет модуль разности координат:
ac := abs (xc - xa);
ab := abs (xb - xa);
if (ac > ab) then
{ точка с дальше точки b от a}
3. Непонятно, что такое H.
Начальную сумму обозначим как S0, требуемую как S1.
Тогда черед месяц будкт S0 * (1 + P) , через два - S0 * (1 + P)^2, через K: S0 * (1 + P)^K
Т.е. S0 * (1 + P)^K >= S1
И далее через логарифмы находим K
(1 + P)^K >= S1 / S0
K * Ln (1 + P) >= Ln (S1 / S0)
K >= Ln (S1/S0) / Ln (1 + P)
Т.е. миниимальное K - минимальное целое число, не меньшее, чем Ln (S1/S0) / Ln (1 + P).
-
- Сообщения: 2
- Зарегистрирован: 31 мар 2009, 15:22
3. 0<P<25 (Я просто не правильно написал)
Пишу без паскаля поэтому могу ошибиться
1.
program a;
var a,P,S:real;
begin
writeln('введите сторону квадрата');
read(a);
P:=4*a;
writeln('периметр равен P=',a);
S:=sqr(a);
writeln('площадь равна S=',a);
end.
Может я не правильно составил?
Пишу без паскаля поэтому могу ошибиться
1.
program a;
var a,P,S:real;
begin
writeln('введите сторону квадрата');
read(a);
P:=4*a;
writeln('периметр равен P=',a);
S:=sqr(a);
writeln('площадь равна S=',a);
end.
Может я не правильно составил?