Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodicheskie_ukazania_po_laboratornomu_praktik...docx
Скачиваний:
5
Добавлен:
26.09.2019
Размер:
1.15 Mб
Скачать

Лабораторная работа 1. Вычисление математических выражений Цель работы

Целью работы является вычисление сложных математических выражений, а также отладка программы для поиска ошибок.

Задание на лабораторную работу

Напишите программу для расчёта двух формул. Предварительно подготовьте тестовые примеры по второй формуле с помощью калькулятора (результат вычисления по первой формуле должен совпадать со второй). Значение параметров тригонометрических функций должны задаваться пользователем в градусах.

Примечание 1: список математических функций библиотеки С++ приведён в «Приложение 4. Перечень функций стандартной библиотеки C++».

Примечание 2: сведения об отладке приводятся в «Приложение 6. Отладка кода проекта в среде Visual C++ 2008».

Варианты заданий

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

Вариант 11

Вариант 12

Вариант 13

Вариант 14

Вариант 15

Вариант 16

Вариант 17

Вариант 18

Вариант 19

Вариант 20

Лабораторная работа 2. Вычисление функций, заданных с помощью ряда Тейлора

Цель работы

Целью работы является изучение основных управляющих структур программирования.

Задание на лабораторную работу

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

Для подготовки тестовых данных, рекомендуется использовать Microsoft Excel. Создадим электронную таблицу следующего вида:

Рис. 2. Пример таблицы расчёта тестовых значений

Для примера рассмотрим вариант №13. В ячейку B1 вводится значение аргумента, а в ячейку B2 значение погрешности вычислений. Поскольку в сумме индексация начинается с нуля, то значения n в столбце B также начинаются с нуля. Столбец C содержит вычисления выражения под знаком суммы , и в ячейке C5 записана следующая формула:

=СТЕПЕНЬ(-1;B5)*СТЕПЕНЬ($B$1;2*B5)/ФАКТР(2*B5+1)

Ряд нужно вычислять до тех пор, пока выполняется следующее условие:

где – заданная погрешность вычислений в ячейке B2. Разность хранится в столбце D и вычисляется в ячейке D5 по следующей формуле:

=ABS(C6-C5)

В столбце E записаны такие значения , для которых выполняется вышеуказанное условие. В ячейке E5 записана формула:

=ЕСЛИ(D5>$B$2;C5;0)

Таким образом, вычисляемое значение является суммой значений в столбце E. В ячейке D1 записано:

=СУММ(E5:E15)

Количество просуммированных элементов для ячейки D2 можно сосчитать как:

=СЧЁТЕСЛИ(E5:E15;"<>0")

В ячейке F1 находится теоретически вычисленное значение с помощью встроенных функций. Для данного варианта:

=SIN(B1)/B1

Погрешность вычислений из ячейки F2 определяется как разница между полученным и теоретическим значениями:

=D1-F1

Значения в F1 и F2 нужны, чтобы проверить, правильно ли закодированы формулы. Погрешность в F2 должна быть меньше, чем в B2.

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

1

0,001

0,841666667

3

2

0,001

0,453968254

4

3

0,001

0,046958198

6

При выводе расчётных значений в виде таблице достаточно использовать отступы:

Варианты заданий

Вариант 21

Вариант 22

Вариант 23

Вариант 24

Вариант 25

Вариант 26

Вариант 27

Вариант 28

Вариант 29

Вариант 30

Вариант 31

Вариант 32

Вариант 33

Вариант 34

Вариант 35

Вариант 36

Вариант 37

Вариант 38

Лабораторная работа 3. Вычисление кусочной функции

Цель работы

Целью работы является изучение основных управляющих структур программирования и функций.

Задание на лабораторную работу

Задания на лабораторную работу приводятся в каждом варианте.

Примечание: тестовые данные должны охватывать все ветки функции .

Варианты заданий

Вариант 39

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 40

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 41

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 42

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операция «|» - поразрядная. Значения ввести с клавиатуры.

Вариант 43

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 44

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 45

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «^» - поразрядные. Значения ввести с клавиатуры.

Вариант 46

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|», «~» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 47

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|», «~» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 48

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|», «^», «~» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 49

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «^» - поразрядные. Значения ввести с клавиатуры.

Вариант 50

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 51

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|», «^» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 52

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «^» - поразрядные. Значения ввести с клавиатуры.

Вариант 53

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «~» - поразрядные. Значения ввести с клавиатуры.

Вариант 54

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|», «^», «~» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 55

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|», «~» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 56

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «~» и «&» - поразрядные. Значения ввести с клавиатуры.

Вариант 57

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|» и «^» - поразрядные. Значения ввести с клавиатуры.

Вариант 58

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

где - действительные числа.

