Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
method_1_ru.doc
Скачиваний:
19
Добавлен:
10.11.2019
Размер:
3 Мб
Скачать
☆

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( );

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

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