Пример выполнения лабораторной работы

Работа со структурированными данными

Работа с неструктурированными данными

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

1) Создать в Блокноте следующий текстовый файл:

У меня спросили: сколько будет x Опер y ?

А я не знаю! А n Опер k ? Тоже!

Помогите!

Например:

У меня спросили: сколько будет 7 * 2 ?

А я не знаю! А 9 / 4 ? Тоже!

Помогите!

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

x Опер y = Рез1

n Опер k = Рез2

Например:

7 * 2 = 14

9 / 4 = 2.25

3) Исходные данные берутся из таблицы согласно варианта:

Вар. x Опер y n Опер k Вар. x Опер y n Опер k
+ * + *
- / - /
* - * -
/ + / +
+ / + /
- * - *
* + * +
/ - / -

 

4) Исследовать возможность решения этой задачи с использованием трех способов:

· функциями последовательного доступа к файлам;

· функциями прямого доступа к файлам;

· файловыми потоками С++;

5) Сделать выводы о целесообразности использования того или иного метода считывания или записи данных в файл;

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

2) Исследовать возможность решения этой задачи с использованием трех способов:

· функциями последовательного доступа к файлам;

· функциями прямого доступа к файлам;

· файловыми потоками С++;

3) Сделать выводы о целесообразности использования того или иного метода считывания или записи данных в файл;


Задание I.Используя

Литература

1. Википедия http://ru.wikipedia.org/wiki

2. Павловская Т.А. С/С++. Программирование на языке высокого уровня: Учебник для вузов. - СПб: Питер, 2004.

3. Учебник по C++. Текстовая версия. – myref.ru/preview/74701.html‎

4. 1. Кормен Т., Лейзерсон Ч., Ривест Р.Алгоритмы: построение и анализ. – М.: МЦНМО, 2000.

5. 2. Макоха А.Н Компьютерные науки. Введение в язык программирования Турбо Паскаль: В 3 ч. Ч. I.: Учебное пособие. – Ставрополь: Изд-во СГУ, 1997.

6. 3. Макоха А.Н Компьютерные науки. Введение в язык программирования Турбо Паскаль: В 3 ч. Ч. II.: Учебное пособие. – Ставрополь: Изд-во СГУ, 1997.

7. 4. Макоха А.Н Компьютерные науки. Введение в язык программирования Турбо Паскаль: В 3 ч. Ч. III.: Учебное пособие. – Ставрополь: Изд-во СГУ, 2001.

8. 5. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. - СПб: Питер, 2003.

9. 6. Программирование на языке Паскаль: задачник / под ред. Ускоровой О.Ф. – СПб.: Питер, 2003.

10. 7. Учебный практикум по программированию и информатике. / под ред. Ходжаева Г.А. – Ставрополь, 1993.

11. 8. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. / Уч. Пособие - Нолидж. 2002.

12. 9. Turbo Pascal. Практикум 2-е издание / С.А. Немнюгин. – СПб: Питер, 2003.

1 – новая нумерация

1. – старая


Приложение 1
Порядок выполнения лабораторных работ

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

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

3. Реализовать программу на ЭВМ.

4. Для защиты лабораторной работы знать ответы на контрольные вопросы и предоставить письменный отчёт, содержащий:

а) название лабораторной работы;

б) номер варианта;

в) решение каждой задачи, включающее в себя:

- условие задачи;

- математическую модель;

- алгоритм;

- листинг программы с отметкой преподавателя о её выполнении;

- исходный набор данных и соответствующий ему результат.


Приложение 2
Базовые функции

Функция Описание Пример
abs( x ) возвращает модуль или абсолютное значение от x abs(-3.0) = 3.0 abs(5.0) = 5.0
fabs(x) абсолютная величина (числа с плавающей точкой)  
sqrt(x) корень квадратный из целого x,причём xне отрицательно sqrt(9) = 3
sqrtf(x) корень квадратный из дробного x,причём xне отрицательно sqrt(9.0) = 3.0
pow(a, b) возведение ав степень b pow(2,3) = 8
ceil( x ) округление x до наименьшего целого, но не меньше чем x ceil(2.3) = 3.0 ceil(-2.3) = -2.0
floor(x) округление x до ближайшего меньшего целого числа floor(12.4) = 12 floor(-2.9) = -3
fmod(a, b) вычисление остатка от деления нацело для чисел с плавающей точкой (a/b) fmod(4.4, 7.5) = 4.4 fmod( 7.5, 4.4) = 3.1
modf(x,p) извлекает целую и дробную части (с учетом знака) из числа с плавающей точкой  
exp(a) вычисление экспоненты еа exp(0)=1
frexp(x) разбивает число x с плавающей точкой на мантиссу и показатель степени.  
ldexp(x) умножение числа с плавающей точкой на целую степень двух  
acos(x) арккосинус x  
asin(x) арксинус x, где -1.0 < x < 1.0 asin(1)=1.5708
atan(x) арктангенс x  
atan2(a, b) арктангенс с двумя параметрами  
cos(x) косинус x(x задаётся в радианах)  
sin(x) синус x(x задаётся в радианах)  
sinh(x) гиперболический синус x  
tan(x) тангенс x  
tanh(x) гиперболический тангенс x  
log(x) натуральный логарифм x(основанием является экспонента) log(1.0)=0.0
log10(x) десятичный логарифм x Log10(10)=1

 

В таблице показаны основные математические функций, прототипы которых содержатся в заголовочном файле <math.h>.

math.h — заголовочный файл стандартной библиотеки языка программирования С, разработанный для выполнения простых математических операций. Большинство функций привлекают использование чисел с плавающей точкой. C++ также реализует данные функции для обеспечения совместимости, все они содержатся в заголовочном файле cmath.

Все эти функции принимают double, если не определено иначе. Для работы с типами float и long double используются функции с постфиксами f и l соответственно. Все функции, принимающие или возвращающие угол, работают с радианами.