IPB

Здравствуйте, гость ( Вход | Регистрация )

> Помогите найти ошибку в задаче..., Лабораторная работа по Паскалю, 1 курс
CrAzY_GeNiYS
сообщение 22.9.2008, 19:44
Сообщение #1


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 22.9.2008
Город: Украина, Краматорск
Учебное заведение: ДГМА
Вы: студент



В приложении я добавил само задание... Текст программы выложу чуть ниже, а сейчас объясню суть проблемы...
Не смотрите что я не сделал для 3 части (IMG:style_emoticons/default/smile.gif), уменя проблема с 1 и 2 частью (IMG:style_emoticons/default/sad.gif)... Не могу понять почему у меня не хочет выполняться первый цмкл, с тем же While... это я проверял так, вывел какуюто надпись перед и после цикла и получилось так, что 1-й цикл не хотит выполняться... вродебы всё удовлетворяет, но почему, я не понимаю (IMG:style_emoticons/default/unsure.gif) ... Помогите пожалуйста...

П.с.Правда хоть это и первый курс, но я решил выпендриться и решить не так как в условии... дело в том, что мы массивы не изучали... мы изучили только эти цыклы, но ещё и if then else... Вобщем это не важно... найдите ошибку если сможите...

Вот сама программа:

program lab5_var13;
uses crt;
const xn=0.4; xk=2.8; hx=0.4; a=1.7;
var x,y:real; v,i:integer; tab:array[1..7,1..2] of real;
begin
clrscr;
writeln('vubirite sposob reshenija i postavte cifry:');
writeln('1) WHILE');
writeln('2) REPEAT');
writeln('3) FOR');
write('Variant => '); read(v);
if v=1
then
begin
x:=xn;
i:=1;
writeln('nachali...');
while x<=a
do
begin
y:=cos((x)/(25));
tab[i,1]:=x;
tab[i,2]:=y;
x:=x+hx;
i:=i+1;
end;
writeln('prodolguli...');
while (x<=xk+hx)and(x>a)
do
begin
y:=sqrt(exp(3*ln(x))+4);
tab[i,1]:=x;
tab[i,2]:=y;
x:=x+hx;
i:=i+1;
end;
for i:=1 to 7
do writeln('Pri X=', tab[i,1]:10:7, ' => Y=', tab[i,2]:10:7);
end;

if v=2
then
begin
x:=xn;
i:=1;
writeln('nachali...');
repeat
y:=cos((x)/(25));
tab[i,1]:=x;
tab[i,2]:=y;
x:=x+hx;
i:=i+1;
until (x<=xk)and(x<a);
writeln('kapec...');
repeat
y:=sqrt(exp(3*ln(x))+4);
tab[i,1]:=x;
tab[i,2]:=y;
x:=x+hx;
i:=i+1;
until (x<=xk)and(x>a);
for i:=1 to 7
do writeln('Pri X=', tab[i,1]:10:7, ' => Y=', tab[i,2]:10:7);
end;
if v=3
then
begin



end;

readkey
end.


Прикрепленные файлы
Прикрепленный файл  LR5.doc ( 33 килобайт ) Кол-во скачиваний: 8
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
граф Монте-Кристо
сообщение 22.9.2008, 21:58
Сообщение #2


Доцент
******

Группа: Преподаватели
Сообщений: 3 840
Регистрация: 27.9.2007
Из: Старый Оскол
Город: Москва
Учебное заведение: МФТИ/МАИ
Вы: другое



В цикле while всё вроде бы работает нормально,а вот repeat у Вас неправильно написан.Посмотрите,что должно означать условие после until.
Вывод результатов лучше всего писать в самом конце программы - один раз вместо трёх.
К тому же Ваша программа слишком привязана к задаче,стоит немного изменить входные данные - и придётся почти заново её писать.Старайтесь делать её универсальнее.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
CrAzY_GeNiYS
сообщение 23.9.2008, 14:52
Сообщение #3


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 22.9.2008
Город: Украина, Краматорск
Учебное заведение: ДГМА
Вы: студент



Цитата(граф Монте-Кристо @ 23.9.2008, 0:58) *

В цикле while всё вроде бы работает нормально,а вот repeat у Вас неправильно написан.Посмотрите,что должно означать условие после until.
Вывод результатов лучше всего писать в самом конце программы - один раз вместо трёх.
К тому же Ваша программа слишком привязана к задаче,стоит немного изменить входные данные - и придётся почти заново её писать.Старайтесь делать её универсальнее.

Да пофиг на тот Репит... я его буду делать по образу и подобию Вайл (IMG:style_emoticons/default/smile.gif)... Я просто не пойму какого **** первый цикл Вайла не хочет работать?!... мож я и правда намудрил с i, но вроде оно должно в любом случае, но оно какого-то вобще не хочет делать первый цикл (IMG:style_emoticons/default/sad.gif)...
Ну три раза вместо одного вывод я сделал просто чтобы показать, что каждая часть проги работает отдельно, тоесть это не важно (IMG:style_emoticons/default/wink.gif)...
Цитата
стоит немного изменить входные данные - и придётся почти заново её писать

либо вы не так поняли либо я (IMG:style_emoticons/default/wink.gif)... там даны определённые числа... я их в константы определил, чтобы не парить себе мозг (IMG:style_emoticons/default/smile.gif)... а если вам переписать прогу нада, введите другое значение в константах соответствующему значению... да и собственно я это знаю, просто это не есть программа такая уж нужная, чтобы её делать универсальней (IMG:style_emoticons/default/wink.gif), согласитесь со мной, что она предназначена один раз сделать и здать... её легче заново написать если понадобиться, чем редактировать это (IMG:style_emoticons/default/smile.gif)...

Цитата
Сорри, не заметил i глобальная перем. вроде должно работать

Вот и я о том же... я полностью продумал логику... по идее оно должно в любом случае работать (IMG:style_emoticons/default/wink.gif)... но увы (IMG:style_emoticons/default/sad.gif)...

Может кто ещё что скажет?... я то могу нормально переделать и сделать так как нужно... Но мне аж интересно стало, какого **** оно не работает (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
CrAzY_GeNiYS   Помогите найти ошибку в задаче...   22.9.2008, 19:44
граф Монте-Кристо   В цикле while всё вроде бы работает нормально,а во...   22.9.2008, 21:58
CrAzY_GeNiYS   В цикле while всё вроде бы работает нормально,а в...   23.9.2008, 14:52
crazymaster   Не могу понять почему у меня не хочет выполняться...   23.9.2008, 6:33
crazymaster   Сорри, не заметил i глобальная перем. вроде должно...   23.9.2008, 6:43
creer   А почему Вы решили, что что-то не работает? vubiri...   23.9.2008, 17:37
CrAzY_GeNiYS   А почему Вы решили, что что-то не работает? vubir...   23.9.2008, 18:33
crazymaster   Ну ведь я же вывел одну надпись до цикла, а втору...   23.9.2008, 18:40
граф Монте-Кристо   Так между ними Вы ничего и не выводите на экран :...   23.9.2008, 20:01
creer   CrAzY_GeNiYS, посмотрите как будет выводиться тепе...   23.9.2008, 20:21
CrAzY_GeNiYS   Тьфу я дибил... я ж забыл, что я записую результат...   24.9.2008, 12:32
граф Монте-Кристо   В until пишется условие,при выполнении которого ци...   24.9.2008, 13:27
CrAzY_GeNiYS   В until пишется условие,при выполнении которого ц...   24.9.2008, 16:00


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.5.2025, 18:48

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru