HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 11.03.2009, 20:09
lll6
Познающий
Регистрация: 01.03.2008
Сообщений: 99
Провел на форуме:
613745

Репутация: 51
По умолчанию

Цитата:
Сообщение от LASS0  
Помогите пожалуйста решить задачку двумя способами, через цикл repeat until
и через for
С repeat
Код:
Program z1;
var a,b,c,x,y:real;

begin
a:=2.8;
b:=-0.3;
c:=4;
x:=0.8;
repeat
       if x<1.4 then
       y:=(a+b*x)/sqrt(x*x+4)
       else
       if x=1.4 then
       y:=a*(x*x)+b*x+c
       else
       y:=a/x+exp(a*b);
    writeln ('x=',x:8:2,'  y=',y:8:2);
    x:=x+0.2;
until x>2.8;
end.
А вот в for в паскале шаг может быть равен только единице, да и числа только целые, вот пример реализации, думаю пойдёт.
Код:
Program z1;
var a,b,c,y,f:real;
x:integer;
begin
a:=2.8;
b:=-0.3;
c:=4;
For x:=8 to 26 do
    begin
    if x mod 2 = 0 then begin
       f:=x/10;
       if f<1.4 then
       y:=(a+b*f)/sqrt(f*f+4)
       else
       if f=1.4 then
       y:=a*(f*f)+b*f+c
       else
       y:=a/f+exp(a*b);
    writeln ('x=',x/10:8:2,'  y=',y:8:2);
  end;
  end;
end.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