Хелпикс

Главная

Контакты

Случайная статья





1 ПОСТАНОВКА ЗАДАЧИ



 

ГОУ ВПО «ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

 

«Электропривод и автоматизация промышленных установок»

(полное название кафедры)

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

по дисциплине “Современные пакеты прикладных программ”

на тему “Файловый ввод и вывод в языке С/С++

Вариант № 19

 

 

Студента 2-го курса группы ЭАПУ

направление подготовки 13. 03. 02

профиль Электропривод и автоматика

Жука О. Е.

 

Руководитель: старший преподаватель

Мариничев В. Ю.

(должность, уч. звание, науч. степень, Ф. И. О)

 

Защищена с оценкой:

Национальная шкала _______________

Количество баллов ________ ECTS __

 

Члены комиссии __________ ________

                          __________ ________

                             (подпись)       (Ф. И. О)

 

Донецк – 2021

ГОУ ВПО «ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

 

Кафедра: ЭАПУ

Дисциплина: Современные пакеты прикладных программ

Профиль: Электропривод и автоматика

Курс: 2-й Группа: ЭАПУ Семестр: 1-й

 

ЗАДАНИЕ

на курсовую работу студента

Жука О. Е.

(Ф. И. О. студента)

1. Тема: Файловый ввод и вывод в языке С/С++

2. Cрок сдачи студентом законченной работы: ______________________________

3. Исходные данные к работе: ____________________________________________ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

4. Содержание расчетно-пояснительной записки (перечень вопросов, которые подлежат разработке): __________________________________________________

____________________________________________________________________________________________________________________________________________

______________________________________________________________________

5. Перечень графического материала (с точным обозначением обязательных чертежей): ____________________________________________________________

____________________________________________________________________________________________________________________________________________

6. Дата выдачи задания: _________________________________________________


 

РЕФЕРАТ

 

Пояснительная записка к курсовой работе:

39 стр., 21 рис., 1 табл., 6 источников, 3 приложения

 

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

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

 

 

ФУНКЦИЯ, ТЕКСТОВЫЙ ФАЙЛ, МАССИВЫ, ГРАФИК, БЛОК-СХЕМА АЛГОРИТМА, ПРОГРАММА С


 

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ. 5

1 ПОСТАНОВКА ЗАДАЧИ.. 6

2 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 8

3 РАЗРАБОТКА АЛГОРИТМОВ.. 10

4 РЕЗУЛЬТАТЫ РАБОТЫ.. 15

ЗАКЛЮЧЕНИЕ. 19

СПИСОК ЛИТЕРАТУРЫ.. 20

ПРИЛОЖЕНИЕ А Перечень замечаний нормоконтролера. 21

ПРИЛОЖЕНИЕ Б Листинг программы.. 22

ПРИЛОЖЕНИЕ В Блок-схемы алгоритмов. 34

 


 

ВВЕДЕНИЕ

 

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

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


 

1 ПОСТАНОВКА ЗАДАЧИ

 

1. Для заданных в таблице 1. 1 функций рассчитать значения на интервале  с шагом . Изменение аргумента и результаты расчета записать в текстовый файл tablica. txt и сделать вывод этих результатов на экран консоли. Границы интервала и шаг изменения аргумента ввести с клавиатуры. Запись в файл оформить в виде процедуры.

 

Таблица 1. 1 – Исходные данные

 

Вариант

Функции

Границы отрезка

Шаг табулирования

     
[-3. 7; 8. 5] 0. 11

 

2. Произвести чтение данных из файла tablica. txt и построить графики функций , ,  в одних координатных осях. Чтение данных из файла и построение координатных осей оформить в виде процедуры.

3. Из файла tablica. txt считать значения функции , записав их в одномерный массив . Отсортировать значения массива  по возрастанию и построить графики исходной функции и отсортированной в одних координатных осях. Кроме того для массива  найти среднее арифметическое элементов массива, а также максимальный и минимальный элемент. Значения функции , отсортированный массив , среднее арифметическое элементов массива, а также максимальный и минимальный элемент записать в текстовый файл function_1. txt. Сортировку по возрастанию, нахождение среднего арифметического и максимального и минимального элемента оформить в виде процедур и функций.

4. Из файла tablica. txt считать значения функции , записав их в одномерный массив . Выполнить те же операции, заменив сортировку по возрастанию на сортировку по убыванию элементов массива. Результаты записать в текстовый файл function_2. txt.

