Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Vect_kv(k, mas_ish, mas_rez2);





{Вызов процедуры для формирования массива чисел

в четвертой степени:}

Vect_kv(k, mas_rez2, mas_rez4);

{Печать результатов:}

writeln(‘Массив квадратов исходных чисел:’);

for j:=1 to k do write(‘Элемент ’, j,’-й: ’,mas_rez2[j],’ ‘);

writeln;

writeln(‘Массив исходных чисел в четвертой степени:’);

for j:=1 to k do write(‘Элемент ’, j,’-й: ’,mas_rez4[j],’ ‘)

writeln;

writeln (‘Для выхода из программы нажать клавишу Enter’);

readln

end.

Ниже в примерах 12 и 13 приводятся описания процедур выдачи на экран ПК одномерного массива (вектора) и двумерного массива (матрицы), которые можно рассматривать как типовые при обработке произвольных векторов и матриц, размеры которых позволяют располагать их в пределах размеров экрана ПК.

 

Пример 12. Процедура RowPrint выдает на экран ПК в строку M элементов одномерного массива вещественных чисел (при печати числа представляются в форме с фиксированной точкой, для которой в данной процедуре предусмотрен форматный вывод: для каждого числа – всего 8 позиций, при этом 3 позиции – для дробной части) {Тип массива А должен быть объявлен в вызывающей программе Type TA=array[1..30] of real;}:

procedure RowPrint(M:integer; A:TA);

var i:integer; {i – локальная переменная}

Begin

for i:=1 to N do write(A[i]:8:3)

End;

Пример 13. Процедура RwColPrnt выдает на экран ПК элементы матрицы вещественных чисел в виде таблицы – N строк, M столбцов (формат выдачи на печать тот же, что и в предыдущем примере, тип массива ТТА объявлен заранее, в вызывающей программе в виде Type TTA=array[1..20,1..10] of real):

procedure RwColPrnt(N,M:integer; A:TTA);

var i,j:integer;{i,j – локальные переменные}

Begin

for i:=1 to N do {цикл по строкам}

Begin

for j:=1 to M do write(A[i,j]:8:3);{цикл по элементам строки}

writeln {перевод курсора на следующую строку}

End

End;

Замечание. В частности, процедура может не иметь параметров. Например, стандартные процедуры Readln, Writeln, Clrscr или следующая подпрограмма, оформленная в виде процедуры, выдающая на монитор все символы, представляемые в ПК кодами от 0 до 255:

Procedure cod_char;

Var i:byte;

Begin

for i:=1 to 255 do write(i:4,’:‘,chr(i):2); writeln;

readln

End;

В основной программе эта процедура вызывается на выполнение следующим образом Cod_Char; и результатом ее выполнения будет строка из 255 пар “КОД: СИМВОЛ”.

Пример 14. В этом примере рассматривается применение двух процедур при решении следующей задачи: вычислить частичные суммы гармонического ряда

R (n) = 1 + 1/2 + 1/3 +... + 1/n

и результат представить в форме рационального числа А/B, то есть в виде отношения числитель/знаменатель, где числитель и знаменатель – целые числа.

В программе предусмотрены две процедуры:

Proc1 – сокращает дробь на наибльший общий делитель;

Proc2 – находит сумму двух дробей с приведением к общему знаменателю.

 

program Harm_row;

var an,bn,bk,i:integer;

 

{Объявление и описание проседуры proc1:}

procedure proc1(var a,b:integer);{процедура реализут известный алгоритм поиска наибольшего общего делителя: }

var a1,b1,r:integer;

begin {начало операторной части процедуры}

a1:=a;b1:=b;

while b1<>0 do

begin r:=a1 mod b1;{находится остаток от деления на цело

числителя a1 на знаменатель b1}

a1:=b1;b1:=r {производится замена: знаменатель

становится числителем, остаток - знаменателем}

End;

if a1>1 then

begin a:=a div a1;b:=b div a1 {числитель и знаменатель дроби

сокращаются на наибольший общий делитель}

End

end;{ конец proc1}

 

{Объявление и описание проседуры proc2:}

procedure proc2(var a,b:integer; a1,a2,b1,b2:integer);

{В данном варианте процедуры proc2 формальные переменные

a1,a2,b1,b2 – входные, a,b – выходные: }

begin a:=a1*b2+a2*b1;b:=b1*b2

end;{конец процедуры proc2 - вариант 1 }

 

{Второй вариант процедуры proc2 отличается меньшим числом формальных параметров: параметры a1, b1 становятся и выходными, а параметры a2,b2 – только входные:}

procedure proc2(var a1,b1:integer; a2,b2:integer);

begin a1:=a1*b2+a2*b1;b1:=b1*b2; {Для проверки корректности хода вычислений часто бывает полезно выдавать на экран ПК значения промежуточных расчетов. Здесь, например, это можно сделать применением процедуры контрольной печати дроби, получающейся прикаждом обращении к процедуре proc2: writeln('контр. печать проц2: ',a1:2,'/',b2:2);}

end; {proc2 – вариант второй}

 

begin {главная программа Harm_row}

an:=1;bn:=1;{Числитель и знаменатель первого элемента равны 1}

writeln('Задай номер последнего элемента ряда: ');

readln(bk);writeln('Результаты вычисления суммы по шагам:');

for i:=2 to bk do

begin proc2(an,bn,1,i); {выбран второй вариант процедуры proc2}

proc1(an,bn);

writeln('Шаг ',i,'-й: ',an:2,'/',bn:2)

end; writeln('Вычисление закончено. Нажми Enter');readln

end.







Дата добавления: 2015-10-19; просмотров: 430. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Факторы, влияющие на степень электролитической диссоциации Степень диссоциации зависит от природы электролита и растворителя, концентрации раствора, температуры, присутствия одноименного иона и других факторов...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия