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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2009, 19:23   #1
Geldor
 
Регистрация: 19.05.2009
Сообщений: 3
Сообщение Задачи по Паскалю

Добрый день. Приступлю сразу к сути, есть 4 задачи, попытался их сделать но не выходит. А к преподу соваться рискованно %)
Подправьте где я неверно сделал:

1. разветвление

Типа система уравнений

{ln***(х)+х**/sqrt(x+a), если х<0.5
y={sqrt(x+a)+1/x , если х=0.5
{cosx-asin**x, если х>0.5

a=2.5, x є [0.2, 2], дельта х = 0.2

***- куб, ** квадрат) Не знаю как ln в кубе в паскаль перевести(

Вот что я сумел сделать:
Код:
program zadacha_1;
uses Crt;
const
       a=2.5;
var 
       x, y: real;
begin
x:=0.2;
while x<2 do 
      begin
if x<-1 then y:=ln***(x)+sqr(x)/sqrt(x+a) else
if x:=0.5 then y:= sqrt(x+a)+1/x
else y:=cos-a*sqr(sin)*x;
x:=x+0.2;
       end;
writeln ('y=', y:5:2);
end.
2. Наверно всем поднадоевшая, вычисление суммы N первых членов ряда с заданой точностью Е

1+x*x/2!+x*x*x*x/4!+x*x*x*x*x*x/6!+....
E=0.001

Определил,
Цитата:
Аn=exp(2nLn(x))/(2n)!
Путем нехитрых вычислений и преобразований:
Цитата:
An+1=An*(x/n+1)
Вот попытка, где неверно, поправьте пжлст
Код:
Program zadacha_2;
uses Crt;
const e=0.001;
var fact, s, a: real;
n: integer;
begin
clrscr;
writeln('vvedite x'); readln(x);
n:=1; s:=1; a:=1;
while abs(a)>e do
begin
n:=n+1;
a:=a*x/n+1;
s:=s+a;
end;
writeln('suma=', s:5:3);
readln;
end.
3. Одновымерные массивы чисел
Заданы целые числа а1..а20. Получить новую последовательность, исключив из заданой все члены с значением max

Никак не допру я тут(( Вот жалкая попытка:
Код:
program zadacha_3;
uses Crt;
var
x: array[1..20] of integer;
max: real;
n, i: integer;
begin
randomize;
max:=x[1];
for i:=1 to 20 do 
if max<x[i] then max:=x[i]
дальше думал думал, как новую последовательность получить без max...

4. В даной матрице целых чисел А(4,5) поменять местами ряд, который содержит элемент с наибольшим значениемна ряд который имеет элемент с наименьшим значением. Считается, что такие элементы равны.

Не понимаю, помогите с этим...

Буду рад любой помощи.
С ув., Александр.

Последний раз редактировалось Stilet; 04.06.2009 в 12:35.
Geldor вне форума Ответить с цитированием
Старый 03.06.2009, 19:37   #2
Skyrazor
Пользователь
 
Аватар для Skyrazor
 
Регистрация: 31.05.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Geldor Посмотреть сообщение
{ln***(х)+х**/sqrt(x+a), если х<0.5
y={sqrt(x+a)+1/x , если х=0.5
{cosx-asin**x, если х>0.5

a=2.5, x є [0.2, 2], дельта х = 0.2
х вводится с клавиатуры и должен быть в диапазоне 0,2 - 2. так? что такое дельта икс тогда? его, мне сдается, здесь быть не должно
Skyrazor вне форума Ответить с цитированием
Старый 03.06.2009, 20:52   #3
Geldor
 
Регистрация: 19.05.2009
Сообщений: 3
По умолчанию

да, именно в диапазоне 0.2-2...
А дельта икс, это типа через каждые 0.2, типа 0.2, 0.4, 0.6, 0.8 и т.д.
Geldor вне форума Ответить с цитированием
Старый 03.06.2009, 21:27   #4
Skyrazor
Пользователь
 
Аватар для Skyrazor
 
Регистрация: 31.05.2009
Сообщений: 22
По умолчанию

что то я не догоню никак. нужно чтобы без ввода всяких чисел программа только вывела значения функции при иксах начиная с 0.2 до 2 с интервалом 0.2. так чтоли?
Skyrazor вне форума Ответить с цитированием
Старый 03.06.2009, 21:38   #5
Geldor
 
Регистрация: 19.05.2009
Сообщений: 3
По умолчанию

Угу, походу так...
Geldor вне форума Ответить с цитированием
Старый 03.06.2009, 21:59   #6
tatu_cat_69
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 10
По умолчанию

в задаче про массивы...введи imax-будет номер максимального(т.е. в начале imax=1)
потом находишь max и находишь их номера.
потом берем for i:=1 to imax do
присваиваем все элементам массива другой массив
а потом for i:=(imax+1) to 20 do присваиваем оставшиеся
не знаю работает ли, но вдруг подал идею
tatu_cat_69 вне форума Ответить с цитированием
Старый 03.06.2009, 22:16   #7
Skyrazor
Пользователь
 
Аватар для Skyrazor
 
Регистрация: 31.05.2009
Сообщений: 22
По умолчанию

вот первая задача:

Код:
uses Crt;
const
a=2.5;
var
x,y:real;

begin
ClrScr;
x:=0.2;

while x<2 do
begin
if x<-1 then y:=sqr(ln(x))*ln(x)+sqr(x)/sqrt(x+a)
else
begin
if x=0.5 then y:=sqrt(x+a)+1/x
else y:=cos(x)-a*sqr(sin(x));
end;
writeln('y= ',y:5:2);
x:=x+0.2;
end;
Readkey;
end.
на остальное нет знаний
Skyrazor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 задачи по Паскалю Павел Я Помощь студентам 27 18.03.2009 20:27
Задачи по паскалю. Lavron Паскаль, Turbo Pascal, PascalABC.NET 20 05.01.2009 15:34
Задачи по паскалю. Никуся Паскаль, Turbo Pascal, PascalABC.NET 13 28.12.2008 21:33
Задачи по Паскалю MissLove Помощь студентам 15 24.07.2007 11:20