// PascalABC.NET 3.0, сборка 1076
const
n=20; { количество дат }
type
TDate=record
d:1..31;
m:1..12;
y:word
end;
var
dates:array[1..n] of TDate;
i:byte;
s,st:string;
begin
Randomize;
for i:=1 to n do begin
s:='';
With dates[i] do begin
d:=Random(27)+1;
Str(d,st);
if Length(st)=1 then st:='0'+st;
s:=s+st+'.';
m:=Random(12)+1;
Str(m,st);
if Length(st)=1 then st:='0'+st;
s:=s+st+'.';
y:=Random(51)+1960;
Str(y,st);
s:=s+st;
if m in [3..5] then s:=s+' - весенняя';
Writeln(s)
end
end
end.
<u><em>Тестовое решение:</em></u>
22.12.1979
21.10.1975
25.03.1980 - весенняя
23.04.1967 - весенняя
09.10.1967
16.05.1965 - весенняя
09.08.1996
05.10.2001
10.11.1985
18.08.1970
08.10.1983
01.12.2005
01.01.1994
09.11.1962
14.09.1979
24.03.2008 - весенняя
14.01.2003
22.04.1990 - весенняя
18.08.1969
16.05.2009 - весенняя
<span>=$D3+B$2
==========================</span>
Программа получает со ввода значение H и выполняет табуляцию функции F(t,H)=11(t-H)²+13 на интервале [0;30]. На вывод поступает значение t, при котором функция F(t,H) принимает максимальное значение.
В задании требуется определить максимальную величину H, при которой функция F(t,H) на заданном интервале принимает максимальное значение для t=30, т.е. на правом конце интервала.
График функции F(t,H) - это квадратная парабола, ветви которой направлены вверх, поэтому максимальное значение такой функции достигается на одном или одновременно на обоих концах интервала. Для нашего случая
F(30,H) > F(0,H)
11(30-H)²+13 > 11(0-H)²+13
11(900-60H+H²)+13 > 11H²+13
9900-660H+11H²+13 > 11H²+13
9900-660H > 0 ⇒ H < 9900/660 или H<15.
В целых числах получаем H=14 (в программе H описывается как integer).
<u><em>Ответ:</em></u> H=14
2)
var a,b,c,x,y,z,s:real;
begin
writeln('Введите стоимость 1 кг конфет, печенья и яблок:');
readln(a,b,c);
writeln('Введите вес конфет, печенья и яблок:');
readln(x,y,z);
s:=a*x+b*y+c*z;
writeln('Стоимость всей покупки = ',s);
end.
Пример:
Введите стоимость 1 кг конфет, печенья и яблок:
215 150 60
Введите вес конфет, печенья и яблок:
0.5 2 3.5
Стоимость всей покупки = 617.5
3)
var b,s:real;
begin
write('b = ');
readln(b);
s:=b*30/1.5;
writeln('s = ',s);
end.
Пример:
b = 2
s = 40