//PascalABC.NET 3.2 сборка 1318
//Вариант по формуле Бине
Var
n,fibn:real;
i:integer;
begin
readln(n);
if n<=0 then writeln('Не существует чисел Фиббоначи меньше 0')
else
begin
i:=0;
while fibn<n do
begin
fibn:=(power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5);
inc(i);
end;
writeln((power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5)-1);
end;
end.
//В лоб
Var
sum,n,buf,fib0,fib1:integer;
function fibb(fib0,fib1:integer):integer;
begin
result:=fib0+fib1;
end;
begin
fib0:=0;
fib1:=1;
readln(n);
if n<=0 then
writeln('Не существует чисел Фиббоначи меньше 0')
else
begin
if fibb(fib0,fib1)>=n then sum:=0 else
begin
while fibb(fib0,fib1)<n do
begin
buf:=fib1;
fib1:=fibb(fib0,fib1);
fib0:=buf;
end;
sum:=fibb(fib1,fibb(fib0,fib1))-1;
end;
writeln(sum);
end;
end.
Пример ввода:
12
Пример вывода:
20
Var
a: real;
begin
while a <= 1000 do
begin
writeln('Введите сумму покупки > 1000р');
readln(a);
if a > 1000 then break
else writeln('Ошибка! Введенная сумма покупки <= 1000p');
end;
writeln('Стоимость покупки с учетом скидки 10%: ', a * 0.9);
end.
Данная программа проверяет, больше 1000 или нет, введенная стоимость покупки. Можно сделать проще без проверки:
var
a: real;
begin
writeln('Введите сумму покупки > 1000р');
readln(a);
writeln('Стоимость покупки с учетом скидки 10%: ', a * 0.9);
end.
Последовательный порядок выполнения действий и наличие в каждой программной строке только одного оператора (т.е. без ветвления и циклов)
1)var i,n:integer;x,p:real;
begin
readln(n,x);
p:=1;
for i:= 1 to n do
p:=p*x;
write(p);
readln
end.
2)var x:integer;
begin
readln(x);
if x < 18 then
write('да')
else
write('нет');
readln
end.