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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2013, 12:30   #1
Tanya-Manya
Пользователь
 
Аватар для Tanya-Manya
 
Регистрация: 13.03.2013
Сообщений: 14
По умолчанию Подпрограмма Function

Помогите пожалуйста!
Используя подпрограмму Function построить схему машинного алгоритма и составить Паскаль-программу решения задачи:

Вычислить Z-сумму значений функций

z=f(sin(alfa),a)+f(cos(alfa),a)+f(s in^2(alfa),a-)+f(sin(alfa)-cos(alfa),a^2 -1)+f(sin^2(alfa)-1,cos(alfa) +a),

где F(u,t)={u+sint, u>0
{u+t , u<=0


a) alfa= pi/18 ; а= -2,1;
б) alfa = 2,3; а= 21,3;
в) alfa = -pi/14 ; а= -0,2;
г) alfa=pi/10 ; а= 31,2;

Последний раз редактировалось Tanya-Manya; 13.03.2013 в 12:35.
Tanya-Manya вне форума Ответить с цитированием
Старый 13.03.2013, 15:59   #2
interacia
Пользователь
 
Аватар для interacia
 
Регистрация: 24.01.2013
Сообщений: 67
По умолчанию Проверьте условие.

z=f(sin(alfa),a)+f(cos(alfa),a)+f(s in^2(alfa),a-)+f(sin(alfa)-cos(alfa),a^2 -1)+f(sin^2(alfa)-1,cos(alfa) +a),
Кажется в этом выражении пропущены символы. Перепишите его. А в общем случаи вариант решения может быть такой.

Код:
Program programmersforum230104;
var
Z:real;
a,alfa:real;
function f(u:real; t:real):real;
begin
if u>0 then f:=u+sin(t)
else f:=u+t;
end;

begin
Write('Введите a ');
readln(a);
Write('Введите alfa ');
readln(alfa);
writeln('Otvet');
                   
writeln('Z = ',f(sin(alfa),a)+                     // сюда 
               f(cos(alfa),a)+                       // введите 
               f(sqr(sin(alfa)),a)+                  // правильную
               f(sin(alfa)-cos(alfa),sqr(a)-1)+  // формулу
               f(sqr(sin(alfa))-1,cos(alfa) +a));
end.
interacia вне форума Ответить с цитированием
Старый 13.03.2013, 16:20   #3
Tanya-Manya
Пользователь
 
Аватар для Tanya-Manya
 
Регистрация: 13.03.2013
Сообщений: 14
По умолчанию

Премного благодарна! К сожалению в условии так и было написано ' а- '. Удалю минус.И думаю всё получится.Всех благ вам,добрый человек!

Ещё вопросик: как сделать так,чтобы при вводе дробного значения альфа связанных с пи...не выдавалось ошибки?

Последний раз редактировалось Stilet; 13.03.2013 в 17:44.
Tanya-Manya вне форума Ответить с цитированием
Старый 13.03.2013, 17:36   #4
interacia
Пользователь
 
Аватар для interacia
 
Регистрация: 24.01.2013
Сообщений: 67
По умолчанию

Что вводите ?
Какая ошибка?
Пример
Введите a 3.14
Введите alfa 3.14
Otvet
Z = 4.82194306419424
interacia вне форума Ответить с цитированием
Старый 13.03.2013, 17:47   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Tanya-Manya Посмотреть сообщение
Ещё вопросик: как сделать так,чтобы при вводе дробного значения альфа связанных с пи...не выдавалось ошибки?
Не совсем понимаю, о чём вы говорите, но если вы имеете в виду дробный разделитель, то используйте точку, хотя это может зависеть от того, какие у вас настройки разделителя десятичных дробей.
Вадим Мошев вне форума Ответить с цитированием
Старый 13.03.2013, 17:51   #6
Tanya-Manya
Пользователь
 
Аватар для Tanya-Manya
 
Регистрация: 13.03.2013
Сообщений: 14
По умолчанию

