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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2012, 14:45   #1
Private Stuff
Новичок
Джуниор
 
Регистрация: 05.09.2012
Сообщений: 1
По умолчанию Исправление кода в двух программах на паскале

1) Используя директиву absolute, найти с помощью одной подпрограммы минимальные элементы векторов из 7 и из 9 компонентов.
Вот что у меня вышло, но код не работает(.
Код:
program Lab_12;
const
max1 = 7;
max2 = 9;
var
      vector1 : array[1..max1] of byte;
      vector2 : array[1..max2] of byte;
	  i : byte;
function min_element (var z; n : byte) : byte;
var
    w : array[1..Maxint div SizeOf(real)] of byte absolute z;
    i : byte;    {Номер компоненты вектора}
    s : byte;     {Текущая сумма}
begin
 s := w[1];
 for i :=2 to n
 do
 begin
 if ( w[i] < s ) THEN s:= w[i];
 end;
 min_element := s
end;
begin
  randomize;
        for i := 1 to max1 do vector1[i] := random(100);
	for i := 1 to max2 do vector2[i] := random(100);
    Write ('Вектор 1:  ');
	for i := 1 to max1 do Write( vector1[i], ' ');
	Writeln;
	Write ('Вектор 2:  ');
	for i := 1 to max2 do Write (vector2[i], ' ');
	Writeln;
    writeln('Минимальный элемент вектора 1, x = ', min_element(vector1, max1) );
    writeln('Минимальный элемент вектора 2, y = ', min_element(vector2, max2) );
    readln;
end.
и вот вторая: Задание картинка: http://upwap.ru/2930664
Код программы:
Код:
program Lab_11;
type           {Процедурный тип}
    fun = function(m : word) : real;
const          e = 0.0001;
var             z1, z2, z3 : real;
function Sum_ryada(f : fun) : real;  {Основная подпрограмма}
var                 {Локальные переменные}
    j : word;    {Номер слагаемого ряда}
    s : real;      {Текущая сумма ряда}
summa, t,  x:real;
n:byte;
	begin
  summa:= 0; t:= f(1); n:= 2;
  while abs (t) > e do begin
    summa:= (summa + t);
    t:= t * f(n);
	writeln('f(i)= ', f(n):2:4);
    n:= n+1;
    end;

    Sum_ryada := summa;
	end;                  {Конец подпрограммы}
function f1(i : word) : real; far;
begin
f1 :=-2*0.6*0.6/(2*i-1);
 end;
{$F+}                              
function f2(n : word) : real;
begin   f2 := -1/n;   end;
{$F-}                                           
begin                 {Основная программа}
    z1 := Sum_ryada(f1);  writeln('z1 = ', z1 : 7 : 5);
    z2 := Sum_ryada(f2);  writeln('z2 = ', z2 : 7 : 5);
    readln;    
end.

Последний раз редактировалось Stilet; 09.12.2012 в 17:16.
Private Stuff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синхронизация HandleWindow в двух программах Anton911 Win Api 4 03.08.2012 17:52
маленькое исправление кода в паскале angelalso Помощь студентам 7 04.04.2012 21:52
Создание формы + исправление кода Meiyo C# (си шарп) 2 22.06.2011 09:30
Исправление кода... SwIm Помощь студентам 3 19.01.2010 01:43
Помогите в исправление кривого кода HECTOR.A. Помощь студентам 2 02.06.2009 11:05