ЛЕКЦІЯ № 17


Begin

Pascal

Begin

Else

Begin

Begin

Var

Begin

Var

. . .

Var

. . .

End

Begin

Implementation

Interface

Дифференцирующий усилитель.

Интегрирующий усилитель.

При замене R2 ёмкостью усилитель превращается в интегрирующий, т.е.

Uвых = - dt.

Если на вход такого усилителя подать постоянное положительное напряжение, оно через незаряженный конденсатор передастся на выход. Так как усилитель инвертирующий, на его выходе должно появиться отрицательное напряжение, равное напряжению отрицательного источника питания. Напряжение на выходе определяется суммой этих напряжений. Оно будет изменяться по мере заряда конденсатора от максимального положительного напряжения до максимального отрицательного. Если поменять полярность входного сигнала, напряжение будет линейно расти от максимального отрицательного до максимального положительного.Усилитель выполняет операцию интегрирования, т.е. в каждую единицу времени добавляет к выходной величине величину, определяемую входной величиной.

При подаче на вход усилителя прямоугольного положительного импульса напряжения на выходе ОУ скачком упадет до максимального отрицательного. Так как конденсатор не пропускает постоянной составляющей, то напряжение на выходе постепенно вернется к нулевому уровню. При подаче отрицательного импульса на вход, на выходе появится положительный короткий импульс.

 

Занятие 51 Лабораторная работа № 7. Исследование схем на основе ОУ

 

 


 

 

[<Ключи компиляции> ]

[uses <Список используемых устройств (модулей)>;]

[<Разделы объявления глобальных переменных, констант, типов, классов>]

[<Раздел объявления заголовков глобальных процедур и функций>]

[<Ключи компиляции> ]

[uses <Список используемых устройств (модулей)>;]

[<Разделы объявления локальных переменных, констант, типов, классов>]

[<Раздел объявления локальных процедур и функций>]

[<Раздел исполнения>]


<Раздел исполнения> :: =

 

<Операторы>

<Раздел объявления переменных> :: =

 

var // Признак начала раздела объявления переменных

<Список имён 1>: <Тип 1>;

<Список имён 2>: <Тип 2>;

 


Примеры.

 

I, J, K: integer;

x, y, z: double;

c: char;

s5: string[5];

s255: string; // Равноценно s255: string[255]

 

 


Замечание. В языке «C++» объявление переменных имеет вид:

 

<Тип 1> <Список имён 1>;

<Тип 2> <Список имён 2>;

 

Примеры.

 

int I, J, K;

double x, y, z;

char c;


Пример программы, обменивающей значениями две числовые переменные

(среда программирования – Delphi или Lasarus)

 

На форме (Form1) размещаются два текстовых поля (Edit1, Edit2) и две кнопки (Button1, Button2).

 


proocedure TForm1.Button1Click(Sender: TObject);

a, b: double;

a := StrToFloat(Edit1.Text);

b := StrToFloat(Edit2.Text);

a := a - b; // a' =a – b

b := a + b; // b' = a' + b = a

a := b - a; // a'' = b' – a'= b

Edit1.Text := FloatToStr(a);

Edit2.Text := FloatToStr(b);

end;

 


procedureTForm1.Button2Click(Sender: TObject);

a, b, c: double;

ier: integer;

val(Edit1.Text, a, ier);

ifier <> 0 then

ShowMessage(‘Ошибка в Edit1’);

exit;

end;

 

val(Edit2.Text, b, ier);

ifier <> 0 then

ShowMessage (‘Ошибка в Edit2’)

 


c := a; a := b; b := c;

Edit1.Text := FloatToStr(a);

Edit2.Text := FloatToStr(b);

end;

end;

 


Button1:

Edit1: 1; Edit2: 7; Верно.

Edit1: 1e-20; Edit2: 7; Неверно.

 

Button2:

Всегда верно.

 


Обращение к параметрам программы,

запущенной из командной строки

 

Пример запуска программы с помощью командной строки:

<Путь к EXE-файлу>P2.exe 1 22 333 4444 55555

Кроме указания пути к исполняемому файлу, командная строка содержит список параметров запуска, которые могут быть распознаны и использованы программой. Разделитель элементов списка – пробел. Если пробел заменён группой из нескольких подряд идущих пробелов, эта группа воспринимается как один пробел.

 

 


 

Для нахождения числа параметров программы служит стандартная (для TP7, Delphi, Lazarus) функция ParamCount (это функция без параметров). Благодаря этой функции становится известно, сколько параметров имеется в командной строке. Для обращения к самим параметрам служит стандартная функция ParamStr. Например, ParamStr(i) возвращает строку, содержащую i-й параметр программы.

 

program P2;

uses crt,

var i: integer;

i:=ParamCount;

if i >= 4 then writeln('i=', i, '4-th Parameter=', ParamStr(4));

ReadKey;

end.


C++

 

Число параметров программы на единицу меньше, чем значение первого формального параметра функции _tmain. Второй параметр функции _tmain представляет собой массив строк, содержащих параметры программы. Например, argv[i] есть строка, содержащую i-й параметр программы. argv[0] есть строка с именем самого EXE-файла и путём к нему.

 

#include "stdafx.h"

#include "conio.h"

int i;

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

{

i=argc;

if (i !< 5) printf("i=%d 4-th Parameter=%ls", i, argv[4]);

_getch();

return 0;

}