Функция должна принимать действительное значение, если выражение не равно нулю, и целое значение в противном случае. Через целые части значений , операции «|», «~» и «&» - поразрядные. Значения ввести с клавиатуры.

Лабораторная работа 4. Обработка числовых последовательностей

Цель работы

Целью работы является изучение структуры данных одномерный массив.

Задание на лабораторную работу

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

Примечание: массивы, созданные с помощью классов (таких, как например, array из библиотеки STL) использовать запрещается.

Варианты заданий

Вариант 59

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

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

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

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

Вариант 60

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

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

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

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

Вариант 61

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

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

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

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

Вариант 62

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

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

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

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

Вариант 63

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

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

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

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

Вариант 64

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

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

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

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

Вариант 65

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

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

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

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

Вариант 66

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

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

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

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

Вариант 67

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

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

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

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

Вариант 68

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

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

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

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

Вариант 69

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

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

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

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

Вариант 70

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

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

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

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

Вариант 71

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

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

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

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

Вариант 72

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

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

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

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

Вариант 73

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

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

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

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

Вариант 74

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

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

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

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

Вариант 75

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

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

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

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

Вариант 76

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

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

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

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

Вариант 77

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

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

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

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

Вариант 78

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

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

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

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

Лабораторная работа 5. Обработка числовых матриц

Цель работы

Целью работы является изучение структуры данных двумерный массив.

Задание на лабораторную работу

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

Примечание: массивы, созданные с помощью классов (таких, как например, STL) использовать запрещается.

Варианты заданий

Вариант 79

Дана целочисленная прямоугольная матрица. Определить:

  1. количество строк, не содержащих ни одного нулевого элемента;

  2. максимальное из чисел, встречающихся в заданном матрице более одного раза.

Вариант 80

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

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

Вариант 81

Дана целочисленная прямоугольная матрица. Определить:

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

  2. номер строки, в которой находится самая длинная серия одинаковых элементов.

Вариант 82

Дана целочисленная квадратная матрица. Определить:

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

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

Вариант 83

Дана целочисленная квадратная матрица. Определить:

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

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

Вариант 84

Дана целочисленная прямоугольная матрица. Определить:

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

  2. номера строк и столбцов всех седловых точек матрицы.

Примечание. Матрица имеет седловую точку , если является минимальным элементов в -й строке и максимальным в -м столбце.

Вариант 85

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

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

Вариант 86

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

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

Вариант 87

Соседями элемента в матрице назовём элементы с . Операция сглаживания матрицы даёт новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы. Построить результат сглаживания заданной вещественной матрицы размером 10 на 10.

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

Вариант 88

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

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

Вариант 89

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

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

Вариант 90

Уплотнить заданную матрицу, удаляя из неё строки и столбцы, заполненные нулями.

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

Вариант 91

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

Вариант 92

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

Вариант 93

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

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

Вариант 94

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

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

Вариант 95

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

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

Вариант 96

Дана целочисленная прямоугольная матрица. Определить:

  1. количество строк, содержащих хотя бы один нулевой элемент;

  2. номер столбца, в котором находится самая длинная серия одинаковых элементов.

Вариант 97

Дана целочисленная квадратная матрица. Определить:

  1. сумму элементов в тех строках, которые не содержат отрицательных элементов;

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

Вариант 98

Дана целочисленная прямоугольная матрица. Определить:

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

  2. номера строки и столбцов всех седловых точек матрицы.

Примечание. Матрица имеет седловую точку , если является минимальным элементов в -й строке и максимальным в -м столбце.

Лабораторная работа 6. Обработка текстовых данных

Цель работы

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

Задание на лабораторную работу

Задания на лабораторную работу приводятся в каждом варианте. Во всех приведённых вариантах под текстом понимается строка или группа строк.

Примечание: следует использовать строки, представленные как массив символов. Строки, созданные с помощью классов (таких, как например, STL) использовать запрещается.

Варианты заданий

Вариант 99

Определить самое короткое слово в каждом предложении. Удалить эти слова из текста.

Вариант 100

С клавиатуры вводиться отрывок из нескольких строк. Требуется напечатать строку, в которой больше всего слов.

Вариант 101

С клавиатуры вводиться предложение. Поменять порядок слов на обратный.

Вариант 102

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

Вариант 103

Определите, является ли заданная строка правильной записью вещественного числа с возможным знаком и десятичной точкой.

Вариант 104

Найти сумму целых чисел, которые встречаются в тексте.

Вариант 105

В заданном тексте определить слово с наибольшим количеством гласных и вывести предложение его содержащее.

Вариант 106

В заданном тексте поменять местами каждые два соседних слова.

Вариант 107

Проверить, имеется ли в заданном тексте баланс открывающих и закрывающих скобок.

Вариант 108

Палиндром - слово или текст, одинаково читающийся слева направо и справа налево. Определить, является ли заданный текст палиндромом.

