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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2009, 15:03   #1
J0n1cK
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 14
По умолчанию Процедуры и функции

словие:
Составить программу, предусматривающие следующие операцииЖ
1) Заполнение массива А N элементами, которые в диапазоне изменения i рассчитываются по формуле:


A[i]:=(100/i^2)+ln(i); диапазон изменения i: 1<i<10;

2) Расчет элементов массива оформить в виде функции;
3) найти для массива среднее арифметическое элементов массива;
4) Вывести на экран полученный массив и искомую величину;

За рание спасибо!

P.S. Сам вроде написал но что-то мне кажется я с функциями затупил.
Не судите строго я только учусь...


program laba4;
uses crt;
const n = 8;
var A: array [1..n] of real;
i:integer;
sredd:real;
procedure R (A: array of real);
var
i:integer;
q:real;
y:integer;
begin
q:=0;
y:=2;
for i:=0 to 7 do begin
q:=(100/sqr(y))+ln(y);A[i]:=q;inc(y);end;
for i:=1 to 8 do
write (A[i]:1:5,' ');
end;
function Pr (A: array of real;var e:real):real;
var
i:integer;
sred:real;
sum:real;
begin
sum:=0;
sred:=0;
for i:=0 to 7 do
sum:=sum+A[i];
sred:=sum/n;
Pr:=sred;
end;
begin
clrscr;
sredd:=0;
writeln ('Massiv vipolnen po function: A[i]=(100/sqr(i))+ln(i) Dial-up i 1<i<10: ');
writeln;
R(a);
writeln;
Sredd:=Pr(a,e);
write ('Srednie arifmiticheskoe znachenie: ', Sredd:1:5);
J0n1cK вне форума Ответить с цитированием
Старый 22.04.2009, 15:31   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Заключайте код в теги CODE ("#" на панели в окне редактирования).

Непонятно, зачем вам какое-то e в функции Pr.
Концовки программы нет (видимо, неудачно скопировали).

Циклы то от 0 до 7, то от 1 до 8. Хотя по условию вообще должны быть от 1 до 10.

Код:
program laba4;
uses crt;
const n = 8;
type arr = array[1..n] of real;
var A: arr;
sredd:real;

procedure R (var A: arr);
var
i:integer;
q:real;
y:integer;
begin
q:=0;
y:=2;
for i:=1 to 10 do
 begin
 q:=(100/sqr(y))+ln(y);
 A[i]:=q;
 inc(y);
 end;
for i:=1 to 10 do
 write (A[i]:1:5,' ');
end;
{------------------}

function Pr (A: array of real):real;
var
i:integer;
sred:real;
sum:real;
begin
sum:=0;
sred:=0;
for i:=1 to 10 do
 sum:=sum+A[i];
sred:=sum/n;
Pr:=sred;
end;

begin
clrscr;
sredd:=0;
writeln ('Massiv vipolnen po function: A[i]=(100/sqr(i))+ln(i) Dial-up i 1<i<10: ');
writeln;
R(a);
writeln;
Sredd:=Pr(a);
writeln('Srednie arifmiticheskoe znachenie: ', Sredd:1:5);
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 22.04.2009, 16:42   #3
J0n1cK
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 14
По умолчанию

Спасибо!
но почему от 1 до 10 ?!!!
1<i<10
1 не включаем и 10 не включаем.
Да и препод нам говорил что в функциях и процедурах считаем от нуля...
J0n1cK вне форума Ответить с цитированием
Старый 22.04.2009, 16:47   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

J0n1cK, а, ну да. Ну тогда будет от 2 до 9 (по условию-то так).
Цитата:
Да и препод нам говорил что в функциях и процедурах считаем от нуля...
Если у вас значение счетчика используется в вычислениях, то разумно изменять его в заданных диапазонах.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 22.04.2009, 16:54   #5
J0n1cK
Пользователь
 
Регистрация: 07.03.2009
Сообщений: 14
По умолчанию

я i заменил на y считает данный диапазон.
i просто кол-во элементов массива.
J0n1cK вне форума Ответить с цитированием
Старый 22.04.2009, 16:57   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
я i заменил на y считает данный диапазон.
i просто кол-во элементов массива.
Собственно, делайте как хотите.
Просто цикл for идеально подходит для перебора значений.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функции и процедуры niziriska Помощь студентам 12 24.01.2009 13:57
Процедуры и функции Алeксандр Паскаль, Turbo Pascal, PascalABC.NET 1 22.01.2009 04:54
Процедуры и функции V25 Паскаль, Turbo Pascal, PascalABC.NET 1 17.11.2008 20:02
Процедуры и функции KulOle Паскаль, Turbo Pascal, PascalABC.NET 1 26.10.2008 14:18