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

Санкт-Петербургский государственный университет телекоммуникаций им. Проф. Бонч-Бруевича

Курсовая работа по дисциплине

«Программирование на языке высокого уровня»

На тему «Анализ сигнала на выходе электрической цепи»

Вариант 6

Выполнила: Житникова Екатерина

Группа СП-12

Санкт-Петербург

2012

Оглавление

Оглавление 1

1. Введение 2

Постановка задачи 3

2.1 Условия 3

2.2 Анализ графиков 4

3. Разработка алгоритма на языке Си 5

3.1 Проектирование 5

Реализация программы 6

3.3.1 main.c 6

3.3.2 library.c 7

3.3.3 Таблица констант 9

3.3.4 Таблица идентификаторов 9

4.1 Тест 1 10

5. Заключение 14

7. Приложение 14

7.1 Код С 14

7.11 main.c 14

7.12 library.c 18

7.13 include.h 23

1. Введение

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

В данной работе необходимо:

  1. Проанализировав данную задачу, найти наиболее рациональный путь её реализации;

  2. Составить алгоритм решения;

  3. Реализовать задачу на языке С;

  4. Проверить работоспособность программы;

Постановка задачи

В данной работе требуется написать программу, с помощью которой можно выполнять следующие операции:

  1. Вычисление значений входного и выходного сигналов в n-равностоящих точках;

  2. Вычисление и вывод на экран длительности заднего фронта выходного сигнала;

  3. Вывод на экран таблицы со значениями входного и выходного сигналов;

  4. Запись этих данных на диск;

  5. Запись данных на диск, в виде пригодном для чтения программой wxMaxima;

2.1 Условия

Имеется электрическая цепь:

Входной сигнал:

Передаточная характеристика:

Верхняя граница входного сигнала U1 = 100 В

Нижняя граница входного сигнала U2 = 0

Начальное время tn = -5 с

Конечное время tk = 15 c

Отсчет времени t1 = 2 с

Отсчет сигнала 1 0 В

Отсчет сигнала 2 10 В

Верхняя граница выходного сигнала 0 В

Нижняя граница выходного сигнала 50 В

2.2 Анализ графиков

Входной сигнал:

Верхняя граница входного сигнала – U1

Нижняя граница входного сигнала – U2

Формулы выведены на основании уравнения прямой через две точки

Передаточная характеристика:

Верхняя граница выходного сигнала – U3

Нижняя граница выходного сигнала – U4

Формулы выведены на основании уравнения прямой через две точки

3. Разработка алгоритма на языке Си

3.1 Проектирование

Программа должна быть:

  1. Удобной для пользователя;

  2. Логичной и последовательной;

  3. Легко читаемой;

  4. Иметь возможность для модернизации;

В ходе проектирования мною было рассмотрено несколько вариантов решения данной задачи:

  1. Использовать в проекте один файл, который будет содержать функцию main(), прототипы и реализацию вспомогательных функций, а также необходимы константы. Такой вариант не требует от пользователя обращения к другим файлам проекта. Но этот вариант увеличивает объем кода в одном файле, что мешает поиску нужного фрагмента кода, и соответственно затрудняет модернизацию;

  2. Использовать в проекте 2 файла: в первом main(), во втором – функции реализации и константы. Такой вариант затрудняет читаемость функции main(), но облегчает модернизацию программы;

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

  4. Четвертый вариант состоит в том, что функции реализации объединяются в группы по их назначению. В таком случае проект будет иметь следующие файлы: main.c – с функцией main(), fileIO.c – файл, содержащий функции файлового ввода-вывода, interface.c – файл, содержащий меню, arrays.c – файл, содержащий функции для работы с массивами. Заголовочный файл содержит прототипы функций и константы. Этот способ заметно облегчает модернизацию программы. Однако теперь становится сложнее найти ту или иную функцию в проекте.

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

Далее необходимо рассмотреть вид результатов. Рассмотрим два варианта:

  1. Вывод чисел, полученных в результате вычислений

  2. Вывод всех данных в виде таблицы с заголовком

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

Но, тем не менее, первый вариант мы не будем отбрасывать: его мы будем использовать при формировании файлов для чтения в wxMaxima.

Важной частью программы является меню, которое было разработано для удобства пользователя. После запуска программы пользователю будут предложено:

  1. Сформировать и вывести массивы с начальными параметрами, заданными в курсовой работе

  2. Сформировать и вывести массивы с параметрами, описанными в файле

  3. Сформировать и вывести массивы с параметрами, вводимыми с клавиатуры пользователем

  4. Рассчитать заднего фронта выходного сигнала

  5. Сохранить результаты (таблицы) в .txt файл

  6. Сохранить файлы для чтения программой wxMaxima

  7. Показать информацию о программе

  1. Выйти из программы

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