Методические рекомендации к выполнению лабораторных работ 3 Контрольная работа №1. Циклические вычислительные процессы 5 Контрольная работа №2. Одномерные массивы 14

Вид материалаМетодические рекомендации

Содержание


Контрольная работа №1
Контрольная работа №2 Одномерные массивы
Двумерные массивы
Контрольная работа №4 Указатели и функции
Подобный материал:


Задания
к контрольным работам
по дисциплине “Программирование на языке высокого уровня”
для студентов III курса специальности 230201
”Информационные и управляющие системы”
заочной формы обучения



ОГЛАВЛЕНИЕ

Методические рекомендации к выполнению лабораторных работ 3

Контрольная работа №1. Циклические вычислительные процессы 5

Контрольная работа №2. Одномерные массивы 14

Контрольная работа №3. Двумерные массивы 19

Контрольная работа №4. Указатели и функции 23

Контрольная работа №5. Структуры 24

Список рекомендуемой литературы 49
Методические рекомендации к выполнению
контрольных работ


Основным условием успешного использования ЭВМ для решения различных задач является умение пользователя грамотно сформулировать проблему и найти эффективный алгоритм ее решения. Данные методические указания предназначены для обучения студентов современным технологиям и парадигмам разработки программного обеспечения с использованием языка программирования высокого уровня C++.

Перед выполнением текущей работы необходимо:
  • ознакомиться с заданием;
  • изучить и продумать ответы на вопросы в разделе “Вопросы, требующие изучения перед выполнением задания”, имеющемся в методических указаниях к каждой лабораторной работе;
  • изучить программу, приведенную в соответствующем разделе учебника;
  • продумать алгоритм решения поставленной задачи и составить ее схему;
  • написать программу и отладить ее;
  • оформить отчет.

Отчеты по должны быть выполнены на скрепленных листах формата A4 с титульным листом.

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

Отчет по каждой работе должен содержать:

- цель работы;

- формулировку задания;

- краткие теоретические сведения (ответы на вопросы, требующие изучения перед выполнением задания);

- описание разработанного алгоритма и программы (назначение переменных, процедур и функций, особенности реализации программного кода);

- графическое изображение алгоритма или диаграмм классов и объектов;

- листинг программы (оформленный с отступами) с необходимыми комментариями;

- протокол работы программы с комментариями;

- выводы по выполненной работе.


Контрольная работа №1

Циклические вычислительные процессы


Вопросы, требующие изучения перед выполнением задания (стр. учебника [1] — 13-51, практикума [2] — 10-54):
  1. Состав языка C++.
  2. Ключевые слова языка C++.
  3. Константы языка С++.
  4. Основные типы данных языка C++.
  5. Модификаторы типов данных языка C.
  6. Структура программы.
  7. Понятие переменной. Декларация переменных.
  8. Операции языка C++, их классификация и приоритеты.
  9. Базовые конструкции структурного программирования.
  10. Операторы ветвления и множественного выбора.
  11. Операторы цикла языка C++.
  12. Операторы передачи управления.
  13. Функции для работы с целыми и вещественными числами.
  14. Функции генерации случайных чисел. Генерация случайных чисел в указанном диапазоне.
  15. Операции преобразования данных одного типа в другой.
  16. Отличие префиксной операции инкремента от постфиксной.
  17. Отличие логических и поразрядных операций.



Вариант 1

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, Ь, с — действительные числа.

Функция F должна принимать действительное значение, если выражение

(Ац ИЛИ Вц) И (Ац ИЛИ Сц) '

не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений а, Ь, с, операции И и ИЛИ — поразрядные. Значения а, Ь, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 2

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, Ь, с — действительные числа.

Функция F должна принимать действительное значение, если выражение

(Ац И Вц) ИЛИ (Вц И Сц)

не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений а, Ь, с. операции И и ИЛИ — поразрядные. Значения. а, Ь, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 3

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, Ь, с — действительные числа.

