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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2009, 19:04   #1
P®o©omp@s
Пользователь
 
Аватар для P®o©omp@s
 
Регистрация: 20.10.2009
Сообщений: 25
По умолчанию Как переделать код?

есть код:
Код:
Program ex_000;
var A:real;k:integer;s:boolean;
begin
s:=False;
A := 0.01;
for k:=2 to 1000 do
  begin
   A := sin(k+A);
   if (A<0.25) and ((k=1) or (k=2) or (k=4) or (k=8) or (k=16) or (k=32) or
       (k=64)or (k=128) or (k=256) or (k=512)) then begin             
          Writeln('K=',k,'  ;A=',A); S:=True; end;
   end;
if s=False then Writeln('Takovyh net!');
readln;
end.
нужно придумать так что не было этих ((k=1) or (k=2) or (k=4) or (k=8) or (k=16) or (k=32) or
(k=64)or (k=128) or (k=256) or (k=512))
а ввести переменную, которая бы просто умножала в каком то цикле на два, что только не пробовал не получается ...
Замечание модератора: Используйте тег [CODE]
Знание - сокровищница, но ключ к ней - практика.
(The Knowledge is a treasure house, and key for it is a practice.)

Последний раз редактировалось Rembo; 26.10.2009 в 19:14.
P®o©omp@s вне форума Ответить с цитированием
Старый 26.10.2009, 19:15   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
k:=1;
for j:=1 to 10 do begin
k:=k*2;
A := sin(k+A);
if (A<0.25) then begin
Writeln('K=',k,' ;A=',A); S:=True; end;
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 26.10.2009, 19:21   #3
NeshSoft
Максим Николаев
Форумчанин
 
Аватар для NeshSoft
 
Регистрация: 15.02.2009
Сообщений: 170
По умолчанию

Код:
Program ex_000;
var A:real;k,KK:integer;s:boolean;
begin
s:=False;
A := 0.01;
KK=2;
for k:=2 to 1000 do
  begin
   A := sin(k+A);
   if (A<0.25) and (KK=k) then 
        begin 
        KK:=KK*2;            
        Writeln('K=',k,'  ;A=',A); S:=True; end;
   end;
if s=False then Writeln('Takovyh net!');
readln;
end.
NeshSoft. Программирование на заказ для студентов. Delphi/Pascal. Подробнее на сайте neshsoft.narod.ru
NeshSoft вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переделать код Hepri Работа с сетью в Delphi 3 20.08.2009 20:28
Помогите переделать код С++ в Delphi (CRC) Georgios Помощь студентам 2 22.07.2009 13:28
Помогите переделать код stayer Общие вопросы Delphi 3 25.10.2008 21:09
Нужно переделать код с Delphi на C++ Builder POPOV Помощь студентам 2 12.11.2007 22:51
Помогите переделать Stanislav Общие вопросы Delphi 2 24.10.2007 16:14