Помогите, пожалуйста, написать на Паскале программу "Циклический алгоритм"
Распечатать таблицу значений W при изменении перменных величин a и x в данных промежутках с данными шагами:
An=0.3 , Ak=0.7 , Xn=0.1 , Xk=0.2 , m=3 , n=2 W=max{3*arctg(ax);√(a^2+b^2 );arcos(a+ x/10)} An≤A≤Ak , Ha=(Ak-An)/m Xn≤X≤Xk, Hx=(Xk-Xn)/n Помогите пожалуйста ни как не могу сделать... |
что именно не выходит? Покажите ваш пример решения..
|
program lab2;
var A,An,Ak,X,Xn,Xk,Ha,Hx,Hn,Hk,W:real; function max(b,c:real):real; begin if b<c then max:=b; writeln('vvedi An,Ak,Ha'); readln(An,Ak,Ha); writeln('vvedi Xn,Xk,Hx'); readln(Xn,Xk,Hx); writeln('èñõîäíûå äàííûå'); writeln('An=',An:5:2,'Ak=',Ak:5:2); writeln('Xn=',Xn:5:2,'Xk=',Xk:5:2); writeln('Hn=',Hn:5:2,'Hk=',Hk:5:2); writeln('òàáëèöà çíà÷åíèé'); writeln('W':9,'A':9,'X':9); A:=An; repeat X:=Xn; repeat W:=max(3*arctan(a*x));sqrt(sqr(a)+sqr(x));arctan(s qrt(1-sqr(x))/x*(a+x/10)); writeln(W:7:2,A:7:2,X:7:2); X:=X+Hx untilX>Xk; A:=A+Ha untilA>Ak; writeln('Wmax=',Wmax:7:2); writeln('Amax=',Amax:7:2); writeln('Xmax=',Xmax:7:2); end. |
W:=max(3*arctan(a*x)) после этого пишет "ошибка неверное колличество фактических параметров"
|
Цитата:
Да... смотрю, Вы ни в задаче, ни в Паскале толком не разобрались. Сейчас вынужден отключиться, если терпит до завтра, попробую объяснить, как решать эту задачу. |
конешно потерплю, спасибо большое!!!
|
Вложений: 1
Цитата:
Прежде всего, выражаю своё КРАЙНЕЕ неудовольствие Вашей неряшливостью при выкладывании задания. Откуда вдруг взялся параметр b? Что за b? Ну ладно, будем считать, что b - это x. Для решения задачи нам нужно запрограммировать целый ряд функций. Функция - это в какой-то мере автономный раздел программы, и пишется строго по определенным правилам. Она содержит название (заголовок), перечень формальных параметров с указанием их форматов, а также формат результата, т.е. значения самой функции. Это всё - содержимое первой строки. Далее, как и в программе, там при необходимости вводится раздел описания внутренних (служебных) переменных - они существуют только внутри функции, основная программа их не видит - и, собственно, тело функции, заключенное в операторные скобки begin-end. При обращении к функции из программы на место формальных параметров подставляются фактические, причем в том же количестве, в тех же форматах и в том же порядке, что и формальные. А теперь посмотрите, что Вы написали... Итак, нам понадобятся: 1. Функция ArcCos, потому что в состав стандартных функций Паскаля она не входит. 2. Функция нахождения максимального из двух чисел. Вообще-то нам понадобится выбор максимального из трех значений, и можно написать и такую функцию, но это будет довольно громоздко, поэтому в программе делается так: сравниваются два числа, а потом максимальное из них сравнивается с третьим. 3. Все три математических выражения в фигурных скобках тоже удобно оформить в виде функций. Теперь, собственно, смысл задания. Составляем таблицу, причем договоримся, что строки соответствуют значениям х, а столбцы - значениям а. На пересечениях поместим максимальные значения из трех функций, вычисленных при данных х и а. В конце поставим readln, чтобы приостановить выполнение программы и посмотреть на результат. Код:
Const |
это решение всего моего примера???
|
Цитата:
|
всю хорошо я просто поинтересовался, Огромная вам благодарность!!!, сам бы я такого ни когда не сделал.
|
Часовой пояс GMT +4, время: 19:58. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.