• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задачи на паскале.

  • Автор темы Автор темы aizkil
  • Дата начала Дата начала

aizkil

Ученик
Регистрация
17 Янв 2011
Сообщения
1
Реакции
0
Баллы
0
Задачи на паскале.

Здравствуйте, помогите решить плз задачи, Не было времени понять паскаль, сейчас сижу читаю, но думаю к завтрашнему не успею понять=( завтра последний день можно будет получить допуск к экзамену, заранее спасибо!

№1
Ввести с клавиатуры x,y и вычислить, используя метод промежуточного аргумента:
z=2^sin(x+5y)-e^-x-5y

№2
Вычислить вводя соответствующую функцию в разделе Function:
y=ArcCos(ArcCos(x))-ArcCos(x^3)

№3
Вычислить для треугольника ABC все стороны, все углы(в градусной мере), периметр и площадь, если известны сторона BC и углы BAC, ACB.
Замечания: Программа должна содержать ввод известных величин с клавиатуры, вычисление неизвестных с использованием раздела Function и вывод результатов вычисления на экран.

№4
Ввести некоторое число N. Определить является ли оно числом:
Неотрицательным? Кратным 6? Меньшим -1? Степенью 4?

№5
Составить программу, которая определяет для двух вводимых натуральных чисел M и N их наибольший делитель.

№6
Вычислить максимальную сумму квадратов натуральных чисел, кратных (3,6,9...), меньшую 3000.
Замечание: Провести решение 2мя способами - используя цикл с предусловием WHILE_DO и цикл с полусловием REPEAT_UNTIL.
 
№4
Ввести некоторое число N. Определить является ли оно числом:
Неотрицательным? Кратным 6? Меньшим -1? Степенью 4?
Код:
var
n,m:integer;
begin
write ('n=');
readln (n);
if n>0 then writeln ('НЕ отрицательное');
if n mod 6=0 then writeln ('кратное 6') else writeln ('Не кратное 6');
if n<-1 then writeln ('меньше -1') else writeln ('больше -1');
m:=1;
repeat
m:=m*4;
until m>=n;
if m=n then writeln ('степень 4') else writeln ('НЕ степень 4');
readln
end.
 
№5
Составить программу, которая определяет для двух вводимых натуральных чисел M и N их наибольший делитель.
Код:
var M, N: integer;
begin
writeln('Введите М и N');
readln(M, N);
while M<>N do
begin
if M>N
then M:=M-N
else N:=N-M
end;
write('Н0Д=',М)
end.
 
№2
Вычислить вводя соответствующую функцию в разделе Function:
y=ArcCos(ArcCos(x))-ArcCos(x^3)
Думаю решение такое:
Код:
var
x,y:real;
function arccos(x:real):real;
begin
arccos:=arctan(sqrt(1-sqr(x))/x);
end;
function func(x:real):real;
var y:real;
begin
y:=arccos(arccos(x)-arccos(sqr(x)*x));
func:=y;
end;
begin
write ('x=');
read(x);
func(x);
write ('y=',y);
readln
end.
 
Shrek, я думаю, такое
Код:
function arccos(x:real):real;
begin
  arccos:=arctan(sqrt(1-sqr(x))/x);
end;
задание функции arccos - "не есть хорошо", и вот почему:
1. При х=0 возникнет ошибка деления на ноль, а должно быть возвращено Pi/2.
2. Как при х=1, так и при х=-1 такая функция вернет arccos(х)=0, в то время как должно быть при x=1 arccos(x)=0, a при x=-1 arccos(x)=Pi.
Могу предложить такой вариант (он "зашит" в мои библиотеки):
Код:
function ArcCos(X:Real):Real;
BEGIN
    IF ROUND(X*10000)=10000 THEN ArcCos:=0 ELSE
    IF ROUND(X*10000)=-10000 THEN ArcCos:=Pi ELSE
    ArcCos:=(Pi/2)-ArcTan(X/SQRT(1-X*X));
END;
 
№1
Ввести с клавиатуры x,y и вычислить, используя метод промежуточного аргумента:
z=2^sin(x+5y)-e^-x-5y
Возможно это должно выглядеть вот так:
Код:
var
a,x,y,z:real;
function func(x,y:real):real;
begin
a:=x+5*y;
z:=exp(ln(2)*sin(a)-exp(ln(2.7)*(-a)));
end;
begin
write ('x=');
readln(x);
write ('x=');
readln(x);
func(x,y);
write ('z=',z);
readln
end.
 
Назад
Сверху