1. Разработать, ввести в ЭВМ и отладить программу для расчёта количества гектаров, которое нужно убрать каждой из студенческих групп, если известна общая площадь поля и количество студентов в каждой группе.
3. Составить программу для вычисления x и y по формулам
4 Составить программу для вычисления
пожалуйста, помогите решить(((
-
- Сообщения: 3
- Зарегистрирован: 21 окт 2013, 17:39
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
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
-
- Сообщения: 3
- Зарегистрирован: 21 окт 2013, 17:39
-
- Сообщения: 3
- Зарегистрирован: 21 окт 2013, 17:39
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));
Впрочем, это все никак не влияет на конечный результат. Ваше решение полностью верное.
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));
Впрочем, это все никак не влияет на конечный результат. Ваше решение полностью верное.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.