Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2016, 16:38   #1
AlexStrog
Новичок
Джуниор
 
Регистрация: 03.04.2016
Сообщений: 1
Восклицание вывода на экран всех степеней числа 2, меньших за 100. Используя оператор while.

Составтьте программу вывода на екран всех степеней числа 2, меньших за 100. Используя оператор while.
AlexStrog вне форума Ответить с цитированием
Старый 04.04.2016, 10:09   #2
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Код:
  while SQ<100 do
    begin
     writeln(SQ);
     SQ:=SQ*2;
    end;
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 04.04.2016, 10:34   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
меньших за 100
это надо с евrейско-одесским акцентом читать?
что это значит-то?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 04.04.2016, 11:14   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

2 в степени 100 будет
1 267 650 600 228 229 401 496 703 205 376

Dvoishnik, в вашем коде переполнения не будет?!

рекомендую ознакомиться с притчей про изобретателя шахмат и награду, которую он попросил в виде зернышка на первой клеточке, два зёрнышка на второй клеточке, и т.д. удваивая предыдущее значение. Магараджа не смог выдать ему награду. Вы знаете, почему? А ведь там было всего навсего 2 в степени 64
(правда там было суммирование всех предыдущих, но это в данном случае не принципиально).


Прошу не обращать внимания на мой пост.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.12.2017, 19:56   #5
olga_sherbiena
Новичок
Джуниор
 
Регистрация: 08.12.2017
Сообщений: 1
По умолчанию думаю так будет корректней.

var
s: integer;
begin
s := 1;
while s<=100 do
begin
writeln(s);
s:=s*2;
end;
end.
olga_sherbiena вне форума Ответить с цитированием
Старый 08.12.2017, 20:27   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
думаю так будет корректней.
последний вывод будет = 256128
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 09.12.2017, 02:29   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Цитата:
Сообщение от AlexStrog Посмотреть сообщение
вывода на екран всех степеней числа 2
"Чтобы сил себе моральных и физических сберечь -
пейте соков натуральных - укрепляют грудь и плеч"


Та без проблем - кто сказал, шо числа целые должны быть ?
Код:
var x : extended ; i : integer ;
begin
  x := 1 ; i := 0 ;
  while i < 100 do
    begin
        Writeln (i,x) ;
        x := x + x ; Inc (i)
    end ;
Ну ежели уж позарез в целых числах, то (на Паскале мне лень) на Делфи что-то вроде :
Код:
var  i : integer ; IL,IH: Int64 ;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
  Memo1.Clear ; i := 0 ; IL := 1 ; IH := 0 ;
end;

procedure TForm1.Button1Click(Sender: TObject);
var stL,stH,stHL : string ;
begin
  stL := (Format ('%20d',[IL])) ;
  stH := (Format ('%20d',[IH])) ;
  stHL := stH+stL ;
  Memo1.Lines.Add(Format ('%3d %s',[i,stHL])) ;
  Inc (i) ; IL := IL + IL ; IH := IH + IH;
  if IL > 1000000000000000000 then
    begin  IL := IL - 1000000000000000000 ; IH := IH + 1 end ;
end;

Последний раз редактировалось digitalis; 09.12.2017 в 21:52.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выведите на экран натуральные числа от 1 до 100, которые при делении на 6 дают в остатке 4 и их количество(цифр) svob Паскаль, Turbo Pascal, PascalABC.NET 9 09.12.2012 20:16
Написать, используя оператор цикла for, вывод на экран 5 раз фразу harvey Помощь студентам 2 10.10.2012 20:17
вывести на экран все числа делящиеся на 13 от1 до 100 nasya73 Паскаль, Turbo Pascal, PascalABC.NET 5 07.11.2011 01:32
вывести подряд числа 1, 2, 3, ... , 100 с выводом ответа на экран Kitti Помощь студентам 2 10.06.2010 18:09
Программа вывода всех натуральных чисел меньших N strateg66 Помощь студентам 1 09.01.2010 00:36