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



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

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

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

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