17.01.2011, 21:10 | #1 (permalink) |
Новичок
Регистрация: 17.01.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Задачи на паскале.
№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. |
17.01.2011, 21:10 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Прошу вас, обратите внимание на схожие обсуждения Три задачи в Паскале Три задачи на Паскале Задачи на Паскале Три задачи на Паскале |
18.01.2011, 08:33 | #2 (permalink) | |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
Цитата:
Код:
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. |
|
18.01.2011, 08:58 | #4 (permalink) | |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
Цитата:
Код:
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. |
|
18.01.2011, 10:49 | #5 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Shrek, я думаю, такое
Код:
function arccos(x:real):real; begin arccos:=arctan(sqrt(1-sqr(x))/x); end; 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; |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
18.01.2011, 11:10 | #6 (permalink) | |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
Цитата:
Код:
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. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|