Вариант 109

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

Вариант 110

В заданном тексте проверить, совпадают ли в нем первое и последнее, второе и предпоследнее и т.д. слова.

Вариант 111

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

Вариант 112

Даны два текста. Составить третий, который содержит общие слова для первого и второго.

Вариант 113

Проверять является ли введённое слово правильной записью римскими цифрами целого числа от 1 до 999.

Вариант 114

Во введённом тексте заменить цифры от 0 до 9 на слова «ноль, «один», …, «девять».

Лабораторная работа 7. Обработка данных в файлах

Цель работы

Целью работы является изучение файловых операций ввода-вывода.

Задание на лабораторную работу

Работа выполняется в двух вариантах:

  1. С использованием библиотек потокового ввода-вывода (<fstream>).

  2. С использованием библиотек стандартного ввод-вывода (<cstdio>)

Задания на лабораторную работу приводятся в каждом варианте.

Примечание 1: для того чтобы открыть файлы с русскими буквами, необходимо включить поддержку русского языка. Смотри «Приложение 8. Печать русских букв в среде Visual C++ 2008».

Варианты заданий

Вариант 115

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

Вариант 116

Написать программу, которая считывает текст из файла и записывает в другой файл только те предложения, которые содержат введённое с клавиатуры слово.

Вариант 117

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

Вариант 118

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

Вариант 119

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

Вариант 120

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

Вариант 121

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

Вариант 122

Написать программу, которая считывает текст из файла и записывает в другой файл только цитаты (предложения, заключённые в кавычки).

Вариант 123

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

Вариант 124

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

Вариант 125

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

Вариант 126

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

Вариант 127

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

Вариант 128

Написать программу, которая считывает текст из файла и записывает его в другой файл, заменив цифры от 0 до 9 на слова «ноль, «один», …, «девять», начиная каждое предложение с новой строки.

Вариант 129

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

Вариант 130

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

Вариант 131

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

Вариант 132

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

Вариант 133

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

Вариант 134

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

Лабораторная работа 8. Создание базы данных

Цель работы

Целью работы является изучение сложных структур данных типа запись.

Задание на лабораторную работу

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

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

Варианты заданий

Вариант 135

Описать структуру с именем STUDENT, содержащую следующие поля:

  • фамилия и инициалы;

  • номер группы;

  • успеваемость (массив из пяти элементов).

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

Вариант 136

Описать структуру с именем STUDENT, содержащую следующие поля:

  • фамилия и инициалы;

  • номер группы;

  • успеваемость (массив из пяти элементов).

Задание на поиск: найти всех студентов, имеющих оценки 4 и 5.

Вариант 137

Описать структуру с именем AEROFLOT, содержащую следующие поля:

  • название пункта назначения рейса;

  • номер рейса;

  • тип самолёта.

Задание на поиск: найти рейсы, вылетающие в пункт назначения, название которого совпало с названием, введённым с клавиатуры.

Вариант 138

Описать структуру с именем AEROFLOT, содержащую следующие поля:

  • название пункта назначения рейса;

  • номер рейса;

  • тип самолёта.

Задание на поиск: найти рейсы, обслуживаемые самолётом, тип которого введён с клавиатуры.

Вариант 139

Описать структуру с именем WORKER, содержащую следующие поля:

  • фамилию и инициалы работника;

  • название занимаемой должности;

  • год поступления на работу.

Задание на поиск: найти работников, чей стаж работы в организации превышает значение, введённое с клавиатуры.

Вариант 140

Описать структуру с именем TRAIN, содержащую следующие поля:

  • название пункта назначения;

  • номер поезда;

  • время отправления.

Задание на поиск: найти поезда, отправляющихся после введённого с клавиатуры времени.

Вариант 141

Описать структуру с именем TRAIN, содержащую следующие поля:

  • название пункта назначения;

  • номер поезда;

  • время отправления.

Задание на поиск: найти поезда, направляющиеся в пункт, название которого введено с клавиатуры.

Вариант 142

Описать структуру с именем TRAIN, содержащую следующие поля:

  • название пункта назначения;

  • номер поезда;

  • время отправления.

Задание на поиск: найти поезд, номер которого введён с клавиатуры.

Вариант 143

Описать структуру с именем MARSH, содержащую следующие поля:

  • название начального пункта маршрута;

  • название конечного пункта маршрута;

  • номер маршрута.

Задание на поиск: найти маршрут, номер которого введён с клавиатуры.

Вариант 144

Описать структуру с именем MARSH, содержащую следующие поля:

  • название начального пункта маршрута;

  • название конечного пункта маршрута;

  • номер маршрута.

Задание на поиск: найти маршруты, которые начинаются или оканчиваются в пункте, название которого введено с клавиатуры.

Вариант 145

