Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 13

Небольшая проблема с концом отрезка - прошу помочь

04.11.2011, 18:33. Показов 1060. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание такое: дана система уравнений

F(x)=
= e^-x; -2 <= x <= 0;
= 0.5x+1; 0 < x < 2;
= 4-x; 2 <= x <= 3;

Шаг h = 0.2. Составить таблицу значений и вывести на экран.

Прогу Я написал по всем указаниям используя ''while''.

И она работает. Только одно НО -с шагом = 0.2 она не просчитывает конец отрезка т.е. 3.
Причём с шагом 0.25 или 0.5 или 1 всё прекрасно просчитывается от и до. В ЧЁМ ДЕЛО? ЧТО НАДО ИСПРАВИТЬ?


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Program pro3;
Uses crt;
var a,b,f,x,h:real;
label M1,M2;
Begin
Clrscr;
Write('nachalo otrezka a=');
Readln(a);
Write('konec otrezka b=');
Readln(b);
Write('vvedite h=');
Readln(h);
writeln('|-----------|');
writeln('| x   | f(x)|');
writeln('|-----------|');
x:=a; M1:
if x>=-2 then
begin
while x<=0 do
   begin
   f:=exp(-x);
  goto M2; end;
  begin
  if x>0 then
 while x<2 do
    begin
 f:=0.5*x+1;
 goto M2; end;
 begin
  if x>=2 then
 while x<=b  do
begin
f:=4-x;
goto M2;
M2:
writeln ('|',x:1:2, ' | ',f:1:2, '|');
writeln('|-----------|');
x:=x+h;
goto M1;
end; end; end; end;
readkey;
 
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.11.2011, 18:33
Ответы с готовыми решениями:

Абрамов № 61, 85, 334(а), 374, 67(б,а). Прошу помочь, мне нужны эти задания для зачета прошу помощи.
Прошу помощи, скачайте файл Абрамов (пожалуйста), номер 61, 85, 334(а), 374, 67(а,б). Помочите чем сможете пожалуйста

Прошу помочь
У меня сайт в мамбе проверил seo высветилась непонятная фигня в ключах http://seo-rus.com/analyze.php5?url=orgasm.com.ua Там...

Прошу помочь
Ребят, помогите игру короткие нарды найти пожалуйста... измучился уже, пол интернета перелопатил. суть такая - залив файлы игры на какой...

14
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
04.11.2011, 19:21
1)зачем метки когда там можно сделать 3 условия?
2)зачем 3 цикла когда это в одном делается?
3)отрезок от -2 до 3-х,шаг 0.2 нафига тогда начало и конец вводить и шаг?
0
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 13
04.11.2011, 19:32  [ТС]
3)отрезок от -2 до 3-х,шаг 0.2 нафига тогда начало и конец вводить и шаг?
________________

Таковы правила игры...))) Просто нас так заставляют, чтобы мы потом могли в этот же "каркас" проги зафигячить более сложный отрезок программы с интегралом и шаг менять при необходимости


2)зачем 3 цикла когда это в одном делается?
___________

Ни зачем, а потому что мы начинающий паскалер)) Не знаю как это делать в одном, если у нас три отрезка и на каждом своя функция.

1)зачем метки когда там можно сделать 3 условия?

Если честно признаться, то эту задачу надо выполнить 4-мя способами - условными операторами, с предусловием, с постусловием и с параметром. Чтоб мол все их освоить. Но Я вот начал с whil-а.

Пока прошу поправить конкретно эту прогу с конкретным косяком, если он исправляем, конечно.
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
04.11.2011, 19:39
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Uses crt;
var a,b,h:real;
    l:byte;
Begin
Clrscr;
a:=-2;
b:=3;
l:=0;
h:=0.2;
while a<b+h do
begin
 if (a>=-2) and (a<=0) then writeln('-2 <= x <= 0; x:=',a:1:1,' F(x):=',exp(-a):1:3)
 else if (a>0) and (a<2) then writeln('0<x<2; x:=',a:1:1,' F(x):=',0.5*a+1:1:3)
 else writeln('2<=x<=3; x:=',a:1:1,' F(x):=',4-a:1:3);
 inc(l);
 if l mod 20=0 then readln;
 a:=a+h;
