Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_pr1_123C.doc
Скачиваний:
1
Добавлен:
16.11.2019
Размер:
584.7 Кб
Скачать

Лабораторна робота 2

Тема 1: робота з масивами, тестування, налагодження та документування програм.

ЗАВДАННЯ. Числовий вектор довжини – це числова послідовність довжини . Характеристикою вектора називають суму всіх його компонентів. Числова матриця розміру - це вектор довжини , елементами якого є числові вектори довжини (рядки матриці).

  1. Визначити чи упорядкований даний вектор ( за зростанням чи спаданням). Знайти номер максимального за характеристикою упорядкованого рядка матриці.

  2. Переставити в матриці два рядки. Розташувати рядки в матриці у відповідності до зростання їх характеристик.

  3. Перевірити чи складається вектор з попарно різних компонентів Підрахувати кількість рядків матриці, що складаються з попарно різних елементів.

  4. Перевірити, чи утворюють компоненти вектора довжини перестановку чисел від до . Підрахувати скільки таких рядків в даній матриці розміру .

  5. Перевірити чи містить вектор лише непарні компоненти. Знайти серед рядків матриці, що містять лише непарні елементи, рядок з найбільшою характеристикою.

  6. Серія – це послідовність, яка складається з однакових елементів. Знайти довжину найбільшої серії вектора. Знайти у матриці рядки з мінімальною довжиною.

  7. Обрахувати суму модулів компонент вектора. Знайти найбільшу з сум модулів рядків матриці.

  8. Два вектори схожі, якщо співпадають сукупності їх компонент. Перевірити чи схожі два вектори. Визначити, які рядки матриці мають найбільше схожих.

  9. Знайти скалярний добуток двох векторів. Визначити рядок матриці, скалярний добуток якого на перший рядок матриці максимальний.

Вказівки:

  • Вектори та матриці подаються як цілочислові одновимірні та двовимірні ініціалізовані масиви.

  • Для виконання завдання необхідно відлагодити функції для роботи з векторами, функцію для роботи з матрицею і головну програму, яка використовує ці функції. Для варіанту №1 структура програми могла б мати такий вигляд.

#includ <stdio.h>

#define n 5

#define m 3

int a[n][m]={{1,1,1},

{2,2,2},

{3,3,3},

{4,4,4},

{5,5,5}};

int Ordseq(int u[], int k)

/* повертає 0, якщо вектор u довжини k не упорядкований*/

{………. тіло Ordseq ………

}

int sum(int u[], int k)

/* повертає характеристику вектора u довжини k */

{………. тіло Sumseq ……

}

int Numrow(int w[][m], int k)

/* повертає номер найбільшого за характеристикою упорядкованого рядка*/

/* матриці w. к та m – відповідно кількість та довжина рядків матриці */

{………. тіло Numrow ……..

}

main()

{

printf (“Номер найбільшого за характеристикою упорядкованого рядка матриці а[%d][%d]=%d ”, n,m Numrow (a, n) )

}

Тема 2: арифметика підвищеної точності, тестування, налагодження та документування програм.

ПОДАННЯ ЧИСЕЛ:

1) Цифри цілого десяткового числа подаються масивом типу Byte. Кожній цифрі відповідає одна компонента масиву. Перша компонента задає знак числа. 0 є ознакою додатнього числа, 1 - від’ємного.

2) Цифри цілого десяткового числа подаються масивом типу Byte. Кожній цифрі відповідає одна компонента масиву. Перша компонента задає знак числа. Від’ємні числа подаються додатковим кодом.

3) Цифри десяткового числа без знаку подаються масивом типу Byte. Кожним двом сусіднім цифрам відповідають ліва та права половинки байту. (Двійково-десяткова система).

4) Раціональні числа подаються записами з полями типу LongInt – чисельником та знаменником.

5) Двійкові числа без знаку подаються бітами полів фіксованої довжини.

6) Двійкові числа подаються символьними рядками з нулів та одиниць. Перша компонента задає знак числа.

7) Дійсні десяткові числа подаються записами з полями для мантиси та порядку. Перше поле є масивом з компонентами типу Byte як у варіанті 1. Друге – змінна типу LongInt. Мантиса нормалізована.

АРИФМЕТИКА: .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]