Описать структуру с именем NOTE, содержащую следующие поля:

  • фамилия, имя;

  • номер телефона;

  • дата рождения (массив из трёх чисел).

Задание на поиск: найти информацию о человеке, номер телефона которого введён с клавиатуры.

Вариант 146

Описать структуру с именем NOTE, содержащую следующие поля:

  • фамилия, имя;

  • номер телефона;

  • дата рождения (массив из трёх чисел).

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

Вариант 147

Описать структуру с именем NOTE, содержащую следующие поля:

  • фамилия, имя;

  • номер телефона;

  • дата рождения (массив из трёх чисел).

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

Вариант 148

Описать структуру с именем ZNAK, содержащую следующие поля:

  • фамилия, имя;

  • знак зодиака;

  • дата рождения (массив из трёх чисел).

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

Вариант 149

Описать структуру с именем ZNAK, содержащую следующие поля:

  • фамилия, имя;

  • знак зодиака;

  • дата рождения (массив из трёх чисел).

Задание на поиск: найти информацию о людях, родившихся под знаком, название которого введено с клавиатуры.

Вариант 150

Описать структуру с именем ZNAK, содержащую следующие поля:

  • фамилия, имя;

  • знак зодиака;

  • дата рождения (массив из трёх чисел).

Задание на поиск: найти информацию о людях, родившихся в месяц, значение которого введено с клавиатуры.

Вариант 151

Описать структуру с именем PRICE, содержащую следующие поля:

  • название товара;

  • название магазина, в котором продаётся товар;

  • стоимость товара в рублях.

Задание на поиск: найти информации о товаре, название которого введено с клавиатуры.

Вариант 152

Описать структуру с именем PRICE, содержащую следующие поля:

  • название товара;

  • название магазина, в котором продаётся товар;

  • стоимость товара в рублях.

Задание на поиск: найти информацию о товарах, продающихся в магазине, название которого введено с клавиатуры.

Вариант 153

Описать структуру с именем ORDER, содержащую следующие поля:

  • расчётный счёт плательщика;

  • расчётный счёт получателя;

  • перечисляемая сумма в рублях.

Задание на поиск: найти информацию о сумме, снятой с расчётного счёта плательщика, введённого с клавиатуры.

Лабораторная работа 9. Изучение динамических структур данных

Цель работы

Целью работы является изучение динамических структур данных на примере линейных списков.

Задание на лабораторную работу

Выполнить задание лабораторной работы №8 «Структуры», но вместо массивов использовать линейные списки.

При сортировке элементов в списке необходимо менять не содержимое элементов (оно остаётся по прежнему адресу в памяти), а голову и указатели на следующий элемент.

Лабораторная работа 10. Основные управляющие структуры системы MATLAB №1

Цель работы

Целью работы является изучение основных управляющих структур системы MATLAB.

Задание на лабораторную работу

Выполнить задание лабораторной работы №3 «Основные управляющие структуры», но в качестве языка программирования использовать язык M системы MATLAB.

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

Лабораторная работа 11. Основные управляющие структуры системы MATLAB №2

Цель работы

Целью работы является изучение основных управляющих структур системы MATLAB.

Задание на лабораторную работу

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

Приложение 1. Рекомендованный список литературы

  1. Богатырёв Андрей. Руководство полного идиота по программированию (на языке Си).

  2. Шилдт Герберт. C++: руководство для начинающих, 2-е издание. – М.: Вильямс, 2005. – 672 с.: ил.

  3. Шилдт Герберт. C++: базовый курс, 3-е издание. – М.: Вильямс, 2008. – 624 с.: ил.

  4. Культин Николай. C/C++ в задачах и примерах, 2-е издание. – СПб.: БХВ-Петербург, 2003. – 288 с.: ил.

  5. Роберт Лафоре. Объектно-ориентированное программирование в C++: 4-е издание. – СПб.: Питер, 2004. ­– 928 с.: ил.

  6. Дейтел Х., Дейтел П. Как программировать на C++: Пятое издание/Пер. с англ. – М.: Бином, 2008. – 1456 с.: ил.

  7. Шилдт Герберт. Полный справочник по C++, 4-е издание. – М.: Вильямс, 2009. – 800 с.: ил.

  8. Керниган Брайан В., Пайк Роб. Практика программирования/Пер. с англ. – СПб.: Невский диалект, 2001. – 381 с.: ил.

  9. Кляус Сергей. Оформление кода в C. Sources.RU Magazine (Январь 2005). http://www.sources.ru/magazine/0105/c_code_design.html.

  10. http://ru.wikipedia.org/wiki/Стиль_отступов

Не рекомендуется:

  1. Освой самостоятельно C++ за 21 день, 5-е издание, Джесс Либерти, Брэдли Джонс; 784 стр., с ил.; 2009; Вильямс.

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