5. Из файла tablica. txt считать значения функции , записав их в одномерный массив . Выполнить те же операции, заменив сортировку элементов массива на перестановку наоборот (инверсию). Результаты записать в текстовый файл function_3. txt.

6. Считать одномерные массивы из файлов: function_1. txt, function_2. txt, function_3. txt, а также значения аргумента  из файла tablica. txt и сформировать матрицу , следующего вида:

 

 

Полученную матрицу записать в текстовый файл matrica. txt.


 

2 ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

 

2. 1 Файлы

Файл – это именованный объект, хранящий данные на каком-либо носителе. Для работы с файлом используется специальная переменная, которая называется указателемна файл. Это адрес блока данных в памяти, в котором хранится вся информация об открытом файле. Объявляется указатель на файл так:

 

FILE *fp;

 

2. 2 Процедуры и функции

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

 

void имя процедуры (список параметров процедуры)

{

тело процедуры

}

 

Параметры – это дополнительные данные для работы процедуры. Параметры иногда называют аргументами процедуры. Для каждого параметра отдельно указывается его тип (int, float, char).

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

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

Функция описывается следующим образом:

 

тип возвращаемого значения имя функции (список параметров функции)

{

тело функции

}

 

2. 3 Работа в графическом режиме

Для использования графических функций надо подключить заголовочный файл graphics. h. Для того чтобы открыть графическое окно, в котором можно строить графики необходимо использовать функцию initwindow. Эта функция открывает дополнительное окно, в котором можно рисовать. В скобках нужно указать ширину и высоту этого окна в пикселях. Для закрытия графического окна используется функция closegraph.

Для построения отрезков сначала необходимо перевести указатель текущего положения в точку (x1, y1) командой moveto, а затем нарисовать отрезок в точку (x2, y2) командой lineto. После выполнения команды lineto курсор смещается в новую точку (x2, y2):

 

moveto (x1, y1); // курсор в точку (x1, y1)

lineto (x2, y2); // отрезок в точку (x2, y2)

 

Функция outtextxy позволяет выводить текст в любом месте окна. Ей нужно задать координаты (x, y) левого верхнего угла текста. Цвет текста устанавливается с помощью функции setcolor

 

setcolor ( 9 );

outtextxy ( x, y, " f(x)" );


 

3 РАЗРАБОТКА АЛГОРИТМОВ

 

Блок-схема алгоритма главной функции основной программы (рис. В. 1) состоит из следующих блоков:

3 – Задание переменных аргумента  и функций

6 - 8 – Вычисление значений функций.

9 – Вывод аргументов и значений функций на экран.

11 – Вызов процедуры вывода аргументов и значений функций в файл.

12 – Задание массивов переменных аргументов [k] и значений функций

14 и 18 – Проверка на считывание значений из файла.

21 – Вывод массивов аргументов и значений функций на экран.

23 – Задание переменных  для отсортированных массивов.

24 - 26 – Вызов процедур сортировки массивов.

27 - 28 – Вывод отсортированных массивов функций на экран.

29 – Задание переменных  для среднего арифметического.

30 - 32 – Вызов функций вычисления среднего арифметического.

33 – Вывод среднего арифметического на экран.

34 – Задание переменных  для максимальных элементов.

35 - 37 – Вызов функций нахождения максимальных элементов.

38 – Вывод максимальных элементов на экран.

39 – Задание переменных  для минимальных элементов.

40 - 42 – Вызов функций нахождения минимальных элементов.

43 – Вывод минимальных элементов на экран.

44 - 46 – Вызов процедур для записи в файл найденных величин функций.

47 – Вызов процедуры для вывода массивов аргументов и значений функций в виде матрицы в файл.

48 - 49 – Вывод массивов аргументов и значений функций в виде матрицы на экран.

 

Блок-схема алгоритма процедуры Tablica (рис. В. 2) состоит из следующих блоков:

2 – Открытие файла tablica. txt.

4 - 6 – Вычисление значений функций.

7 – Вывод аргументов и значений функций в файл.

8 – Закрытие файла tablica. txt.

 

Блок-схема алгоритма процедуры SortF1 (рис. В. 3) состоит из следующих блоков:

2 - 5 – Сортировка массива  по возрастанию «вставками».

 

Блок-схема алгоритма процедуры SortF2 (рис. В. 4) состоит из следующих блоков:

2 - 5 – Сортировка массива  по убыванию «вставками».

 

