Пример выполнения лабораторной работы
Работа со структурированными данными
Работа с неструктурированными данными
Для исследования различных методов доступа к файлам данных необходимо выполнить следующие подготовительные действия:
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 соответственно. Все функции, принимающие или возвращающие угол, работают с радианами.