Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Кому не сложно, помогите с написанием программ. (http://www.tehnari.ru/f43/t29617/)

Максимус 27.10.2009 17:23

Кому не сложно, помогите с написанием программ.
 
1. Напишите программу вычисления функции S. Значения величин a, b, x задаются.

2. Даны действительные числа а, b. Удвоить эти числа, если а<b, и возвести их в квадрат в противном случае.
3. Даны целое n>0 и последователь¬ность из n вещественных чисел, среди ко-торых есть хотя бы одно отрицательное число. Найти величину наибольшего среди положительных чисел этой последовательности.

Vladimir_S 27.10.2009 20:00

Цитата:

Сообщение от Максимус (Сообщение 255002)
1. Напишите программу вычисления функции S. Значения величин a, b, x задаются.

Боюсь, что без знания функции S проблема неразрешима.
Цитата:

2. Даны действительные числа а, b. Удвоить эти числа, если а<b, и возвести их в квадрат в противном случае.
VAR
a,b:REAL;
BEGIN
Write('a= '); ReadLn(a);
Write('b= '); ReadLn(b);
IF a<b THEN
BEGIN
a:=a*2;
b:=b*2;
END ELSE
BEGIN
a:=SQR(a);
b:=SQR(b);
END;
WriteLn('a= ',a);
WriteLn('b= ',b);
ReadLn;
END.

Vladimir_S 27.10.2009 21:25

Цитата:

Сообщение от Максимус (Сообщение 255002)
3. Даны целое n>0 и последователь¬ность из n вещественных чисел, среди ко-торых есть хотя бы одно отрицательное число. Найти величину наибольшего среди положительных чисел этой последовательности.

CONST
n= ; {Здесь нужно указать значение n}
VAR
i:INTEGER;
A:ARRAY[1..n] of REAL;
Max:REAL;

BEGIN
Write('A[1]= ');
ReadLn(A[1]);
MAX:=A[1];
FOR i:=2 TO n DO
BEGIN
Write('A[',i,']= ');
ReadLn(A[i]);
IF A[i]>MAX THEN MAX:=A[i];
END;
WriteLn('MAX= ',MAX);
ReadLn;
END.

Максимус 08.11.2009 10:26

вот
 
Цитата:

Сообщение от Максимус (Сообщение 255002)
1. Напишите программу вычисления функции S. Значения величин a, b, x задаются.


вот http://www.tehnari.ru/imagehosting/2...664993578d.jpg

Wiki 07.11.2010 20:01

ку
 
Меня тоже интересует первая задача с функцией.очень бы помогла мне.

Wiki 08.11.2010 12:13

Кто нибудь может помочь с зазачей по функции? очень надо.

Напишите программу вычисления функции S. Значения величин a, b, x задаются

Vladimir_S 08.11.2010 12:59

Цитата:

Сообщение от Wiki (Сообщение 414953)
Меня тоже интересует первая задача с функцией.очень бы помогла мне.

Цитата:

Сообщение от Wiki (Сообщение 415189)
Кто нибудь может помочь с зазачей по функции? очень надо.

Напишите программу вычисления функции S. Значения величин a, b, x задаются

Это могут многие, включая меня. Но не знаю, как другие - а я из принципиальных соображений делать этого не стану, поскольку здесь речь идет не о каких-то затруднениях с решением сложной задачи, а о Вашем нежелании осваивать самые-самые начальные азы программирования. Всё, что тут требуется - это ввести три числа и написать строчку вычисления примитивной комбинации стандартных элементарных функций. Занимает это хозяйство 4-5 строк и абсолютно никакой, даже минимально-вообразимой сложности не составляет.
P.S. Черт вас побери, молодежь, ну когда вы, наконец, поймете, что учиться нужно в первую очередь для себя, а не для папы-мамы? Ведь вам жить! И что, думаете так чужим умом и чужими знаниями и просуществовать всю жизнь?
Извините, если что не так. Накипело!

Wiki 08.11.2010 16:48

Да я понимаю как это должно быть написано.у меня и затруднение с тем что стпень отрицательная.и может ее дополнительно как то прописывать тогда надо.

AlexZir 08.11.2010 17:18

Саму функцию вы так и не написали, а без этого что-либо говорить о решении попросту бесполезно.

От отрицательной степени можно избавиться путем преобразования в частное :)

Wiki 08.11.2010 17:52

в предыдущих сообщениях ссылка. я незнаю как это сделать иначе не писала бы.

AlexZir 08.11.2010 18:25

В данной теме в ваших сообщениях никаких ссылок не наблюдается, а по форуму их искать, сами понимаете, особого желания нет. Или вы имеете в виду ссылку в сообщении от Максимуса?

Wiki 08.11.2010 18:49

да.его ссылка..у меня такая же контрольная

AlexZir 08.11.2010 19:04

определяете константу е
запрашиваете значения a, b, x
инициализируете переменную s
присваиваете переменной s значение функции
выводите вычисленное значение s

пояснение 1:
от отрицательного коэффициента можно избавиться, переместив е^ax в знаменатель дроби, в числителе этой дроби будет корень 3 степени (подкоренное выражение в степени 1/3).
пояснение 2:
X^Y = exp(ln(X) * Y) c некоторыми условиями (например, X не может быть нулем).

Wiki 08.11.2010 19:40

