Студопедия — Vect_kv(k, mas_ish, mas_rez2);
Студопедия Главная Случайная страница Обратная связь

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

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; просмотров: 405. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

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

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

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

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