Блок-схема алгоритма процедуры SortF3 (рис. В. 5) состоит из следующих блоков:

2 - 3 – Инверсия массива .

 

Блок-схема алгоритма функции ArithmeticF1 (рис. В. 6) состоит из следующих блоков:

4 - 5 – Нахождение суммы  элементов элементов массива.

6 – Вычисление среднего арифметического

7 – Возвращение значения среднего арифметического.

 

Блок-схема алгоритма функции MaximumF1 (рис. В. 7) состоит из следующих блоков:

3 - 5 – Нахождение максимального элемента массива

6 – Возвращение значения максимального элемента.

 

Блок-схема алгоритма функции MinimumF1 (рис. В. 8) состоит из следующих блоков:

3 - 5 – Нахождение минимального элемента массива

6 – Возвращение значения минимального элемента.

 

Блок-схема алгоритма процедуры Function1 (рис. В. 9) состоит из следующих блоков:

2 – Открытие файла function_1. txt.

3 - 4 – Вывод массивов  в файл.

5 – Вывод в файл.

6 – Закрытие файла function_1. txt.

 

Блок-схема алгоритма процедуры Matrica (рис. В. 10) состоит из следующих блоков:

2 – Открытие файла tablica. txt.

3 - 4 – Ввод массива аргументов  из файла.

5 – Закрытие файла tablica. txt.

6 – Открытие файла function_1. txt.

7 - 8 – Ввод массива функции  из файла.

9 – Закрытие файла function_1. txt.

10 – Открытие файла function_2. txt.

11 - 12 – Ввод массива функции  из файла.

13 – Закрытие файла function_2. txt.

14 – Открытие файла function_3. txt.

15 - 16 – Ввод массива функции  из файла.

17 – Закрытие файла function_3. txt.

18 – Открытие файла matrica. txt.

19 - 20 – Вывод массивов аргументов  и функций  в файл.

22 – Закрытие файла matrica. txt.

 

Блок-схема алгоритма главной функции графической программы (рис. В. 11) состоит из следующих блоков:

2 – Задание массивов переменных аргументов ,  функций  и сортированных массивов .

3 – Создание окна разрешением 800  600.

4 – Вызов процедуры Axes.

5 – Вызов процедуры GraphicFunctions.

6 – Создание окна разрешением 800  600.

7 – Вызов процедуры Axes.

8 – Вызов процедуры GraphicF1.

9 – Создание окна разрешением 800  600.

10 – Вызов процедуры Axes.

11 – Вызов процедуры GraphicF2.

12 – Создание окна разрешением 800  600.

13 – Вызов процедуры Axes.

14 – Вызов процедуры GraphicF3.

 

Блок-схема алгоритма функции ScreenX (рис. В. 12) состоит из следующих блоков:

2 – Преобразование в экранные координаты по оси

 

Блок-схема алгоритма функции ScreenY (рис. В. 13) состоит из следующих блоков:

2 – Преобразование в экранные координаты по оси

 

Блок-схема алгоритма процедуры Axes (рис. В. 14) состоит из следующих блоков:

2 – Задание переменных  для построения делений и  для вывода надписей на графике.

3 – Построение координатных осей.

4 - 11 – Построение точек и делений на координатной осях, вывод надписей.

 

Блок-схема алгоритма процедуры GraphicFunctions (рис. В. 15) состоит из следующих блоков:

2 – Открытие файла tablica. txt.

3 - 5 – Ввод массивов аргументов  и функций  из файла.

7 - 9 – Построение графика функции

11 - 13 – Построение графика функции

15 - 17 – Построение графика функции

19 – Закрытие файла tablica. txt.

 

Блок-схема алгоритма процедуры GraphicF1 (рис. В. 16) состоит из следующих блоков:

2 – Открытие файла function. txt.

3 - 5 – Ввод массивов начальной функции  и сортированной функции  из файла.

7 - 9 – Построение графика функции

11 - 13 – Построение графика функции

14 – Закрытие файла function. txt.


 

4 РЕЗУЛЬТАТЫ РАБОТЫ

 

 

Рисунок 4. 1 – График функций

 

Рисунок 4. 2 – График функций

 

Рисунок 4. 3 – График функций

 

Рисунок 4. 4 – График функций


 

Рисунок 4. 5 – Матрица результатов


 

ЗАКЛЮЧЕНИЕ

 

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

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

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


 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.