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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2020, 23:35   #11
Olgusi4ka
Новичок
Пользователь
 
Регистрация: 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.
Olgusi4ka вне форума Ответить с цитированием
Старый 04.05.2020, 23:54   #12
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,299
По умолчанию

"else" вот так пишется. Точка с запятой после него не нужна. Разделитель для вещественного типа - точка. Ну и бесконечный цикл получился.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 05.05.2020, 00:07   #13
Olgusi4ka
Новичок
Пользователь
 
Регистрация: 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.
Olgusi4ka вне форума Ответить с цитированием
Старый 05.05.2020, 00:26   #14
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

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 не закончился
А вот последняя ; закрывает оператор.
FPaul вне форума Ответить с цитированием
Старый 05.05.2020, 10:22   #15
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,555
По умолчанию

Ну никак не идёт впрок наука!
Писа'л же: везде только < и >, случай х= не охвачен, поэтому выход не определён. Вот введи х=0 и пройди отладчиком - весь блок if-else будет мимо кассы, а результат y - не определён. Где-то в одном месте д.быть <= или >= - см. пример
Отступы для форматирования, тег [CODE] - Пушкин будет делать ?
Код:
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;
FPaul Вот кстати - в С перед else ставится ; - нелогично как-то, с моей точки зрения. Как будто else - отдельный оператор, сам по себе. Но бог им судья.
Изображения
Тип файла: jpg x=0.jpg (7.1 Кб, 21 просмотров)

Последний раз редактировалось digitalis; 06.05.2020 в 09:43.
digitalis на форуме Ответить с цитированием
Старый 09.05.2020, 21:35   #16
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,555
По умолчанию

а третий if совсем не нужен: всё что осталось справа на числовой оси - оно > 1,5
Код:
else
     if (x>1,5) then y:=sin(x-1);
digitalis на форуме Ответить с цитированием
Старый 09.05.2020, 23:25   #17
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

Возможно, что в C разделитель перед else ставится из соображений однообразия, и упрощения работы компилятора при разборе строк.

Думаю, что хотя условие несколько другое получится, но смысл да - последняя ветка else без if.
Код:
  if (x<0) and (y<0) then
    b:=min(exp(x+1), y)
  else if (x>0) and (x<1) and (y>0) and (y<1) then
    b:=2*log(x)*max(min(x, y), sin(c*x), cos(d))
  else
    b:=a+x;
Что-то топикстартер привёл одну картинку, а решал другую задачу.
Похоже, что в другом месте получил ответ.
FPaul вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите,пожалуйста,создать программу. 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