Функция F должна принимать действительное значение, если выражение

Ац И (Вц ИЛИ Сц)

не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, Ь, с, операции И и ИЛИ — поразрядные. Значения а, 6, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 4

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа.

Функция F должна принимать действительное значение, если выражение Ац ИЛИ Вц ИЛИ Сц не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, Ь, с, операция ИЛИ — поразрядная. Значения а, Ь, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 5

Вычислить и вывести на экран в виде таблицы значения функции F на интервале
от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа.

Функция F должна принимать действительное значение, если выражение (Ац ИЛИ Вц) И Сц не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, Ь, с, операции И и ИЛИ — поразрядные. Значения а, Ь, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 6

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа .Функция F должна принимать действительное значение, если выражение (Ац И Вц) ИЛИ (Ац И Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значении а, Ь. с. операции И и ИЛИ — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 7

Вычислить н вывести на экран а виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа. Функция F должна принимать действительное значение, если выражение (Ац ИЛИ Вц) МОД2 (Ац ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Си обозна­чены целые части значений а, b, с, операции И, ИЛИ и МОД2 (сложение по мо­дулю 2) — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 8

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа.

Функция F должна принимать действительное значение, если выражение

(Ац МОД2 Вц) И НЕ(Ац ИЛИ Сц)

не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с, операции И, ИЛИ и МОД2 (сложение по мо­дулю 2) — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 9

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а. b, с — действительные числа. Функция F должна принимать действительное значение, если выражение НЕ(Ац ИЛИ Вц) II (Вц ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с, операции НЕ, И и ИЛИ — поразрядные. Зна­чения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 10

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а. b, с — действительные числа.

Функция F должна принимать действительное значение, если выражение НЕ(Ац. ИЛИ Вц) И (Ац МОД2 Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с, операции НЕ, И, ИЛИ и МОД2 (сложение по модулю 2) — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиа­туры.

Вариант 11

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа.

Функция F должна принимать действительное значение, если выражение (Ац И Вц) МОД2 Сц не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с, операции И и МОД2 (сложение по моду­лю 2) — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 12

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа.

Функция F должна принимать действительное значение, если выражение (Ац ИЛИ Вц) И Сц не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с, операции И и ИЛИ — поразрядные. Значения п. b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 13

Вычислить и вывести на экран и виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где a, b, с — действительные числа.

Функция F должна принимать действительное значение, если выражение (Ац ИЛИ Вц) МОД2 (Вц И Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с, операции И, ИЛИ и МОД2 (сложение по мо­дулю 2) — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 14

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа. Функция F должна принимать действительное значение, если выражение (Ац МОД2 Вц) ИЛИ (Ац МОД2 Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с. операции ИЛИ и МОД2 (сложение по моду­лю 2) — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 15

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа. Функция F должна принимать действительное значение, если выражение НЕ(Ац ИЛИ Вц ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с, операции НЕ и ИЛИ — поразрядные. Значе­ния а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 16

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа. Функция F должна принимать действительное значение, если выражение (Ац МОД2 Вц) И НЕ(Ац ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с, операции НЕ, И, ИЛИ и МОД2 (сложение по модулю 2) — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 17

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа. Функция F должна принимать действительное значение, если выражение (Ац ИЛИ Вц) И НЕ(Ац ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с, операции НЕ, И и ИЛИ — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 18

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где a, b, с — действительные числа. Функция F должна принимать действительное значение, если выражение НЕ(Ац И Вц И Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с. операции НЕ и И — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 19

Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа. Функция F должна принимать действительное значение, если выражение (Ац МОД2 Вц) ИЛИ (Ац МОД2 Сц) не равно нулю, и целое значение в противном случае. Через Ац. Вц и Сц обозна­чены целые части значений а, b, с, операции ИЛИ и МОД2 (сложение по моду­лю 2) — поразрядные. Значения а, b, с, d, Хнач., Хкон., dX ввести с клавиатуры.

Вариант 20

Вычислить н вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

F =

где а, b, с — действительные числа. Функция F должна принимать действительное значение, если выражение НЕ (Ац ИЛИ Вц) И НЕ(Ац ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна­чены целые части значений а, b, с, операции НЕ, И и ИЛИ — поразрядные. Значения а, b, с, Хнач., Хкон., dX ввести с клавиатуры.

Контрольная работа №2

Одномерные массивы



Вопросы, требующие изучения перед выполнением задания (стр. учебника [1] — 51-61, практикума [2] — 71-88):
  1. Понятие массива. Декларация массивов.
  2. Индексация в одномерном массиве.
  3. Инициализация массивов при описании.
  4. Порядок размещения массива в памяти.


Требования к выполняемой работе:
  1. Размерности массивов задавать немодифицируемыми переменными.


Вариант 1

В одномерном массиве, состоящем из n вещественных элементов, вычислить:

1) сумму отрицательных элементов массива;

2) произведение элементов массива, расположенных между максимальным и минимальным элементами.

Упорядочить элементы массива по возрастанию.

Вариант 2

В одномерном массиве, состоящем n вещественных элементов, вычислить:

1) сумму положительных элементов массива;

2) произведение элементов массива, расположенных между максимальным по мо­дулю и минимальным по модулю элементами.

Упорядочить элементы массива по убыванию.

Вариант 3

В одномерном массиве, состоящем из п целых элементов, вычислить:

1) произведение элементов массива с четными номерами;

2) сумму элементов массива, расположенных между первым и последним нулевыми элементами.

Преобразовать массив таким образом, чтобы сначала располагались все положи­тельные элементы, а потом — все отрицательные (элементы, равные 0, считать положительными).

Вариант 4

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) сумму элементов массива с нечетными номерами;

2) сумму элементов массива, расположенных между первым и последним отрицательными элементами.

Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями.

Вариант 5

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) максимальный элемент массива;

2) сумму элементов массива, расположенных до последнего положительного элемента.

Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, b]. Освободившиеся в конце массива элементы заполнить нулями.