Я просто наивно думала,что где-то можно подключить математику...чтоб когда вводишь дробь pi/18 оно автоматически число "пи" распознавало.Но если так,то спасибо....буду вводить 3.14
Tanya-Manya вне форума Ответить с цитированием
Старый 13.03.2013, 20:46   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Таня, у Вас PascalABC ?
тогда у него есть заранее предопредёлённая константа с именем pi

попробуйте такую "программу":
Код:
begin
  WriteLn('pi = ',pi);
  WriteLn(pi/18);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.03.2013, 20:54   #8
Tanya-Manya
Пользователь
 
Аватар для Tanya-Manya
 
Регистрация: 13.03.2013
Сообщений: 14
По умолчанию

Да,у меня Pascal ABC.Спасибо,попробую!)
Tanya-Manya вне форума Ответить с цитированием
Старый 15.03.2013, 16:12   #9
Tanya-Manya
Пользователь
 
Аватар для Tanya-Manya
 
Регистрация: 13.03.2013
Сообщений: 14
По умолчанию

Извините за наглость,просто не могу понять.....как мне с этой программой без проблем ввести эти данные

a) alfa= pi/18 ; а= -2,1;
б) alfa = 2,3; а= 21,3;
в) alfa = -pi/14 ; а= -0,2;
г) alfa=pi/10 ; а= 31,2;

Помогите,только без матюков)))Я ведь девушка))))
Tanya-Manya вне форума Ответить с цитированием
Старый 15.03.2013, 17:34   #10
Tanya-Manya
Пользователь
 
Аватар для Tanya-Manya
 
Регистрация: 13.03.2013
Сообщений: 14
По умолчанию

Помогите упростить!Я так понимаю надо счётчики i и j использовать?!
код программы
Код:

Program pr;
Uses crt;

var

Z1,Z2,Z3,Z4:real;
a1,a2,a3,a4,alfa1,alfa2,alfa3,alfa4:real;
function f(u:real; t:real):real;
begin

if u>0 then f:=u+sin(t)
else f:=u+t;
end;

 begin
a1:=-2.1;
a2:= 21.3;
a3:= -0.2;
a4:=  31.2;
alfa1:=3.14/18;
alfa2:= 2.3;
alfa3:=  -3.14/14;
alfa4:= 3.14/10;

writeln('Результаты вычислений: ');

writeln(' а) Z1 = ',f(sin(alfa1),a1)+
               f(cos(alfa1),a1)+
               f(sqr(sin(alfa1)),a1)+
               f(sin(alfa1)-cos(alfa1),sqr(a1)-1)+
               f(sqr(sin(alfa1))-1,cos(alfa1) +a1));
writeln(' б) Z2 = ',f(sin(alfa2),a2)+
               f(cos(alfa2),a2)+
               f(sqr(sin(alfa2)),a2)+
               f(sin(alfa2)-cos(alfa2),sqr(a2)-1)+
               f(sqr(sin(alfa2))-1,cos(alfa2) +a2));
writeln(' в) Z3 = ',f(sin(alfa3),a3)+
               f(cos(alfa3),a3)+
               f(sqr(sin(alfa3)),a3)+
               f(sin(alfa3)-cos(alfa3),sqr(a3)-1)+
               f(sqr(sin(alfa3))-1,cos(alfa3) +a3));
writeln(' г) Z4 = ',f(sin(alfa4),a4)+
               f(cos(alfa4),a4)+
               f(sqr(sin(alfa4)),a4)+
               f(sin(alfa4)-cos(alfa4),sqr(a4)-1)+
               f(sqr(sin(alfa4))-1,cos(alfa4) +a4));
                            
end.
Tanya-Manya вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подпрограмма на С++ serega260394 Помощь студентам 2 23.12.2010 09:37
Подпрограмма serega260394 Помощь студентам 1 18.12.2010 07:26
Подпрограмма peter065 Помощь студентам 10 11.10.2010 22:51
Подпрограмма NAZE Паскаль, Turbo Pascal, PascalABC.NET 12 31.05.2010 17:04
подпрограмма alex1313 Паскаль, Turbo Pascal, PascalABC.NET 2 02.04.2009 21:13