Пример готовой курсовой работы по предмету: Информатика
Содержание
Содержание
Постановка задачи и описание рабочего набора исходных данных 3
Таблица идентификаторов 5
Таблица описания пользовательских подпрограмм 6
Текст программы 11
Контрольный расчет14
Список использованной литературы 17
Постановка задачи и описание рабочего набора исходных данных
Настоящая курсовая работа посвящена решению задачи машинного анализа электрических цепей.
В курсовой работе необходимо для заданной электрической цепи по известному входному сигналу Uвх(t) построить выходной сигнал Uвых(t), а затем определить некоторые его характеристики W.
Входной сигнал задается в виде графика (А=00) рис. 1.
Рис.
1. График входного сигнала Uвх(t)
Рабочий набор исходных данных имеет вид: tнач = 0,5 с, tкон = 5 с, tm = 2,5 c, Um = 20,5 B. Для определения входной зависимости необходимо вручную составить аналитическое выражение, соответствующее графику Uвх(t).
Далее решение этой задачи представляет собой линейный вычислительный процесс.
Из графика (рис.
1. видно, что Uвх(t) имеет два линейных участка. Поэтому аналитическая запись Uвх(t) будет иметь вид
Для определения величин a 1, b 1 можно составить систему из двух уравнений для двух значений аргумента t:
Решая эти уравнения, можно получить для начального участка графика:
Составив аналогичную систему уравнений для второго участка графика, можно найти:
Подставляя значения соответствующее исходному графику, в выражение для Uвх(t):
В результате такого перехода окончательный результат имеет вид:
где
При решении задачи необходимо организовать арифметический цикл. В этом цикле для каждого элемента массива входного сигнала Uвх(I) вычисляется значение соответствующего ему элемента массива выходного сигнала Uвх(I).
Задание передаточной характеристики в виде аналитического выражения Uвых = f (Uвх) (Б=05): , а=1,5.
В качестве характеристики выходного сигнала необходимо определить разность между максимальным и минимальным значениями сигнала (В=02): .
Вычисления величин Uвх(t) и Uвых(t) нужно выполнить для N-равноотстоящих моментов времени t, где t [tнач, tкон].
Организовать массивы для хранения Uвх(t) и Uвых(t).
Произвести вычисление характеристики W выходного сигнала согласно заданию. Массивы входных и выходных отсчетов записать в текстовые файлы с расширением prn. Содержимое этих файлов использовать для построения графиков в интегрированной математической системе MathCAD.
Таблица идентификаторов
Обозначение
в задачеИдентификаторНазначение
Глобальные идентификаторы
nТекущее значение количества отсчетов входного сигнала
Uвх(t)uinМассив для хранения отсчетов входного сигнала
Uвых(t)uoutМассив для хранения отсчетов выходного сигнала
tначtnНачальный момент наблюдения входного сигнала
tконtkКонечный момент наблюдения входного сигнала
tmtmМомент времени, разделяющий 2 ветви входного сигнала и соответствующий максимальному значению входного сигнала
UmUmМаксимальное значение входного сигнала
Локальные идентификаторы
aaКоэффициент, определяющий зависимость выходного сигнала от входного
ttТекущий момент времени
delВременной интервал между двумя соседними отсчетами входного сигнала
iСчетчик цикла
maxiПеременная для хранения максимального значения выходного сигнала
miniПеременная для хранения минимального значения выходного сигнала
f 1, f
2 Логические имена файлов
Таблица описания пользовательских подпрограмм
ПодпрограммаВходные и выходные параметрыНазначение
procedure InputData
(var n: integer; var tn, tk, tm, Um, a: real);Все формальные параметры процедуры являются выходными (var параметры)Позволяет ввести с клавиатуры необходимые для решения задачи исходные данные и передать эти данные в другие подпрограммы
procedure CalcUInput
(n: integer; tn, tk, tm, Um: real; var uin:Arraytype);n, tn, tk, tm, Um входные параметры. Используются процедурой при формировании массива входных отсчетов сигнала. uin выходной var параметр хранит значения отсчетов входного сигналаПроцедура формирует массив отсчетов входного сигнала, который в дальнейшем может быть использован в других подпрограммах
procedure CalcUOut
n integer; a: real; uin: Arraytype; var uout: Arraytype);n, a, uin входные параметры процедуры, используемые при формировании массива выходных отсчетов сигнала. uout выходной var параметр, хранит значения отсчетов выходного сигналаПроцедура формирует массив отсчетов выходного сигнала, который в дальнейшем может быть использован другими подпрограммами
function Max(n: integer; uout: Arraytype): real;n и uout входные параметры значения, с их помощью функция рассчитывает свое единственное значение максимальное значение выходного сигналаФункция находит максимальное значение выходного сигнала и возвращает его в точку вызова
function Min(n: integer; uout: Arraytype): real;n и uout входные параметры значения, с их помощью функция рассчитывает свое единственное значение минимальное значение выходного сигналаФункция находит минимальное значение выходного сигнала и возвращает его в точку вызова
procedure SaveInFiles
(n: integer; uin, uout: Arraytype);n, uin, uout входные параметры, которые процедура использует для проведения операции записи массивов входных и выходных сигналов в файлы на дискПроцедура записывает отсчеты входного и выходного сигналов в нужном формате в файлы f 1.prn и f 2.prn соответственно
procedure ShowResult
(n integer; uin, uout: Arraytype);n, uin, uout входные параметры, используемые процедурой для вывода результатов на экран монитораВыводит результат работы программы на экран монитора
Предложенная для решения задача разбита на четыре основные части (подзадачи).
Каждая из этих частей реализована в виде подпрограммы (процедуры или функции).
Ввод исходных данных, необходимых для решения задачи, выделен также в самостоятельную процедуру под именем InputData. В программе предусмотрен вывод результатов решения задачи на экран монитора с использованием процедуры ShowResult.
Все подпрограммы разработаны в соответствии с принципом максимальной изоляции данных, что позволяет сделать подпрограммы в некотором смысле универсальными, а также повысить их надежность за счет устранения их влияния друг на друга.
Процедура CalcUIn
С помощью процедуры CalcUIn можно сформировать массив входных отсчетов в заданных пользователем равноотстоящих точках диапазона наблюдения выходного сигнала.
Имя процедуры — CalcUIn задано в заголовке процедуры. В круглых скобках перечислен список формальных параметров. Пять из них являются параметрами значениями, один параметр переменная, о чем свидетельствует стоящее перед ним зарезервированное слово var. Использование var-параметра в данном случае необходимо, так как в результате работы процедуры будет сформирован массив отсчетов входного сигнала, который в дальнейшем необходимо будет передать в процедуру формирования массива выходных отсчетов. Поэтому после выхода из процедуры CalcUIn массив отсчетов входного сигнала должен быть сохранен, ибо без него невозможна дальнейшая работа других подпрограмм.
Выдержка из текста
1.Бородич Ю.С., Вальвачев А.Н., Кузьмин А.И. Паскаль для персональных компьютеров Минск: Высшая школа, 1991.
2.Бузюков Л.Б., Дубков Е.В. Интегрированная программная система Math CAD в задачах связи. СПб: СПбГУТ, 1996.
3.Губанова Т.В., Дубкова Е.В. Методические указания к контрольным работам по курсу «Информатика» — СПб: СПбГУТ, 1997.
4.Дьяконов В.П. Справочник по MathCAD PLUS 6.0 PRO. — М.: СК Пресс, 1997. — 336 с.: ил.
5.Епанешников А.М, Епанешников В. А., «Программирование в среде Turbo Pascal 7.0» «Диалог-МИФИ», 1993 год.
6.Калинин А.Г., Мацкевич И.В. Универсальные языки программирования. Семантический подход.- М.: Радио и связь, 1991.
7.Кирьянов Д.В. Самоучитель MathCAD 2001.-СПб.: БХВ- Петербург.2002.-544с.
8.Кнут Д. Искусство программирования для ЭВМ. Том 1: Основные алгоритмы.- М.: Мир, 1976.- 736 с. (3-е изд.: Уч.пос.-М.:Издательский дом «Вильямс», 2000.- 720 с.)
9.Кудрявцев Е.М. MathCAD 2000 Pro. М.: ДМК Пресс, 2001. 576 с.:ил.
10.Поляков Д.Б., Круглов Н.Ю. Программирование в среде Турбо Паскаль /МАИ.-М., 1992.
11.Хусаинов Б.С. Структуры и алгоритмы обработки данных. Примеры на языке Си. М.: Финансы и статистика, 2004 год.
12.Mathcad 6.0 Plus. Финансовые, инженерные и научные расчеты в среде Windows 95./Перевод с англ. — М.: Информационно-издательский дом Филинъ, 1996. -712 с.
Список использованной литературы
Процедура CalcUOut
Список формальных параметров процедуры CalcUOut содержит входные параметры значения n, а, uin, необходимые для расчета и формирования массива выходных отсчетов. По сути, эти параметры являются локальными и не сохраняют свои значения после выхода из процедуры; uout является выходным var-параметром, следовательно, этот параметр сохранит все свои значения и после выхода из процедуры и может быть использован как главной программой, так и другими процедурами.
Связь подпрограмм с «внешним миром» осуществляется только с помощью var-параметров (или глобальных параметров).
Результат работы процедуры CalcUOut сформированный массив отсчетов выходного сигнала.
Функция Max
Имя функции Max. Результат работы функции единственное значение, представляющее максимальное значение выходного сигнала. Этот результат передается в точку вызова функции из основной программы с помощью имени самой функции Max, поэтому в заголовке функции, задан тип этого результата (в данном случае Max:real).
Список формальных параметров состоит из входных параметров n и uout. Эти параметры заданы как параметры-значения (отсутствует служебное слово var).
После выхода из функции понадобиться только одно единственное значение максимальное значение выходного сигнала, поэтому последним оператором внутри функции стоит оператор присваивания, с помощью которого вычисленное значение максимума выходного сигнала присваивается переменной с именем функции maxi, значение которого и будет передано затем в точку вызова функции.
Функция Min
Имя функции Min. Результат работы функции единственное значение, представляющее минимальное значение выходного сигнала. Этот результат передается в точку вызова функции из основной программы с помощью имени самой функции Min, поэтому в заголовке функции, задан тип этого результата (в данном случае Min:real).
Список формальных параметров состоит из входных параметров n и uout. Эти параметры заданы как параметры-значения (отсутствует служебное слово var).
После выхода из функции понадобиться только одно единственное значение максимальное значение выходного сигнала, поэтому последним оператором внутри функции стоит оператор присваивания, с помощью которого вычисленное значение минимума выходного сигнала присваивается переменной с именем функции mini, значение которого и будет передано затем в точку вызова функции.
Процедура SaveInFiles
Имя процедуры SaveInFiles.
Список формальных параметров-значений состоит из входных параметров n, uin, uout.
В разделе локальных переменных введены описания двух файлов переменных f 1 и f 2 типа text. В разделе операторов этим файловым переменным f 1 и f 2 ставятся в соответствие физические файлы на диске с именами «f 1.prn» и «f 2.prn» соответственно. Это выполняется с помощью специальной процедуры assign. Имена файлов могут быть любыми, но они должны иметь расширение prn, так как в дальнейшем предполагается использование математической системы MathCD, которая для записи и чтения векторов и матриц использует файлы именно с этим расширением.
После окончания записи в файлы их необходимо закрыть с помощью процедуры close.
Процедура ShowResult
Список формальных параметров процедуры состоит из входных параметров-значений n, uin, uout. Процедура выводит результат работы программы на экран монитора сформированные ранее массивы значений входного и выходного напряжений, а также максимальное значение выходного сигнала.
Текст программы
program kurs;
{Программа расчета характеристик выходного сигнала электрической цепи}
uses Crt; {подключение модуля Crt}
const
maxind=500;
type
ArrayType=array [1..maxind]
of real;{описание глобальных параметров}
{————————————————————————————————————}
{Процедура ввода исходной информации}
procedure InputData (var n : integer;
var tn, tk, tm, Um, a : real);
begin
writeln (‘Введите нужное количество отсчетов сигнала’);
write (‘n=’);
readln (n);
writeln (‘Введите исходные данные:’);
write (‘Начальный момент наблюдения входного сигнала tn=’);
readln (tn);
write (‘Конечный момент времени наблюдения входного сигнала tk=’);
readln (tk);
write (‘Момент времени, разделяющий 2 ветви tm=’);
readln ™;
write (‘начение напряжения в этот момент времени Um=’);
readln (Um);
write (‘Значение константы a=’);
readln (a);
end;{of procedure InputData}
{————————————————————————————————————————}
{Описание процедуры формирования массива входных отсчетов}
procedure CalcUInput(n : integer;
tn, tk, tm, Um : real;
var uin : Arraytype); {список формальных параметров}
var
t, a, b, del: real;
i: integer;
begin
t:=tn;
del:=(tk-tn)/(n-1);
a:=Um/(tm-tn);
b:=Um/(tk-tm);
for i:=1 to n do
begin
if t>tm then uin[i]:=b*(tk-t)
else uin[i]:=a*(t-tn);
t:=t+del;
end;
end;{of procedure CalcUInput}
{———————————————————————————————————————-}
{Описание процедуры формирования массва выходных отсчетов}
procedure CalcUOut(n : integer;
a : real;
uin : Arraytype;
var uout : Arraytype);
var{описание локальных переменных}
i: integer;