Вариант 6

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) минимальный элемент массива;

2) сумму элементов массива, расположенных между первым и последним положительными элементами.

Преобразовать массив таким образом, чтобы сначала располагались все элемен­ты, равные нулю, а потом — все остальные.

Вариант 7

В одномерном массиве, состоящем из п целых элементов, вычислить:

1) номер максимального элемента массива;

2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами.

Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине — элементы, стоявшие в четных позициях.

Вариант 8

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) номер минимального элемента массива;

2) сумму элементов массива, расположенных между первым и вторым отрицательными элементами.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом — все остальные.


Вариант 9

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) максимальный по модулю элемент массива;

2) сумму элементов массива, расположенных между первым и вторым положительными элементами.

Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных.


Вариант 10

В одномерном массиве, состоящем из п целых элементов, вычислить:

1) минимальный по модулю элемент массива;

2) сумму модулей элементов массива, расположенных после первого элемента, равного нулю.

Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине — элементы, стоявшие в нечетных позициях.


Вариант 11

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) номер минимального по модулю элемента массива;

2) сумму модулей элементов массива, расположенных после первого отрицательного элемента.

Сжать массив, удалив из него все элементы, величина которых находится в интервале [а,b]. Освободившиеся в конце массива элементы заполнить нулями.


Вариант 12

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) номер максимального по модулю элемента массива;

2) сумму элементов массива, расположенных после первого положительного элемента.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [а,b], а потом — все остальные.

Вариант 13


В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) количество элементов массива, лежащих в диапазоне от А до В;

2) сумму элементов массива, расположенных после максимального элемента. Упорядочить элементы массива по убыванию модулей элементов.


Вариант 14

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) количество элементов массива, равных 0;

