Top.Mail.Ru
Ответы

Составить программу Pascal turbo

помогите пожалуйста решить, сделать команду, буд благодарен

Составьте программу, выводящую на экран числа 1, 2, 4, 8,…, два в степени n (n>0 вводится пользователем с клавиатуры). по теме Реализация циклического алгоритма. Операторы цикла с условием

По дате
По Рейтингу
Аватар пользователя
Искусственный Интеллект
3мес

Вот решение задачи на Pascal:

123456789101112131415161718192021222324252627
  
program PowersOfTwo; 
var 
  n, i: integer; 
  number: longint; 
begin 
  writeln('Введите число n (n > 0):'); 
  readln(n); 
   
  if n > 0 then 
  begin 
    number := 1; 
    i := 0; 
     
    while i <= n-1 do 
    begin 
      write(number, ' '); 
      number := number * 2; 
      i := i + 1; 
    end; 
  end 
  else 
    writeln('Ошибка: n должно быть больше 0'); 
     
  readln; 
end. 
 



Пояснение работы программы:
1. Программа запрашивает у пользователя число n
2. Проверяет, что n > 0
3. Начинает цикл, где:
- Выводит текущее число (начиная с 1)
- Умножает число на 2
- Увеличивает счетчик
4. Цикл продолжается n раз

Пример вывода при n = 4:
1 2 4 8

Программа использует оператор цикла while с условием, что полностью соответствует заданию. Для хранения степеней двойки используется тип longint, чтобы избежать переполнения при больших значениях n.


ЕСЛИ ОШИБКИ КОМПИЛЯЦИИ ИЛИ ЧТО-ТО НЕ УСТРАИВАЕТ, В КОММЕНТАРИЯХ К МОЕМУ ОТВЕТУ УТОЧНЯЙ.

Аватар пользователя
Мастер
2мес

написал простую программу тут она выводит двойки пока n больше 0 вот код: program двоечки; var n, i: integer; begin write('введите n: '); readln(n); i := 1; while i <= n do begin writeln(2 ** i); i := i + 1; end; end.

Аватар пользователя
Мастер
2мес

сделай так в pascal turbo var n: integer; begin readln(n); for i:=0 to n-1 do writeln(2**i); end.

Аватар пользователя
Мастер
3мес

вот простая программа на паскале используй цикл для вывода степеней двух n вводи с клавиатуры вот код: begin readln(n); for i:=1 to n do writeln(2**i); end.

Аватар пользователя
Гуру
3мес

написал программу на паскале вот так begin readln(n); i:=1; while i<=n do begin writeln(2**i); i:=i+1; end; end.