![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Новичок
Пользователь
Регистрация: 04.05.2020
Сообщений: 11
|
![]()
а здесь что не так?
program Zadacha3; uses crt; var x,y,h: real; begin clrscr; H:=0,4; writeln('************************** ************'); x:= -5; while(x>=-5) and(x<=5)do begin if (x<0)then y:=x*x-1; alse; if (x>0)and(x<1,5)then y:=cos(x); aise; if (x>1,5) then y:=sin(x-1) end; writeln('************************** ************') end. |
![]() |
![]() |
![]() |
#12 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
"else" вот так пишется. Точка с запятой после него не нужна. Разделитель для вещественного типа - точка. Ну и бесконечный цикл получился.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#13 |
Новичок
Пользователь
Регистрация: 04.05.2020
Сообщений: 11
|
![]()
Исправила.Точки с запятыми убрала.Не идёт
program Zadacha3; uses crt; var x,y,h: real; begin clrscr; H:=(0,4); writeln('************************** ************'); x:= -5; while(x>=-5) and(x<=5)do begin if (x<0)then y:=x*x-1; else if (x>0)and(x<1,5)then y:=cos(x); else if (x>1,5) then y:=sin(x-1); end; writeln('************************** ************') end. Последний раз редактировалось Olgusi4ka; 05.05.2020 в 00:19. |
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
if (x<0)then y:=x*x-1;
else if (x>0)and(x<1,5)then y:=cos(x); else if (x>1,5) then y:=sin(x-1); Лишние, т.е. блок if-then-else не закончился А вот последняя ; закрывает оператор. |
![]() |
![]() |
![]() |
#15 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,714
|
![]()
Ну никак не идёт впрок наука!
Писа'л же: везде только < и >, случай х= не охвачен, поэтому выход не определён. Вот введи х=0 и пройди отладчиком - весь блок if-else будет мимо кассы, а результат y - не определён. Где-то в одном месте д.быть <= или >= - см. пример Отступы для форматирования, тег [CODE] - Пушкин будет делать ? Код:
Последний раз редактировалось digitalis; 06.05.2020 в 09:43. |
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,714
|
![]()
а третий if совсем не нужен: всё что осталось справа на числовой оси - оно > 1,5
Код:
|
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Возможно, что в C разделитель перед else ставится из соображений однообразия, и упрощения работы компилятора при разборе строк.
Думаю, что хотя условие несколько другое получится, но смысл да - последняя ветка else без if. Код:
Похоже, что в другом месте получил ответ. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите,пожалуйста,создать программу. | Olgusi4ka | Помощь студентам | 4 | 04.05.2020 14:07 |
Помогите пожалуйста создать программу "Шифрование Цезаря" в Pascal abc | Tchernyaev92 | Помощь студентам | 1 | 08.04.2015 10:58 |
Помогите пожалуйста, как создать программу вычислить простые числа в диаппазоне от 1 до 80000.На С++ | Victorials2648 | Visual C++ | 0 | 18.02.2014 18:15 |
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно | Сергей Человек | Фриланс | 3 | 06.07.2009 19:30 |