2) сумму элементов массива, расположенных после минимального элемента. Упорядочить элементы массива по возрастанию модулей элементов.


Вариант 15

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) количество элементов массива, больших С;

2) произведение элементов массива, расположенных после максимального по модулю элемента.

Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом — все положительные (элементы, равные 0, считать положительными).


Вариант 16

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) количество отрицательных элементов массива;

2) сумму модулей элементов массива, расположенных после минимального по модулю элемента.

Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию.


Вариант 17

В одномерном массиве, состоящем из п целых элементов, вычислить:

1) количество положительных элементов массива;

2) сумму элементов массива, расположенных после последнего элемента, равно­го нулю.

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом — все остальные,


Вариант 18

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) количество элементов массива, менbших С;

2) сумму целых частей элементов массива, расположенных после последнего

от­рицательного элемента.

Преобразовать массив таким образом, чтобы сначала располагались все элемен­ты, отличающиеся от максимального не более чем на 20%, а потом — все остальные.


Вариант 19

В одномерном массиве, состоящем из п вещественных элементов, Вычислить:

1) произведение отрицательных элементов массива;

2) сумму положительных элементов массива, расположенных до максимального элемента.

Изменить порядок следования элементов в массиве на обратный.


Вариант 20

В одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) произведение положительных элементов массива;

2) сумму элементов массива, расположенных до минимального элемента.

Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.

Контрольная работа №3

Двумерные массивы



Вопросы, требующие изучения перед выполнением задания (стр. учебника [1] — 61-63, практикума [2] — 71-88):

  1. Понятие двумерного массива. Описание массивов.
  2. Инициализация двумерного массива при описании.
  3. Индексация в двумерном массиве.
  4. Размещение массива в памяти.

Требования к выполняемой работе:

1. Размерности массивов задавать именованными константами.

Вариант 1


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

Вариант 2


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


Характеристикой строки целочисленной матрицы назовём сумму её положительных чётных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.

Вариант 3


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


Вариант 4

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


Вариант 5

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


Вариант 6

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


Вариант 7

Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом.

Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.


Вариант 8

Характеристикой столбца целочисленной матрицы назовём сумму модулей его отрицательных нечётных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.

Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент.


Вариант 9

Соседями элемента Aij в матрице назовём элементы Akl с i-1<k<i+1 , j-1<l <j+1 , (k,l) неравно (i,j) . Операция сглаживания матрицы даёт новую матрицу того же размера, каждый элемент которой получается как среднее арифметической имеющихся соседей соответствующего элемента исходной матрицы. Построить резулbтат сглаживания заданной вещественной матрицы размером 10 на 10.

В сглаженной матрице найти сумму модулей элементов, расположенных ниже главной диагонали.


Вариант 10

Элемент матрицы называется локальным манимом, если он строго менbше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10 на 10.

Найти сумму модулей элементов, расположенных выше главной диагонали.


Вариант 11

Коэффициенты системы линейных уравнений заданны в виде прямоугольной матрицы. С помощbю допустимых преобразований привести систему к треугольному виду.

Найти количество строк, среднее арифметическое элементов которых менbше заданной величины.


Вариант 12

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


Вариант 13

Осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз (в зависимости от введённого режима). n может быть больше количества элементов в строке или столбце.


Вариант 14

Осуществить циклический сдвиг элементов квадратной матрицы размерности M на N вправо на k элементов таким образом: элементы 1-й строки сдвигаются в последний столбец сверху вниз, из него – в последнюю строку справа налево, из неё – в первый столбец снизу вверх, из него – в первую строку; для остальных элементов – аналогично.


Вариант 15

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

Характеристикой строки целочисленной матрицы назовём сумму её отрицательных чётных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с убывание характеристик.


Вариант 16

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

Найти номер первого из столбцов, не содержащих ни одного отрицательного элемента.


Вариант 17

