Помогите кто-нибудь написать программу ** pascal к задаче!!! Нужно использовать while. Я...

0 голосов
19 просмотров

Помогите кто-нибудь написать программу на pascal к задаче!!! Нужно использовать while. Я в девятом классе.


image

Информатика (12 баллов) | 19 просмотров
0

1 < 1 + 1/2

0

но 1 + 1/3 < 1/2 и так дальше

0

как-бы числа уменьшаются

0

Задайте a = 2, и будете бесконечно печатать, пока не надоест.

Дан 1 ответ
0 голосов

Var  
   i,                //номер члена последовательности  
   n: integer; //длина последовательности  
   a: double; //заданное число
Begin  
//--------------------------------------Ввод данных----------------------------------------------------
   write('Введите длину последовательности: ');  
   read(n);  
   write('Введите a: ');  
   read(a);
//-----------------------------Вывод последовательности-------------------------------------------
   i:=2;   
   write('Последовательность:  ',1);  
   while i <= n do begin    <br>      write('   ',1+1/i:0:4);           //4 - количество цифр после запятой, если нужна 
                                                  большая точность можно увеличить это число    
      i:=i+1;  
   end;  
   writeln();
//------------------------------Вывод требуемых чисел----------------------------------------------  
   write('Числа меньше а:  ');  
   i:=2;  
   if a > 1 then write(1);  
   while i <= n do begin    <br>      if 1+1/i < a then write('   ',1+1/i:0:4);   //если i-й член последовательности < a, 
                                                                                             то печатаем это число 
      i:=i+1;                 //переходим к следующему числу в последовательности
   end;
End.

(688 баллов)
0

Про длину последовательности в задаче ничего не сказано.

0

Если последовательность не ограничить, то программа будет бесконечно печатать числа.

0

Программа без ограничения последовательности:
var
i, //номер члена последовательности
a: double; //заданное число
Begin
write('Введите a: ');
read(a);write('Числа меньше а: ');
i:=2;
if a > 1 then write(1);
while true do begin
if a > 1+1/i then write(' ',1+1/i:0:8);
i:=i+1;
end;
End.