Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Маким Анарх Ученик (196), открыт 3 часа назад
помогите пожалуйста решить, сделать команду, буд благодарен

Составьте программу, выводящую на экран числа 1, 2, 4, 8,…, два в степени n (n>0 вводится пользователем с клавиатуры). по теме Реализация циклического алгоритма. Операторы цикла с условием
4 ответа
gg gg Ученик (179) 3 часа назад
n = int(input())
Print(1**n)
Print(2**n)
И тд
gg ggУченик (179) 3 часа назад
Это для python
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (210260) 3 часа назад
Вот решение задачи на 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.


ЕСЛИ ОШИБКИ КОМПИЛЯЦИИ ИЛИ ЧТО-ТО НЕ УСТРАИВАЕТ, В КОММЕНТАРИЯХ К МОЕМУ ОТВЕТУ УТОЧНЯЙ.
Маким АнархУченик (196) 3 часа назад
а возможно ли как-нибудь заменить команду оператора "if" на WHILE
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (210260) Маким Анарх, https://pastebin.com/8DLgGEJP Проверяй
Aлeкceй Мыслитель (8668) 3 часа назад
 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.
Маким АнархУченик (196) 3 часа назад
а возможно ли как-нибудь заменить команду оператора "if" на WHILE
Aлeкceй Мыслитель (8668) можно, наверное
AлeкceйМыслитель (8668) 3 часа назад
только не if, a for
Похожие вопросы