Путём перестановки элементов квадратной вещественной матрицы добиться того, чтобы её максимальный элемент находился в левом верхнем углу, следующий по величине – в позиции (2,2), следующий по величине – в позиции (3,3) и т.д., заполнив таким образом всю главную диагоналb.

Найти номер первой из строк, не содержащих ни одного положительного элемента.


Вариант 18

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


Вариант 19

Дана целочисленная прямоугольная матрица. Определить:
  1. сумму элементов в тех строках, которые не содержат отрицательных элементов;
  2. минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.


Вариант 20

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

Контрольная работа №4

Указатели и функции



Вопросы, требующие изучения перед выполнением задания (стр. учебника [1] — 51-58, практикума [2] — 76-85, 132-146):

  1. Понятие указателя. Виды указателей.
  2. Способы инициализации указателей.
  3. Операции с указателями.
  4. Арифметические операции с указателями.
  5. Ссылки.
  6. Получение адреса произвольного элемента одномерного и двумерного массива.
  7. Правила передачи одномерного массива в функцию.
  8. Правила передачи двумерного массива в функцию.
  9. Способы выделения памяти под одномерный и двумерный динамический массив.


Требования к выполняемой работе:

1. Схему алгоритмов выполнять не требуется.

Задание


Переделать программы из лабораторных работ №2 и 3 следующим образом:
  • вместо статических массивов исполbзовать динамические;
  • массивы и переменные, хранящие размерности массивов, описать локально в функции main();
  • каждое задание к каждой лабораторной работе оформить в виде отдельной функции.



Контрольная работа №5

Структуры


Вопросы, требующие изучения перед выполнением задания (стр. учебника [1] — 65-71, практикума [2] — 110-125, 146-150):
  1. Типы данных, определяемые полbзователем.
  2. Переименование типов (typedef).
  3. Перечисления (enum).
  4. Понятие структуры (struct).
  5. Отличие структуры от массива и от перечисления.
  6. Битовые поля.
  7. Объединения (union).


Требования к выполняемой работе:

Выполнить всю работу в одной функции main().

Затем переделать программу: Каждое задание в пункте 2 к лабораторной работе оформить в виде отдельной функции. Массив, состоящий из структур, описать локально в функции main() и передавать в функции в качестве аргумента.

Вариант 1

  1. Описать структуру с именем STUDENT, содержащую следующие поля:
  • фамилия и инициалы;
  • номер группы;
  • успеваемость (массив из пяти элементов).
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию номера группы;
  • вывод на дисплей фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4,0;
  • если таких студентов нет, вывести соответствующее сообщение на экран.


Вариант 2
  1. Описать структуру с именем STUDENT, содержащую следующие поля:
  • фамилия и инициалы;
  • номер группы;
  • успеваемость (массив из пяти элементов).
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию среднего балла;
  • вывод на дисплей фамилий и номеров групп для всех студентов, имеющих оценки 4 и 5;

если таких студентов нет, вывести соответствующее сообщение на экран.


Вариант 3
  1. Описать структуру с именем STUDENT, содержащую следующие поля:
  • фамилия и инициалы;
  • номер группы;
  • успеваемость (массив из пяти элементов).
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по алфавиту;
  • вывод на дисплей фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку 2;

если таких студентов нет, вывести соответствующее сообщение на экран.


Вариант 4
  1. Описать структуру с именем AEROFLOT, содержащую следующие поля:
  • название пункта назначения рейса;
  • номер рейса;
  • тип самолета.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть упорядочены по возрастанию номера рейса;
  • вывод на экран номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры;
  • если таких рейсов нет, выдать на дисплей соответствующее сообщение.


Вариант 5
  1. Описать структуру с именем AEROFLOT, содержащую следующие поля:
  • название пункта назначения рейса;
  • номер рейса;
  • тип самолета.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения;
  • вывод на экран пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры;
  • если таких рейсов нет, выдать на дисплей соответствующее сообщение.


