- •Часть 1
- •Содержание
- •Введение
- •1. Структура и принцип действия компьютера
- •2. Алгоритм и программа
- •2.1. Понятия об алгоритме и программе
- •2.2. Типовые алгоритмы
- •2.2.1. Вычисление суммы чисел произвольного ряда
- •Вычисление произведения чисел произвольного ряда
- •2.2.3. Определение наибольшего (наименьшего) числа заданного ряда чисел
- •2.2.4 Определение наибольшего (наименьшего) значения вычисляемой функции
- •2.2.5. Вычисление функции с одновременно изменяющимися несколькими аргументами
- •2.2.6. Итерационные циклы
- •2.2.7. Сортировка ряда чисел
- •Метод смежных пар
- •Метод поиска наименьшего (наибольшего)
- •2.2.8. Алгоритмы решения задач с использованием матриц
- •Общие методические указания по выполнению лабораторных работ
- •4.1. Порядок проведения лабораторных работ
- •4.2. Требования к оформлению отчета по выполненной лабораторной работе
- •5. Цели и содержание лабораторных работ
- •5.1 Лабораторная работа № 1 Вычисление выражений с использованием библиотечных
- •5.1.1. Задание
- •5.1.2. Общие сведения и рекомендации по выполнению работы
- •5.1.3. Контрольные вопросы и задания
- •5.2. Лабораторная работа № 2 Программирование разветвляющихся вычислительных процессов.
- •5.2.1. Задание
- •5.2.2. Общие сведения и рекомендации по выполнению работы
- •5.2.3. Контрольные вопросы и задания.
- •5.3. Лабораторная работа № 3 Программирование разветвляющихся вычислительных процессов с использованием оператора множественного выбора.
- •5.3.1. Задание
- •5.3.2. Общие сведения и рекомендации по выполнению работы
- •5.3.3. Контрольные вопросы и задания
- •5.4. Лабораторная работа № 4 Программирование с использованием простых циклов.
- •5.4.1. Задание
- •5.4.2. Общие сведения и рекомендации по программированию
- •5.4.3. Контрольные вопросы и задания
- •5.5. Лабораторная работа № 5 Программирование с использованием итерационных циклов.
- •5.5.1. Задание
- •Проверочный результат
- •Относительная погрешность, %
- •5.5.2. Общие сведения и рекомендации по программированию
- •5.5.3. Контрольные вопросы и задания
- •5.6. Лабораторная работа № 6 Расчет функций с несколькими одновременно изменяющимися аргументами.
- •5.6.1. Задание
- •5.6.2. Общие сведения и рекомендации по выполнению работы
- •5.6.3. Контрольные вопросы и задания
- •5.7. Лабораторная работа № 7 Программирование с использованием массивов и внешних файлов.
- •5.7.1. Задание
- •5.7.2. Общие сведения и рекомендации по программированию
- •5.7.3. Контрольные вопросы и задания
- •5.8 Лабораторная работа № 8 Программирование с использованием функций.
- •5.8.1. Задание
- •5.8.2. Общие сведения и рекомендации по выполнению работы
- •5.8.3. Контрольные вопросы и задания
- •5.9. Лабораторная работа № 9 Программирование с использованием операций над комплексными числами.
- •5.9.1. Задание
- •5.9.2. Общие сведения и рекомендации по выполнению работы
- •5.9.3. Контрольные вопросы и задания
- •Приложения Приложение 1.
- •Приложение 2.
- •Список литературы
5.7. Лабораторная работа № 7 Программирование с использованием массивов и внешних файлов.
Цель работы: закрепление навыков программирования с использованием массивов и внешних файлов.
5.7.1. Задание
Разработать алгоритм и составить
программу образования массива Z[n]
(
)
с помощью функции
,
приведенной в табл.5.5, где
– элементы заданного массива X[n]:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
|
22 |
–3.6 |
1.5 |
7.6 |
–0.2 |
25 |
4.8 |
0.15 |
–2.7 |
–12 |
3.4 |
0.28 |
5.2 |
Ввод массива X[n] предусмотреть из внешнего файла.
Вычислить среднее арифметическое
и среднее квадратичное
для элементов
образованного массива
.
Образовать массив A[n] из элементов, вычисляемых по формуле
и определить
количество k его
положительных элементов, а также
произведение
его элементов, значения которых
расположены в диапазоне 0.5…5.
Результаты вывести во внешний файл в следующем виде:
ОПЕРАЦИИ С МАССИВАМИ
ИСХОДНЫЕ ДАННЫЕ
X[ 1] = 22
X[ 2] = –3.6
…
X[13] = 5.2
РЕЗУЛЬТАТЫ ВЫЧИСЛЕНИЙ
1. X[ 1] = 22 Z[ 1] = …
2. X[ 2] = –3.6 Z[ 2] = …
…………………………………
13. X[13] = 5.2 Z[13] = …
СРЕДНЕЕ АРИФМЕТИЧЕСКОЕ
M = …
СРЕДНЕЕ КВАДРАТИЧНОЕ
sigma = …
МАССИВ А
A[ 1] = …
A[ 2] = …
…………
A[13] = …
КОЛИЧЕСТВО ПОЛОЖИТЕЛЬНЫХ ЭЛЕМЕНТОВ МАССИВА A
k = …
ПРОИЗВЕДЕНИЕ ЭЛЕМЕНТОВ МАССИВА А В ДИАПАЗОНЕ (0.5…5)
P = …
5.7.2. Общие сведения и рекомендации по программированию
Массив – это сложный (агрегатный) тип данных, представляющий собой совокупность однотипных элементов. Массив является удобной формой хранения и обработки данных.
При разработке алгоритма вычислений более рациональным будет объединение в одном цикле for операторов ввода данных, вычисления элементов массива Z[n] и нахождения их суммы, а также образование массива A[n], определение количества k положительных и произведения элементов заданного диапазона.
Следует помнить, что индексация элементов массива в С++ начинается с нуля, а последний элемент имеет индекс ( – общее количество элементов массива). С учетом этого заголовок цикла следует писать в следующем виде:
for (i = 0; i < n; i++)
Здесь – текущее значение индекса элемента массива.
В С++ операции совершаются только над элементами массива.
При большом количестве вводимых или выводимых данных удобно их располагать во внешних файлах (в этой работе предписывается их использование). В случае применения внешних файлов следует предусмотреть соответствующую директиву препроцессору для подсоединения заголовочного файла <fstream.h>. В данной работе следует применять файлы исходных данных и результатов вычисления текстового типа.
Файл исходных данных формируется по такой же технологии, что и файл, содержащий текст программы. В данной работе он должен состоять из 13 чисел. Числа необходимо располагать, начиная с первой позиции, отделяя друг от друга пробелом. Как и любые другие файлы, этот файл должен иметь свое имя и расширение *.txt. Например, id.txt (имя можно понимать как сокращение от словосочетания "исходные данные"). Назначение каждого файла должно быть строго определено. Файл может быть использован либо только для чтения (ввод из файла), либо только для записи (вывод в файл) данных. Использование файла одновременно в двух качествах невозможно. В настоящей работе должно быть предусмотрено два внешних файла: один (с исходными данными) – для ввода, другой – для вывода данных.
При написании оператора вызова функции для открытия файла с целью ввода данных следует предусмотреть спецификацию nocreate (не создавать пустой файл, если не найден файл, с указанным именем):
fr.open(“id.txt”, ios::in || ios::nocreate);
Здесь fr – имя предварительно описанной файловой переменной.
Не следует забывать, что после завершения работы с файлом его необходимо закрывать, например:
fr.close( );
При выводе данные следует форматировать в соответствии с требованиями задания, используя манипуляторы языка С++.
