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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2009, 08:09   #1
phantom4eg
Пользователь
 
Регистрация: 04.03.2009
Сообщений: 39
Печаль Подпрограмма и массивы..

Ребят,помогите написать программку, я новичок в этом деле,а уже задали написать к следующему занятию... Я просто не представляю как сформировывать массив

Составить подпрограмму,которая присваивает элементам одномерного массива Z значения функции f(x) в точках (x1,x2,..,xn). Сформировать одномерный массив A из значений функции f1(x)=(e^-x)*cos(x) в точках (0,1;0.35;0.37;0.39;0.45;0.51) массив B из значений функции f2(x)=3sinx в точках (пи/8;пи/7;пи/6;пи/5;пи/4).
phantom4eg вне форума Ответить с цитированием
Старый 04.03.2009, 09:55   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Код:
uses crt;
function F1(xn:real):real;{первая функция}
begin
F1:=exp(-xn)*cos(xn);
end;
function F2(xn:real):real;{вторая функция}
begin
F2:=3*sin(xn);
end;
var a,b:array[1..10] of real;{2 массива}
    i:byte;
begin
clrscr;
a[1]:=F1(0.1); {В первом массиве нет закономерности в аргументе, поэтому присваиваем значение каждому элементу отдельно}
a[2]:=F1(0.35);
a[3]:=F1(0.37);
a[4]:=F1(0.39);
a[5]:=F1(0.45);
a[6]:=F1(0.51);
writeln('Massiv A:');
for i:=1 to 6 do
write(a[i]:6:2);{выводим первый массив :6 - количество позиций под число :2 - количество знаков после запятой}
writeln;
writeln;
writeln('Massiv B:');
for i:=1 to 5 do {во втором массиве аргумент изменяется по четкой зависимости от номера, поэтому прсваиваем значения в цикле}
  begin
   b[i]:=F2(pi/(9-i));
   write(b[i]:6:2);{выводим}
  end;
readln
end.
puporev вне форума Ответить с цитированием
Старый 04.03.2009, 10:55   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вроде не все условие прочитал и не то написал. Вот так вроде правильно будет.
Код:
uses crt;
type Tmas=array[1..6] of real;{тип массив}
     F1=function(xn:real):real;{тип функция}
{$F+}{раздел описания функций}
function Fa(xn:real):real;{первая функция}
begin
Fa:=exp(-xn)*cos(xn);
end;
function Fb(xn:real):real;{вторая функция}
begin
Fb:=3*sin(xn);
end;
{$F-}
procedure Pmass(x:byte;m:Tmas;F:F1;var z:Tmas);
{процедура создания массивов, входные параметры-размер, массив исходных значений, функция, выхлдной параметр-новый массив}
var i:byte;
begin
for i:=1 to x do
   begin
     z[i]:=F(m[i]);
     write(z[i]:6:2);
   end;
end;

var ma,a,mb,b:Tmas;
    i:byte;
begin
clrscr;
ma[1]:=0.1;{создаем массив исходных значений для перваго массива}
ma[2]:=0.35;
ma[3]:=0.37;
ma[4]:=0.39;
ma[5]:=0.45;
ma[6]:=0.51;
writeln('Massiv A:');
Pmass(6,ma,Fa,a);{вычисляем и выводим первый массив}
writeln;
writeln;
for i:=1 to 5 do{создаем массив исходных значений для второго массива}
mb[i]:=pi/(9-i);
writeln('Massiv B:');
Pmass(5,mb,Fb,b);{вычисляем и выводим второй массив}
readln
end.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
подпрограмма-процедура в Pascal Танюсик Помощь студентам 6 21.04.2008 07:28
С++.Массив и подпрограмма функции SkyDreamer Помощь студентам 0 23.11.2007 20:45
подпрограмма в Борланд Паскаль Jasper Паскаль, Turbo Pascal, PascalABC.NET 1 05.12.2006 20:40