Вариант 6
  1. Описать структуру с именем WORKER, содержащую следующие поля:
  • фамилия и инициалы работника;
  • название занимаемой должности;
  • год поступления на работу.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из десяти структур типа WORKER;записи должны быть упорядочены по алфавиту;
  • вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
  • если таких работников нет, вывести на дисплей соответствующее сообщение.


Вариант 7
  1. Описать структуру, с именем TRAIN, содержащую следующие поля:
  • название пункта назначения;
  • номер поезда;
  • время отправления.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-ми элементов типа TRAIN; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения;
  • вывод на экран информации о поездах, отправляющихся после введенного с клавиатуры времени;
  • если таких поездов нет, вывести на экран соответствующее сообщение.


Вариант 8
  1. Описать структуру, с именем TRAIN, содержащую следующие поля:
  • название пункта назначения;
  • номер поезда;
  • время отправления.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 6-и элементов типа TRAIN; записи должны быть упорядочены по времени отправления поездов;
  • вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры;
  • если таких поездов нет, вывести на экран соответствующее сообщение.


Вариант 9
  1. Описать структуру, с именем TRAIN, содержащую следующие поля:
  • название пункта назначения;
  • номер поезда;
  • время отправления.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-ми элементов типа TRAIN; записи должны быть упорядочены по номерам поездов;
  • вывод на экран информации о поезде, номер которого введен с клавиатуры;
  • если таких поездов нет, вывести на экран соответствующее сообщение.


Вариант 10
  1. Описать структуру с именем MARSH, содержащую следующие поля:
  • название начального пункта маршрута;
  • название конечного пункта маршрута;
  • номер маршрута.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов;
  • вывод на экран информации о маршруте, номер которого введен с клавиатуры;
  • если таких маршрутов нет, выдать на дисплей соответствующее сообщение.


Вариант 11

1. Описать структуру с именем MARSH, содержащую следующие поля:
  • название начального пункта маршрута;
  • название конечного пункта маршрута;
  • номер маршрута.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов;
  • вывод на экран информации о маршрутах, которые начинаются или кончаются в пункте, название которого введено с клавиатуры;
  • если таких маршрутов нет, выдать на дисплей соответствующее сообщение.



Вариант 12
  1. Описать структуру с именем NOTE, содержащую следующие поля:
  • фамилия, имя;
  • номер телефона;
  • денb рождения (массив из трех чисел).
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа NOTE; записи должны быть упорядочены по датам дней рождений;
  • вывод на экран информации о человеке, номер телефона которого введен с клавиатуры;
  • если таких нет, выдать на дисплей соответствующее сообщение.



Вариант 13
  1. Описать структуру с именем NOTE, содержащую следующие поля:
  • фамилия, имя;
  • номер телефона;
  • денb рождения (массив из трех чисел).
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа NOTE; записи должны быть размещены по алфавиту;
  • вывод на экран информации о людях, чbи дни рождения приходятся на месяц, значение которого введено с клавиатуры;
  • если таких нет, выдать на дисплей соответствующее сообщение.



Вариант 14
  1. Описать структуру с именем NOTE, содержащую следующие поля:
  • фамилия, имя;
  • номер телефона;
  • денb рождения (массив из трех чисел).
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа NOTE; записи должны быть упорядочены по трем первым цифрам номера телефона;
  • вывод на экран информации о человеке, чbя фамилия введена с клавиатуры;
  • если таких нет, выдать на дисплей соответствующее сообщение.



Вариант 15

1. Описать структуру с именем ZNAK, содержащую следующие поля:
  • фамилия, имя;
  • знак Зодиака;
  • денb рождения (массив из трех чисел).
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа ZNAK; записи должны быть упорядочены по датам дней рождений;
  • вывод на экран информации о человеке, чbя фамилия введена с клавиатуры;
  • если таких нет, выдать на дисплей соответствующее сообщение.



Вариант 16

