Страница 1 из 1

пожалуйста, помогите решить(((

Добавлено: 19 окт 2013, 23:40
самапосебе
1. Разработать, ввести в ЭВМ и отладить программу для расчёта количества гектаров, которое нужно убрать каждой из студенческих групп, если известна общая площадь поля и количество студентов в каждой группе.

3. Составить программу для вычисления x и y по формулам

4 Составить программу для вычисления

Re: пожалуйста, помогите решить(((

Добавлено: 21 окт 2013, 18:19
Мария Лорани
program zadacha_1;
var
x,y,a,b,c:real;
function funcx:real;
begin
x:=2*ln(a)-1/(b*c)+(sin(pi*b*c))/(cos(pi*b*c));
end;
function funcy:real;
begin
y:=cos(0.387*a)+sqrt(abs(a+b));
end;
begin
writeln('Введите a');
read(a);
writeln('Введите b');
read(b);
writeln('Введите c');
read(c);
if (b*c*a<>0) and (a>0) then
funcx
else
write('Невозможно вычислить x');
funcy;
writeln('x = ',x);
writeln('y = ',y);
end.

Вторая задача
http://dfiles.ru/files/vhu80bo7t

Re: пожалуйста, помогите решить(((

Добавлено: 21 окт 2013, 18:26
Мария Лорани
http://dfiles.ru/files/vhu80bo7t

Вот она сразу в паскале

Re: пожалуйста, помогите решить(((

Добавлено: 21 окт 2013, 18:50
Мария Лорани

Re: пожалуйста, помогите решить(((

Добавлено: 23 окт 2013, 10:38
Хыиуду
function funcx:real;
begin
x:=2*ln(a)-1/(b*c)+(sin(pi*b*c))/(cos(pi*b*c));
end;
Если уж ваша подпрограмма ничего не возвращает, логичнее ее обозначить не функцией, а процедурой (procedure). На моей памяти Pascal - единственный язык, где есть эта разница. Если же хотите, чтобы это была-таки функция (заодно можно использовать функцию tan вместо деления синуса на косинус) - она оформляется так:
function funcx:real;
begin
funcx:=2*ln(a)-1/(b*c)+tan(pi*b*c);
end;
И вызывается как x:=funcx();
Не помню уже, нужны ли в Паскале пустые скобки.
А вообще, в приложении к данной конкретной задаче, функция не особо и нужна - значение вычисляется единожды в одном месте. Так что можно просто
writeln('x=', 2*ln(a)-1/(b*c)+tan(pi*b*c));

Впрочем, это все никак не влияет на конечный результат. Ваше решение полностью верное.