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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2013, 23:38   #1
---Demon---
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 22
По умолчанию Как исправить прогу!

Мне тут подсказали как писать , но у меня еще были заготовки, но прога не идет я не понимаю почему!
Постановка задачи
Написать программу, которая по значениям аргумента Xi вычисляет значения
функции Yi, заданной в виде графика. Значения функции вычисляются для
аргумента, изменяющегося в заданных пределах с заданным шагом.
С клавиатуры вводятся:
Xn - начальное значение аргумента;
Xk - конечное значение аргумента;
dX - шаг изменения аргумента.
Результаты вычислений вывести в виде таблицы, состоящей из двух столбцов:
значений аргумента Xi и соответствующих им значений функции Yi. Таблица
должна иметь заголовочную строку.
Должна быть реализована возможность многократного выполнения
программы без ее перезапуска. В программе необходимо использовать условный
оператор, оператор цикла с предусловием, оператор цикла с постусловием.
Обеспечить пользовательский интерфейс (вывод на экран поясняющих сообщений).
Требования к входным и выходным данным:
– диапазон значений Xi соответствует области определения функции на
графике (см. вариант задания) и может принимать как целые, так и вещественные
значения;
– значение параметра R постоянно и определяется по графику;
– формат вывода таблицы значений аргумента и функции следующий:
____________
X Y
--------------
± 0.00 ± 0.00
… …

Текст задачи!
Код:
Program Grafic;
Uses crt;
Const R=3;
Var X,Xn,Xk,dX,y:real;
Begin
Repeat;
Clrscr;
Write('Xn=');
readln(Xn);
Write('Xk=');
readln(Xk);
Write('dX=');
readln(dX);
Writeln;
Writeln(' _____________ ');
Writeln(' :  X  :  Y  : ');
Writeln(' ------------- ');
X:=Xn;
While X<=Xk do begin;
  If x<=-3 then y:=3;
   If x<=3 then y:=3-sqrt(R*R-x*x);
    If x<=6 then y:=R*R-2*x;
     If x<=11 then y:=x-R*R;
  End;
Writeln(x:0:10,'',y:0:10);
x:=x+dx;
Writeln ('press ESC exit or press Enter proceed');
Until readkey=#27;
end.
Запуска ввожу значения появляется пустая таблица!
и не выходит и ничего не делает и не выдает надпись нажать esc и....!



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 11.04.2013 в 11:39.
---Demon--- вне форума Ответить с цитированием
Старый 10.04.2013, 23:55   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
ничего не делает и не выдает надпись нажать esc и....!
циклится она у вас потому что
Код:
Program Grafic;
Uses crt;
Const R=3;
Var X,Xn,Xk,dX,y:real;
Begin
Repeat;
Clrscr;
Write('Xn=');
readln(Xn);
Write('Xk=');
readln(Xk);
Write('dX=');
readln(dX);
Writeln;
Writeln(' _____________ ');
Writeln(' : X : Y : ');
Writeln(' ------------- ');
X:=Xn;
While X<=Xk do begin;
If x<=-3 then y:=3 else
If x<=3 then y:=3-sqrt(R*R-x*x) else
If x<=6 then y:=R*R-2*x else
If x<=11 then y:=x-R*R;
Writeln(x:0:10,'',y:0:10);
x:=x+dx;
End;
Writeln ('press ESC exit or press Enter proceed');
Until readkey=#27;
end.
у меня в Паскаль АВС все работает ни на что не ругается
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 11.04.2013 в 00:10.
Mad_Cat вне форума Ответить с цитированием
Старый 11.04.2013, 00:03   #3
---Demon---
Пользователь
 
Регистрация: 03.04.2013
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
циклится она у вас потому что
Код:
Program Grafic;
Uses crt;
Const R=3;
Var X,Xn,Xk,dX,y:real;
Begin
Repeat;
Clrscr;
Write('Xn=');
readln(Xn);
Write('Xk=');
readln(Xk);
Write('dX=');
readln(dX);
Writeln;
Writeln(' _____________ ');
Writeln(' : X : Y : ');
Writeln(' ------------- ');
X:=Xn;
While X<=Xk do begin;
If x<=-3 then y:=3 else
If x<=3 then y:=3-sqrt(R*R-x*x) else
If x<=6 then y:=R*R-2*x else
If x<=11 then y:=x-R*R;
Writeln(x:0:10,'',y:0:10);
x:=x+dx;
End;
Writeln ('press ESC exit or press Enter proceed');
Until readkey=#27;
end.
Теперь выдает ошибку (Error in statement) где end поставили!
Переменные вроде все указаны цикл есть почему ошибка..
---Demon--- вне форума Ответить с цитированием
Старый 11.04.2013, 09:30   #4
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от ---Demon--- Посмотреть сообщение
Теперь выдает ошибку (Error in statement) где end поставили!
Переменные вроде все указаны цикл есть почему ошибка..
Вот тут
Код:
While X<=Xk do begin;
ничего не смущает?
Все тривиальное просто
whatever вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправить прогу на Visual Basic ds.Dante Фриланс 1 23.03.2010 21:45
Помогите исправить прогу barbossa Общие вопросы C/C++ 3 10.06.2009 00:41
Помогите немного исправить Прогу ApXoH Паскаль, Turbo Pascal, PascalABC.NET 6 04.05.2009 14:22
Помогите исправить прогу(Cреда MSDEV visual c++ 6.0) JOFRIF Помощь студентам 4 04.06.2008 14:15
Помогите исправить прогу так чтобы препода удовлетворяла))) 812 Помощь студентам 3 25.05.2008 12:34