1. Описать структуру с именем ZNAK, содержащую следующие поля:
  • фамилия, имя;
  • знак Зодиака;
  • денb рождения (массив из трех чисел).
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа ZNAK; записи должны быть упорядочены по датам дней рождений;
  • вывод на экран информации о людях, родившихся под знаком, наименование которого введено с клавиатуры;
  • если таких нет, выдать на дисплей соответствующее сообщение.



Вариант 17

1. Описать структуру с именем ZNAK, содержащую следующие поля:
  • фамилия, имя;
  • знак Зодиака;
  • денb рождения (массив из трех чисел).
  1.  Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа ZNAK; записи должны быть упорядочены по знакам Зодиака;
  • вывод на экран информации о людях, родившихся в месяц, значение которого введено с клавиатуры;
  • если таких нет, выдать на дисплей соответствующее сообщение.



Вариант 18

1. Описать структуру с именем PRICE, содержащую следующие поля:
  • название товара;
  • название магазина, в котором продается товар;
  • стоимость товара в рублях.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа PRICE; записи должны быть размещены в алфавитном порядке по названиям товаров;
  • вывод на экран информации о товаре, название которого введено с клавиатуры;
  • если таких нет, выдать на дисплей соответствующее сообщение.



Вариант 19

1. Описать структуру с именем PRICE, содержащую следующие поля:
  • название товара;
  • название магазина, в котором продается товар;
  • стоимость товара в рублях.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа PRICE; записи должны быть размещены в алфавитном порядке по названиям магазинов;
  • вывод на экран информации о товарах, продающихся в магазине, название которого введено с клавиатуры;
  • если таких нет, выдать на дисплей соответствующее сообщение.



Вариант 20

1. Описать структуру с именем ORDER, содержащую следующие поля:
  • расчетный счет плателbщика;
  • расчетный счет получателя;
  • перечисляемая сумма в рублях.
  1. Написать программу, выполняющую следующие действия:
  • ввод с клавиатуры данных в массив, состоящий из 8-и элементов типа ORDER; записи должны быть размещены в алфавитном порядке по расчетным счетам плателbщиков;
  • вывод на экран информации о сумме, снятой с расчетного счета плателbщика, введенного с клавиатуры
  • если таких нет, выдать на дисплей соответствующее сообщение.


Список литературы

  1. C/C++. Программирование на языке высокого уровня./ Т.А. Павловская. — СПб.: Питер, 2002.
  2. C/C++. Структурное программирование: Практикум. /Т.А. Павловская, Ю.А. Щупак. — СПб.: Питер, 2003.
  3. C/C++. Объектно-ориентированное программирование: Практикум. /Т.А. Павловская, Ю.А.Щупак. — СПб.: Питер, 2003.
  4. Иванова Г.С., Ничушкина Т.Н., Пугачев Е.К. Объектно-ориентированное программирование: Учеб. для вузов. — М.: Изд-во МГТУ им. Н.Э. Баумана, 2001.
  5. Технология разработки программного обеспечения: Учебник /С. Орлов — СПб.: Питер, 2002.
  6. Буч Г. Объектно-ориентированный анализ и проектирование с примерами на C++. — М.: БИНОМ, 1998.
  7. Страуструп Б. Язык программирования C++. — СПб.: БИНОМ, 1999.

Составитель:


АЙДИНЯН Андрей Размикович


Задания
к контрольным работам
по дисциплине “Программирование на языках высокого уровня”

для студентов III курса
специальности 230201 ”Информационные и управляющие системы”
заочной формы обучения


Редактор Н.Ю. Диденко


Подписано к печати Формат бумаги 60х84/

Бумага офсетная. Объем усл. п.л. уч.-изд.л.

Заказ № ______/200 Тираж Бесплатно

Редакционно-издательский отдел РГАСХМ

Ростов-на-Дону, ул. Страны Советов, 1

Отпечатано в копировально множительном бюро РГАСХМ