end;
readkey;
end.
Не проверял.
1
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 13
04.11.2011, 19:45  [ТС]
Благодарю. Это наверняка ещё пригодится. Но поставленную задачу это не решает.
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
04.11.2011, 19:47
да ладно?Интересно почему?
0
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 13
04.11.2011, 19:56  [ТС]
3)отрезок от -2 до 3-х,шаг 0.2 нафига тогда начало и конец вводить и шаг?
________________

Таковы правила игры...))) Просто нас так заставляют, чтобы мы потом могли в этот же "каркас" проги зафигячить более сложный отрезок программы с интегралом и шаг менять при необходимости


2)зачем 3 цикла когда это в одном делается?
___________

Ни зачем, а потому что мы начинающий паскалер)) Не знаю как это делать в одном, если у нас три отрезка и на каждом своя функция.

1)зачем метки когда там можно сделать 3 условия?

Если честно признаться, то эту задачу надо выполнить 4-мя способами - условными операторами, с предусловием, с постусловием и с параметром. Чтоб мол все их освоить. Но Я вот начал с whil-а.

Пока прошу поправить конкретно эту прогу с конкретным косяком, если он исправляем, конечно.
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
04.11.2011, 20:01

Не по теме:

я не думаю что твоему преподавателю понравятся метки в коде и 3 цикла.


это задание обычно выполняется с помошью разных циклов(for,while,repeat) и условий.
0
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 13
04.11.2011, 20:44  [ТС]
Может быть и не понравятся, но больше ему не понравилось, когда Я присвоил начало и конец изначально.
К тому же нужна таблица. Как иначе делать - не знаю. Насчёт меток негативно не отзывался. Я думал вообще, что таким образом блеснул остатками ума, сократив код =))

"это задание обычно выполняется с помошью разных циклов(for,while,repeat) и условий."

этого от нас и ждут. Но можно ли моё уже готовое "творчество" поправить?

Добавлено через 22 минуты
Завсегдатаев форума прошу дать ссылки на темы с подобными заданиями и их решениями. Наверняка такие уже были не раз и кто-то помнит где это.
0
1 / 1 / 0
Регистрация: 03.11.2011
Сообщений: 6
05.11.2011, 12:45
Цитата Сообщение от Sobersmart Посмотреть сообщение
Задание такое: дана система уравнений

F(x)=
= e^-x; -2 <= x <= 0;
= 0.5x+1; 0 < x < 2;
= 4-x; 2 <= x <= 3;

Шаг h = 0.2. Составить таблицу значений и вывести на экран.

Прогу Я написал по всем указаниям используя ''while''.

И она работает. Только одно НО -с шагом = 0.2 она не просчитывает конец отрезка т.е. 3.
Причём с шагом 0.25 или 0.5 или 1 всё прекрасно просчитывается от и до. В ЧЁМ ДЕЛО? ЧТО НАДО ИСПРАВИТЬ?


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Program pro3;
Uses crt;
var a,b,f,x,h:real;
label M1,M2;
Begin
Clrscr;
Write('nachalo otrezka a=');
Readln(a);
Write('konec otrezka b=');
Readln(b);
Write('vvedite h=');
Readln(h);
writeln('|-----------|');
writeln('| x   | f(x)|');
writeln('|-----------|');
x:=a; M1:
if x>=-2 then
begin
while x<=0 do
   begin
   f:=exp(-x);
  goto M2; end;
  begin
  if x>0 then
 while x<2 do
    begin
 f:=0.5*x+1;
 goto M2; end;
 begin
  if x>=2 then
 while x<=b  do
begin
f:=4-x;
goto M2;
M2:
writeln ('|',x:1:2, ' | ',f:1:2, '|');
writeln('|-----------|');
x:=x+h;
goto M1;
end; end; end; end;
readkey;
 
