Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mmip(руководство) / ММиП_РукСамРаб.doc
Скачиваний:
30
Добавлен:
11.05.2015
Размер:
1.02 Mб
Скачать

3. Программа работы

  1. Используя одностобцовые матрицы из предыдущей работы, решите уравнение (1) и найдите комплексные узловые потенциалы.

  2. Из полученного вектора потенциалов возьмите тот потенциал, который соответствует выходу вашей схемы. Найдите модуль - Am и фазу -  выходного узлового потенциала.

  3. Постройте графики амплитуды и фазы выходного сигнала (при единичном входном), используйте логарифмические оси по частоте и по амплитуде. Такие графики называются «Амплитудно-частотная характеристика» (АЧХ) и Фазо-частотная характеристика (ФЧХ) схемы соответственно. Выведите амплитуду в децибелах – y=20*lg(x), здесь x –входной сигнал, y-значение в децибелах.

  4. Соберите и сохраните схему из предыдущей работы в программе ASIMEC, постройте с ее помощью амплитудную и частотные характеристики, используя плоттер Боде. Для демонстрации его работы запустите c6_tac.cir из каталога DEMO программы.

  5. Добейтесь совпадения полученных с помощью MatCad и ASIMEC характеристик.

Лабораторная работа № 7 Знакомство со средой программирования Microsoft

VisualStudio и особенности работы консольных приложений на языке С++ в ней.

1 Введение

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

Консольное приложение – это приложение, запускаемое в отдельном окне с возможность ввода и вывода только текстовой информации. В таком приложении вывод графической информации, а так же управление приложением с помощью «мышки» невозможно.

2 Описание работы

Создание проекта консольного приложения осуществляется с помощью меню Файл-Создать-Новый проект. В открвшемся окне необходимо выбрать Консольное приложение Win32, и ввести имя проекта. Далее, оставив опции по-умолчанию, мастер создаст новый проект консольного приложения, содержащий минимально необходимый код для запуска.

Все операторы языка должны быть помещены внутри функций – это может быть как функция main (основная функция программы), так и в любая другая функция, задаваемая пользователем. Пример простейшей программы:

// Подключение файла, включающего заголовки необходимых

// библиотек

#include "stdafx.h"

// Использовать пространство имен std

using namespace std;

// Объявление оснвной функции

int _tmain(int argc, _TCHAR* argv[])

// Начало функции

{

// Вывод текста на экран

cout << "Hello, World!\n";

// Выход из программы с кодом ошибки 0

return 0;

// Конец функции

}

Содержимое файла с заголовками библиотек stdafx.h:

// Директива препроцессора, запрещающая подключать

// файл дважды

#pragma once

// Список заголовочных файлов подключаемых библиотек

#include <iostream>

#include <tchar.h>

#include <conio.h>

Данная программа выводит на экран фразу «Hello, World!» и закрывает окно приложения. Для того чтобы успеть прочитать фразу, а так же, чтобы окно закрывалось только после нажатия на клавишу, необходимо добавить следующую строку перед оператором выхода из программы:

// Ожидание нажатия клавиши

getch();

// Выход из программы с кодом ошибки 0

return 0;

Теперь программа остановится до тех пор, пока не будет нажата любая клавиша.

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

Осуществление ввода-вывода:

// Объявление целочисленной переменной

int i;

// Вывод приглашения на ввод числа

cout << "Please, enter number: ";

// Считывание числа и запись в переменную i

cin >> i;

// Вывод текста и значения переменной i.

// В конце строки вывести символ конца строки

cout << "Number: " << i << endl;

Здесь выводится надпись приглашение на ввод числа, после чего программа ожидает ввода целого числа. Как только ввод будет осуществлен, программа выведет введенное значение.

Пример организации цикла:

// Объявление целочисленной переменной

int s = 0;

// Организация цикла от 1 до i, с шагом 1

for(int j = 1; j <= i; j++)

// Начало цикла

{

// Прибавление к значению переменной s значения переменной j

s += j;

// Конец цикла

}

// Вывод суммы

cout << "Summ is: " << s << endl;

В качестве количества шагов используется значение, введенное в предыдущем примере. Осуществляется расчет суммы ряда чисел от 1 до i с выводом результата.

Работа с перемеными с плавающей точкой:

// Объявление переменной с плавающей точкой

float step;

// Вывод приглашения на ввод шага

cout << "Please, enter step (0,1]: ";

// Ввод значения с плавающей точкой

cin >> step;

// Организация цикла для проверки правильности ввода

// (значение должно быть больше 0 и меньше или равно 1)

while (step <= 0 || step > 1)

// Начало цикла

{

// Вывод сообщения о некорректности ввода

cout << "Incorrect step, try again: ";

// Ввод значения

cin >> step;

// Конец цикла

}

// Обнуление переменной

s = 0;

// Организация цикла от 0 до 1, с шагом равным step

for(float k = 0; k < 1; k += step)

// Начало цикла

{

// Увеличение значения переменной s на 1

s++;

// Конец цикла

}

// Вывод количества шагов на интервале

cout << "Number of steps on interval [0,1]: " << s << endl;

Вводится значение переменной с плавающей точкой в диапазоне от 0 до 1 (пример ввода: 0.1). После этого в цикле осуществляетяс проверка на корректность ввода. До тех пор, пока введеное значение лежит за пределами диапазона, предлагается ввести значение еще раз. После проверки ввода, организован цикл, в котором переменная k изменяет свои значения в интервале от 0 до 1 с шагом равным step. При этом на каждом шаге осуществляется инкремент значения переменной s. После окончания цикла программа выводит посчитаное количество шагов на интервале. Следует учесть, что программа расчитывает количество не полных шагов (т.е. последний шаг может быть не полным).