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

3.3. Контрольные вопросы

Дайте определение массива данных.

Поясните понятия "размер массива", "размерность массива".

Объясните порядок наименования элементов в одномерном массиве.

Как располагаются элементы одномерного массива в памяти ПЭВМ?

Для чего используются индексы при обработке одномерных массивов?

Объясните, какие алгоритмы используются при обработке одномерных массивов данных и почему?

Каким образом выполняется ввод и вывод элементов массива данных?

3.4. Содержание отчета

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

3.5. Варианты индивидуальных заданий

Все элементы массивов являются целочисленными (int), если в задании не оговорено иное. Все введенные массивы и все найденные значения необходимо после обработки вывести на экран.

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

Индивидуальные задания по обработке одномерных массивов:

  1. Задан массив значений A={ai} из 8 элементов и переменные m и k. Найти, количество элементов массива, больших, чем k; количество элементов массива, больших, чем 2*m, найти индекс минимального элемента.

  2. Задан массив значений A={ai} из 12 элементов. Найти по два максимальных и минимальных элемента.

  3. Задан массив значений A={ai} из 10 элементов. Найти максимальный и минимальный элементы, поменять их местами.

  4. Задан массив значений A={ai} из 12 элементов. Найти сумму всех положительных элементов и произведение отрицательных.

  5. Задан массив значений A={ai} из 12 элементов. Найти сумму абсолютных значений отклонений элементов от среднего значения.

  6. Задан массив значений A={ai} из 8 элементов. Добавить элемент на позицию с индексом k=4.

  7. Задан массив значений A={ai} из 10 элементов. Найти максимальный и минимальный элементы и удалить их.

  8. Массив значений A={ai} состоит из букв латинского алфавита. Ввести индексный массив B. Вывести элементы основного массива в порядке, заданном в массиве B.

  9. Задан массив значений A={ai} из 10 элементов. Найти по два максимальных и минимальных элемента и подсчитать среднее значение остальных элементов.

  10. Задан массив значений A={ai} из 10 элементов. Найти максимальный элемент и заменить все элементы массива разностью между найденным максимальным значением и текущим.

  11. Задан массив значений A={ai} из 12 элементов. Найти среднее значение элементов стоящих на четных позициях; стоящих на позициях, кратных 3.

Индивидуальные задания по обработке многомерных массивов:

1.а. Умножение матрицы на вектор. Написать программу, реализующую умножение матрицы размером m*n на вектор (размером n).

1.б. Квадратичная форма. Написать программу, вычисляющую квадратичную форму для матрицы A размером n*n и вектора Х ().

1.в. Умножение матриц. Написать программу умножения двух матриц. Фактические размеры матриц вводятся с клавиатуры. Предусмотреть проверку допустимости умножения матриц.

  1. Удаление строки или столбца. Ввести с клавиатуры номер удаляемой строки или столбца и удалить его из матрицы, сдвинув элементы. Перед вводом индекса запросить пользователя что именно удаляется: строка или столбец. Проверять введенный номер на допустимость.

  2. Минимакс и максимин. Задана матрица размером m*n. Найти ее элемент, образующий минимакс (минимаксным значением называется максимум среди построчных минимумов, т.е. ). Найти элемент матрицы, образующий максимин (максиминным значением называется минимум среди постолбцовых максимумов, т.е. ).

  3. Ход слона. На произвольную клетку шахматной доски поставлен слон (координаты – вводятся с клавиатуры). Сформировать матрицу 8*8, в которой поле, где находится слон обозначено буквой «С», поля, находящиеся под боем, обозначены символом «*», остальные поля – цифрой 0. Вывести полученную матрицу с принятыми в шахматах обозначениями вертикалей и горизонталей (a-h и 1-8 соответственно).

  4. Ход ферзя. На произвольную клетку шахматной доски поставлен ферзь (координаты – вводятся с клавиатуры). Сформировать матрицу 8*8, в которой поле, где находится ферзь обозначено буквой «F», поля, находящиеся под боем, обозначены символом «*», остальные поля – цифрой 0. Вывести полученную матрицу с принятыми в шахматах обозначениями вертикалей и горизонталей (a-h и 1-8 соответственно).

  5. Два слона. На шахматную доску размером m*n поставлены два слона (координаты – вводятся с клавиатуры). Проверить находятся ли они под боем друг друга и вывести соответствующее сообщение. При вводе проверять правильность ввода координат.

  6. Два ферзя. На шахматную доску размером m*n поставлены два ферзя (координаты – вводятся с клавиатуры). Проверить находятся ли они под боем друг друга и вывести соответствующее сообщение. При вводе проверять правильность ввода координат.

  7. Ковариационная матрица. Для заданной (введенной с клавиатуры) матрицы X размером m*n (m>n) рассчитать ковариационную матрицу Cov (размером n*n) по формуле: . Для этого необходимо использовать вспомогательный массив средних значений столбцов матрицы, обозначенный в формуле как .

  8. Лидирующие минимумы. В матрице n*n, введенной с клавиатуры, найти ряд из n лидирующих минимумов при условии, что в каждой строке и каждом столбце может располагаться только один минимум. Для этого можно использовать следующее правило: первый минимум является минимальным элементом матрицы. При поиске следующего минимума соответствующая строка и столбец матрицы не учитываются и т.д. Для реализации этого алгоритма можно использовать два флаговых массива (для строк и для столбцов). Функции не использовать!

  9. Микроматчи. Матрица X размером m*n, вводящаяся с клавиатуры, содержит в каждом столбце ровно одно отрицательное значение (-1). Рассчитать матрицу A размером m*m, по формуле , причем суммирование проводится при условии, что .

  10. Матрица сожалений. По известной платежной матрице игры Х рассчитать матрицу сожалений по формуле: , где –максимальный элемент j-го столбца.

4. Создание и применение функций

4.1. Цель работы

Цель работы изучение понятия “функция”, синтаксиса ее описания и вызова, способов передачи параметров.

4.2. Методические указания по подготовке к лабораторной работе

Изучить теоретический материал: конспект лекций, методические ука­зания к практическим занятиям по соответствующим темам, подготовить ответы на контрольные вопросы, составить алгоритм решения задачи, выбранной по заданному варианту.

4.3. Контрольные вопросы

Дайте определение понятия «функция».

Что такое заголовок функции, тело функции ?

Что такое прототип функции, для чего он нужен ?

Каким образом происходит возврат результата функции? Что такое тип данных void ?

Как производится вызов функций?

Чем отличаются глобальные и локальные функции ? Где они описываются ?

Объясните область действия перекрывающихся имен переменных.

Объясните способы передачи параметров в функции.

Как передать в функцию двумерный массив неизвестного размера?