end.
Тип real замените на double
0
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 13
05.11.2011, 15:43  [ТС]
Асельбек, это ничего не меняет.
0
1 / 1 / 0
Регистрация: 03.11.2011
Сообщений: 6
05.11.2011, 16:42
Во өпервых у Вас опечатка в двух местах:
Строка 28 по моему и ниже метка М2 я поменял на М1. Давала
ошибку при выполнении, а потом там где х<b написал x<b+0.0000000001
и все пошло!!
высылаю исправленнй текст программы:
Program pro3;
Uses crt;
var a,b,f,x,h:real;
label M1,M2;
Begin
Clrscr;
Write('nachalo otrezka a=');
Readln(a);
Write('konec otrezka b=');
Readln(b);
Write('vvedite h=');
Readln(h);
writeln('|-----------|');
writeln('| x | f(x)|');
writeln('|-----------|');
x:=a; M1:
if x>=-2 then
begin
while x<=0 do
begin
f:=exp(-x);
goto M1; end;
begin
if x>0 then
while x<2 do
begin
f:=0.5*x+1;
goto M1; end;
begin
if x>=2 then
while x<=b+0.0000000001 do
begin
f:=4-x;
goto M2;
M2:
writeln ('|',x:1:2, ' | ',f:1:2, '|');
writeln('|-----------|');
x:=x+h;
goto M1;
end; end; end; end;
readkey;

end.
Желаю удачи!
Асельбек
1
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 13
05.11.2011, 19:15  [ТС]
Асельбек, "там где х<b написал x<b+0.0000000001"

Спасибо за гениальную идею)) "Всё гениальное - просто!"
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
05.11.2011, 19:22

Не по теме:

программу в 20 строк растянуть на 42 строки. Этож ещё уметь надо.Просто убил.По моему ни один студент на первом курсе такое не напишет.Ну разве только очень талантливый.


Не оскорбление.Это я к тому что отучайтесь вы лучше сейчас писать говнокод. Потом легче жить будет.
0
0 / 0 / 0
Регистрация: 04.11.2011
Сообщений: 13
05.11.2011, 19:51  [ТС]
SuPeR XaKer, переписал Я =)

Вот что получилось. Работает на 100% без меток и с одним циклом.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Program pro_while;
Uses crt;
var a,b,x,h: real;
Begin Clrscr;
Write('nachalo otrezka a='); Read(a);
Write('konec otrezka b=');   Read(b);
Write('vvedite h=');         Read(h);
writeln('|-----------|');
writeln('| x   | f(x)|');
writeln('|-----------|');
x:=a;
while x<b+h do
begin
  if (x<=0)  then
writeln ('|',x:1:2, ' | ',exp(-x):1:2, '|');
  if (x>0) and (x<2) then
writeln ('|',x:1:2, ' | ',0.5*x+1:1:2, '|');
  if (x>=2) and (x<=b+0.000000001) then
writeln ('|',x:1:2, ' | ',4-x:1:2, '|');
x:=x+h; end;
readkey;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2011, 19:51
Помогаю со студенческими работами здесь

Прошу помочь!
Всем привет! Обращаюсь с таким вопросом - кто может помочь с продвижением сайта? Конечно же, все условия будут оговариваться. Сайт...

Прошу помочь
Нужно привести програмку в порядок, с первой частью вроде справился, со второй не могу, ошибка С2784. Первая часть: было: ...

Прошу помочь
Люды может кто подскажет что делать в этой ситуации? проблема написана здесь http://**************/topic34533.html заранее спасибо

Прошу помочь
зДравствуйте. прошу вас помочь. извините за такое написание, но у меня ппроблемы с клавиатурой. ОС - виндовс 7.обычный компьютер, не...

Прошу помочь
Недавно торгую сылками на сапе. Знаю, что порно и казино нужно в гбл отправлять. А как ыть с ссылками с такими анкорами ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru