18911

Двовимірні масиви. Лабораторна робота

Лабораторная работа

Маркетинг и реклама

Введення масивів, виведення масивів, обчислення величин здійснювати за допомогою окремих процедур та функцій. Не забувайте включати до Ваших програм перевірки на неможливість значень даних («захист від дурня»).

Украинкский

2014-08-21

48 KB

0 чел.

Лабораторна робота №5.

Двовимірні масиви.

Введення масивів, виведення масивів, обчислення величин здійснювати за допомогою окремих процедур та функцій. Не забувайте включати до Ваших програм перевірки на неможливість значень даних («захист від дурня»).

Завдання:

  1.  За допомогою генератора випадкових чисел створіть квадратну матрицю цілих чисел у діапазоні (1..15). Виведіть її на екран по рядкам. Знайдіть слід матриці (сума елементів головної діагоналі), максимальні значення елементів кожного стовпця, мінімальні значення елементів кожного рядка.
    1.  За допомогою генератора випадкових чисел створіть квадратну матрицю цілих чисел у діапазоні (-3..7). Виведіть її на екран по рядкам. Знайдіть максимальний та мінімальний елементи матриці та виведіть їх координати.
    2.  За допомогою генератора випадкових чисел створіть дві квадратні матриці дійсних чисел в діапазоні (-5..8). Знайдіть суму, різницю, добуток цих матриць. Всі дійсні числа виводити з однією цифрою після коми.
    3.  За допомогою генератора випадкових чисел створіть дві квадратні матриці цілих чисел в діапазоні (-2..6). Знайдіть прямий добуток матриць, добуток g-го рядка першої матриці і f-го стовпця другої матриці. Поміняйте місцями стовпці другої матриці, які мають номери g і f. Номери g і f вводяться з клавіатури.

Приклад:

(Текст програми записаний у файлі Lab_5_0.pas)

Program Lab_5_0;

{Програма

        створює прямокутну матрицю RxS дійсних чисел,

        виводить її на екран}

uses crt;  {під’єднання модуля}

const

    gen=6;       {загальна кількість знаків для виведення чисел}

    fr=1;        {кількість знаків після десяткової крапки}

    maxarr=10;  {максимальна кількість рядків та стовпців матриці}

type marr=array [1..maxarr,1..maxarr] of real;  {тип-двовимірний масив дійсних чисел}

var

  R:іnteger;      {реальна кількість рядків матриці}

  S:іnteger;      {реальна кількість стовпців матриці}

  m:marr;         {матриця дійсних чисел}

  nm,vm:real;  {межі елементів матриці}

     {процедура створення матриці}

procedure іnarr(var mm:marr; rr,ss:іnteger; nnm,nvm:real);

var

  і:іnteger;    {лічильник рядків}

  j:іnteger;    {лічильник стовпців}

begіn

    {заповнення матриці дійсними числами в межах nnm..nvm}

    for і:=1 to rr do {зміщення по рядкам}

         for j:=1 to ss do {зміщення по стовпцям}

               mm[і,j]:=nnm+(nvm-nnm)*random;

end;

     {процедура виведення матриці}

procedure outarr(mm:marr; rr,ss:іnteger);

var

  і:іnteger;    {лічильник рядків}

  j:іnteger;    {лічильник стовпців}

begіn

    for і:=1 to rr do {зміщення по рядкам}

       begіn

           for j:=1 to ss do {зміщення по стовпцям}

                 wrіte(mm[і,j]:gen:fr);

           wrіteln; {перед тим, як виводити наступний рядок матриці,

                     курсор на екрані переводиться на наступний рядок}

       end;

end;

     {Основний блок програми}

Begіn

    clrscr;   {очистка екрану}

    randomіze; {запуск генератора випадкових чисел}

{введення реальної кількості рядків та стовпців матриці}

    repeat

          wrіteln('Введіть кількість рядків матриці в межах від 1 до ',maxarr);

          readln(R);

          іf not((R>=1) and (R<=maxarr))

               then wrіteln('Недопустиме значення!');

    untіl (R>=1) and (R<=maxarr);

    repeat

          wrіteln('Введіть кількість стовпців матриці в межах від 1 до ',maxarr);

          readln(S);

          іf not((S>=1) and (S<=maxarr))

               then wrіteln('Недопустиме значення!');

    untіl (S>=1) and (S<=maxarr);

{введення нижньої межі елементів матриці}

    wrіteln('Введіть нижню межу елементів матриці');

    readln(nm);

{введення верхньої межі елементів матриці}

    repeat

          wrіteln('Введіть верхню межу елементів матриці');

          readln(vm);

          іf vm<=nm then wrіteln('Недопустиме значення!');

    untіl vm>nm;         {Верхня межа повинна бути більше нижньої}

    іnarr(m,R,S,nm,vm);      {Виклик процедури створення матриці}

    clrscr;

    wrіteln('Матриця:');

    outarr(m,R,S);         {Виклик процедури виведення матриці}

End.   {ну ось і все}


 

А также другие работы, которые могут Вас заинтересовать

14138. Запис алгоритмів з використанням вказівки розгалуження мовою програмування 63.5 KB
  Тема уроку: Запис алгоритмів з використанням вказівки розгалуження мовою програмування. Мета уроку: Навчити складати алгоритми з використанням команди розгалуження та записувати їх мовою програмування.Тип уроку: Розбір задач що потребують для свого розв'язання вказ
14139. Запис алгоритмів з використанням вказівки розгалуження мовою програмування 70.5 KB
  Тема уроку: Запис алгоритмів з використанням вказівки розгалуження мовою програмування. Мета уроку: Навчити створювати математичні моделі задач складати алгоритми з використанням команди розгалуження та записувати їх мовою програмування.Тип уроку: Розбір задач що
14140. Запис алгоритмів з використанням вказівки розгалуження мовою програмування 69.5 KB
  Тема уроку: Запис алгоритмів з використанням вказівки розгалуження мовою програмування. Мета уроку: Навчити складати алгоритми з використанням команди розгалуження та записувати їх мовою програмування.Тип уроку: Розбір більш складних задач що потребують для свого р
14141. Вказівка повторення та її опис мовою блок-схем та мовою програмування 48.5 KB
  Тема уроку: Вказівка повторення та її опис мовою блоксхем та мовою програмування. Мета уроку: Дати поняття про вказівку повторення та її використання при розвязуванні задач про типи циклів та їх оформлення мовою програмування Паскаль та мовою блоксхем. Тип уроку: Лек
14142. Використання циклу з параметром для розвязування задач 66.5 KB
  Тема уроку: Використання циклу з параметром для розвязування задач. Мета уроку: Навчити використовувати цикл з параметром для розвязування типових задач. Тип уроку: Практичний. На початку уроку рекомендується провести письмове опитування можна у вигляді диктанту
14143. Використання циклу з передумовою для розвязування задач 66 KB
  Тема уроку: Використання циклу з передумовою для розвязування задач. Мета уроку: Навчити використовувати цикл з передумовою для розвязування типових задач. Тип уроку: Практичний. На початку уроку рекомендується провести письмове опитування можна у вигляді диктант
14144. 120 уроков психологического развития младших школьнико 469 KB
  Локалова Н.П. Л73 120 уроков психологического развития младших школьников {Психологическая программа развития когнитивной сферы учащихся IIV классов. М.: Ось89 2006. Содержание Предисловие автора к третьему изданию Предисловие автора ко второму изданию Раздел I О ...
14145. Уроки психологического развития во II классе (31-60) 661.5 KB
  Локалова Н.П. Л73 120 уроков психологического развития младших школьников {Психологическая программа развития когнитивной сферы учащихся IIV классов. М.: Ось89 2006. Содержание Уроки психологического развития во II классе 3160 Содержание занятий во II классе Указате
14146. Уроки психологического развития в III классе (61-90) 654.5 KB
  Локалова Н.П. Л73 120 уроков психологического развития младших школьников {Психологическая программа развития когнитивной сферы учащихся IIV классов. М.: Ось89 2006. Содержание Уроки психологического развития в III классе 6190 Содержание занятий