Консультация № 184399
07.11.2011, 14:58
51.74 руб.
07.11.2011, 15:54
0 4 1
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:

задача 2, программа на языке Turbo Pascal


Обсуждение

Неизвестный
07.11.2011, 15:41
общий
это ответ
Здравствуйте, Aleksandrkib!
Ответ на вашу задачу, удачи)

Приложение:
var
a,x:integer;
y:real;
begin
write('a=');
readln(a);
write('x=');
readln(x);
if (x>2) and (a>-3) then y:=3*sin(a*x);
if (x>2) and (a<=-3) then y:=cos(a/x);
if (x<=2) then y:=exp(x);
write('y=',y);
end.
давно
Посетитель
317729
109
10.11.2011, 09:37
общий
Здравствуйте, kalim! Спасибо за решение! С задачей разобрался. Но т.к. программы на Паскале вижу не впервые, у меня возникли некоторые вопросы по этой задаче:
1. То же, что и в 1-ой задаче. Переменные a, x имеют тип real? Или я не прав?
2. Сделал для себя одно "открытие". При программировании разветвляющихся алгоритмов мы пользовались конструкцией if..., then... else
Для эксперимента я вначале так и сделал:

if (x>2) and (a>-3) then y:=3*sin(a*x) else
if (x>2) and (a<=-3) then y:=cos(a/x) else
y:=exp(x);

Затем записал, как у Вас. И в том, и в другом случае программа работает! Получается, без else можно обойтись?
Неизвестный
10.11.2011, 10:31
общий
Адресаты:
Здравствуйте, Aleksandrkib!
Да и в этот раз вы правы, извините, недоглядел "a, x" могут имеют тип real

В данном случае без else можно обойтись.
<если> условие1 <то> делаем1 <иначе> <если> условие2 <то> делаем2 <иначе> делаем3
Эту же конструкцию можно построить и так:
<если> условие1 <то> делаем1
<если> условие2 <то> делаем2
<если> условие3 <то> делаем3

Как и в первой задаче поправьте вывод на примерное такой write('y=',y:8:4)

Удачи)
давно
Посетитель
317729
109
10.11.2011, 10:41
общий
Спасибо Вам за пояснения!
Форма ответа