я незнаю я составила что т о типа
S:=(exp(ln(1/e)*(a*e)))*(exp(1/3*Ln(a*x*b*sin(2*x))));
Но я во всем этом так неуверена. и вылетает еще обишка при всем этом.или я составила неправильно.

Vladimir_S 08.11.2010 20:37

Цитата:

Сообщение от Wiki (Сообщение 415295)
Да я понимаю как это должно быть написано.у меня и затруднение с тем что стпень отрицательная.и может ее дополнительно как то прописывать тогда надо.

Цитата:

Сообщение от Wiki (Сообщение 415322)
в предыдущих сообщениях ссылка. я незнаю как это сделать иначе не писала бы.

Значит функция та же, что у Максимуса? Но там отрицательная степень только в экспоненте, а экспонента понимает любой знак. Т.е. выражение
Exp(-a*x)
вполне корректно.
На всякий случай - если возникнут сложности с программированием извлечения корня третьей степени, то это делается так:
³√A = (A)⅓ = Exp(Ln(A)/3)

Vladimir_S 08.11.2010 20:43

Цитата:

Сообщение от Wiki (Сообщение 415382)
я незнаю я составила что т о типа
S:=(exp(ln(1/e)*(a*e)))*(exp(1/3*Ln(a*x*b*sin(2*x))));
Но я во всем этом так неуверена. и вылетает еще обишка при всем этом.или я составила неправильно.

Так, ну это дело другое, предметный разговор, а не просто "напишите мне"! С удовольствием поможем и объясним.
Второй сомножитель написан почти правильно, только один из знаков умножения нужно заменить плюсом, как в формуле. А вот с первым Вы и впрямь что-то накрутили непотребное. А всего-то и надо, что:
S:=(exp(-a*x))*(exp(1/3*Ln(a*x+b*sin(2*x))));
Удачи!

Wiki 08.11.2010 20:46

да такая же.и так и сяк писала.что то не выходит у меня. как корень из трех сделать я вроде поняла.написала, но стал выдавать ошибку 207.это вроде из за отрицательного значения.

Wiki 08.11.2010 20:47

ой точно там же + стоит..вот я))
но там ведь переменная Е в степени -а*х

Wiki 08.11.2010 20:59

S:=(exp((-a*x)*ln(e)))*(exp(1/3*Ln(a*x+b*sin(2*x))));
вроде все работает))
а значение Е взяла математическую константу 2,71

Vladimir_S 08.11.2010 21:05

Цитата:

Сообщение от Wiki (Сообщение 415430)
S:=(exp((-a*x)*ln(e)))*(exp(1/3*Ln(a*x+b*sin(2*x))));
вроде все работает))
а значение Е взяла математическую константу 2,71

Уважаемая Wiki, а ln(e) Вы зачем всандалили? Ведь это ТОЖДЕСТВЕННАЯ ЕДИНИЦА! Зачем на нее множить? Выкинте вы его! Я же Вам написал, как правильно. Нет, конечно - можно и оставить: умножение чего бы то ни было на 1 вреда не принесет. Пользы, впрочем, тоже.

Wiki 08.11.2010 21:12

ладно пофиг. просто я пытаюсь не только тупо переписать но и понять почему так.если там стоит Е в степени (-а*х) то записываться это будет как
exp(ln(e) *(-a*x))
зачем убрать то?она равна 2,71 это ведь влияет на результат

Vladimir_S 08.11.2010 21:30

Цитата:

Сообщение от Wiki (Сообщение 415435)
ладно пофиг. просто я пытаюсь не только тупо переписать но и понять почему так.если там стоит Е в степени (-а*х) то записываться это будет как
exp(ln(e) *(-a*x))
зачем убрать то?она равна 2,71 это ведь влияет на результат

Если там стоит Е в степени (-а*х), то записываться это будет ехр(-а*х), а ln(e), еще раз повторяю, это тождественная единица, на каковую умножать бессмысленно.
P.S. Кстати, уж если Вы берете число е с точностью до второго знака после запятой, то тогда нужно брать 2.72, потому что оно на самом деле 2.718281828459045... Но в данном случае оно вовсе не нужно.

Vladimir_S 08.11.2010 21:37

А, кажется дошло, в чем недоумение. Вы пытаетесь воспользоваться общей формулой
α в степени β есть exp(ln(α)*β)
Всё правильно. Но только если α=e, то логарифм становится тождественной единицей и его можно (и даже нужно) опустить.

Wiki 08.11.2010 21:55

Да..ей я и пыталась воспользоваться.

Vladimir_S 08.11.2010 22:11

Цитата:

Сообщение от Wiki (Сообщение 415463)
Да..ей я и пыталась воспользоваться.

Можно - но зачем? Ведь е в степени β и ехр(β) - это просто разные записи ОДНОГО И ТОГО ЖЕ!

Wiki 08.11.2010 22:15

а если а не будет равно е то что?
попробую и так и так написатьи проверить результат.

Vladimir_S 08.11.2010 22:46

Цитата:

Сообщение от Wiki (Сообщение 415478)
а если а не будет равно е то что?
попробую и так и так написатьи проверить результат.

А вот тогда - по полной формуле, с логарифмом.

Wiki 08.11.2010 23:11

больше крика. спасибо за помощ.

Vladimir_S 09.11.2010 09:55

Цитата:

Сообщение от Wiki (Сообщение 415500)
больше крика.

Ну... извините... виноват... больше постараюсь не беспокоить...


Часовой пояс GMT +4, время: 14:00.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.