Var
a, b, d, y, x, x0: real;
begin
writeln('Пожалуйста, введите границы отрезка: ');
readln(a, b);
writeln('Пожалуйста, введите шаг: ');
readln(d);
y := sqr(x) + 1 / (x - 4);
x0 := a;
while (x0 <= b) do
begin
if ((x0 - 4) = 0) then writeln('Возникло деление на ноль!') else
writeln('Значение функции f(x) в точке x0 = ', x0, ' = ', sqr(x0) + 1 / (x0 - 4));
x0 := x0 + d;
end;
readln;
end.
Код ужасно кривой, но рабочий (надеюсь, принцип понятен):
1. Бензин
type
Benzin=class
public
money:double;
m:integer;
end;
var
b:Benzin;
begin
b:=new Benzin;
b.m:=0;
b.money:=20;
while b.money<22.0 do
begin
b.money:=b.money*1.02;
b.m:=b.m+1;
writeln('Сейчас бензин стоит: ',b.money);
writeln('Сейчас месяц прошел: ',b.m);
end;
end.
2. Вклад
type
biznes=class
public
money:double;
m:integer;
time:integer;
end;
var
b:biznes;
begin
b:=new biznes;
writeln('Напишите сумму рублей: ');
read(b.money);
writeln('Напишите кол-во месяцев: ');
read(b.m);
b.time:=0;
while b.time<b.m do
begin
b.money:=b.money*1.03;
b.time:=b.time+1;
writeln('Сейчас сумма: ',b.money);
writeln('Прошел месяц: ',b.time);
end;
end.
3. Тренировки
type
sport=class
public
first:double;
day:integer;
first2:double;
first3:double;
first4:double;
first5:double;
first6:double;
first7:double;
answer:double;
end;
var
s:sport;
begin
s:=new sport;
s.first:=5;
s.day:=1;
while s.day=1 do
begin
s.first2:=s.first*1.20;
s.day:=s.day+1;
writeln('Сейчас бегает: ',s.first2);
writeln('День: ',s.day);
end;
while s.day=2 do
begin
s.first3:=s.first2*1.20;
s.day:=s.day+1;
writeln('Сейчас бегает: ',s.first3);
writeln('День: ',s.day);
end;
while s.day=3 do
begin
s.first4:=s.first3*1.20;
s.day:=s.day+1;
writeln('Сейчас бегает: ',s.first4);
writeln('День: ',s.day);
end;
while s.day=4 do
begin
s.first5:=s.first4*1.20;
s.day:=s.day+1;
writeln('Сейчас бегает: ',s.first5);
writeln('День: ',s.day);
end;
while s.day=5 do
begin
s.first6:=s.first5*1.20;
s.day:=s.day+1;
writeln('Сейчас бегает: ',s.first6);
writeln('День: ',s.day);
end;
while s.day=6 do
begin
s.first7:=s.first6*1.20;
s.day:=s.day+1;
writeln('Сейчас бегает: ',s.first7);
writeln('День: ',s.day);
end;
while s.day=7 do
begin
s.answer:=s.first+s.first2+s.first3+s.first4+s.first5+s.first6+s.first7;
s.day:=s.day+1;
writeln('Ответ: ',s.answer);
end;
end.
Ответ:
Вариант Б быстрее на 2 с.
Объяснение:
5 Мбайт = 5×2²⁰ байт = 5×2²³ бит.
1) по варианту А.
Сжали вдвое, получили объем 5×2²² бит. Время передачи составит
(5×2²²) / 2²⁰ = 5×2² = 20 с.
Общее время 20 + 20 +2 = 42 с.
2) по варианту Б.
Время передачи (5×2²³) / 2²⁰ = 5×2³= 40 с.
Вариант Б быстрее на 2 с.
В кодировке Unicode каждый символ кодируется двумя байтами, поэтому строка займет 35×2 = 70 байт.
Тогда таких строк будет 1050 / 70 = 15