1. Даны 10 вещественных чисел. Подсчитать среди них количество положительных.
Слово "даны" означает, что программа должна получить их от пользователя. Идея: мы должны иметь переменную счетчик, которую должны наращивать, когда введенное число окажется положительным. Нам не нужно заводить 10 переменных, достаточно одной. Алгоритм получается примерно такой:
Ввод очередного числа
Проверка
Ввод очередного числа
Проверка
И так еще 8 раз.
Очевидно, что это все можно представить в виде оператора цикла.
Повторять 10 раз
Ввод очередного числа
Проверка
Конец цикла
На языке Паскаль это будет выглядеть так:
for i:=1 to 10 do
Begin
write('Введите ',i,'-ое число: ');
readln(x);
if x>0 then kol:=kol+1 {увеличиваем количество на 1}
end;
Полный текст программы:
program chisla;
uses crt;
var i, kol:byte;
x:real;
Begin
clrscr;
kol:=0;
for i:=1 to 10 do
Begin
write('Введите ',i,'-ое число: ');
readln(x);
if x>0 then kol:=kol+1 {увеличиваем количество на 1}
end;
writeln('Вы ввели ',kol,' положительных чисел.');
Readln
end.
2. Напечатать буквы латинского алфавита в обратном порядке от 'Z' до 'A'.
program alphabet;
var c:char;
Begin
for c:='Z' downto 'A' do write(c);
Readln
End
3: Вычислить N-е число Фиббоначчи. Числа Фиббоначчи строятся следующим образом: F(0)=F(1)=1; F(i+1)=F(i)+F(i-1); для i>=1. Это пример вычислений по рекуррентным формулам.
program Fib;
var a,b,c:word; i,n:byte;
Begin
write('введите номер числа Фиббоначчи ');
readln(N);
a:=1; {a=F(0), a соответствует F(i-2)}
b:=1; {b=F(1), b соответствует F(i-1)}
for i:=2 to N do
Begin
c:=a+b; {c соответствует F(i)}
a:=b; b:=c; {в качестве a и b берется следующая пара чисел}
end;
writeln(N,'-е число Фиббоначчи =',b); {для N>=2 b=c}