Составить программу pascal turbo - Компьютерные вопросы

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

Регистрация
23 Окт 2013
Сообщения
104
Репутация
0
Спасибо
0
Монет
0
помогите пожалуйста решить, сделать команду, буд благодарен



Составьте программу, выводящую на экран числа 1, 2, 4, 8,…, два в степени n (n>0 вводится пользователем с клавиатуры). по теме Реализация циклического алгоритма. Операторы цикла с условием
 
Регистрация
3 Окт 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Вот решение задачи на Pascal:
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.


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

888

Capitan

888

Capitan
Регистрация
22 Окт 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
program PowersOfTwo;



var

n, i: Integer;

currentPower: LongInt;



begin

// Запрашиваем у пользователя значение n

Write('Введите значение n (n > 0): ');

ReadLn(n);



// Проверяем, что n > 0

if n <= 0 then

begin

WriteLn('Ошибка: n должно быть больше 0.');

Exit;

end;



// Инициализируем переменную для хранения текущей степени двойки

currentPower := 1;



// Выводим степени двойки от 0 до n

WriteLn('Числа вида 2^k (0 <= k <= ', n, '):');

for i := 0 to n do

begin

Write(currentPower, ' ');

currentPower := currentPower * 2; // Увеличиваем степень двойки

end;



WriteLn; // Переход на новую строку после вывода

end.
 
Сверху Снизу