4614

Программирование выражений и операторов на языке Delphi

Лабораторная работа

Информатика, кибернетика и программирование

Главную часть программы на языке Delphi составляет раздел операторов, в котором реализуется алгоритм решения поставленной задачи, т.е. именно в нем с предварительно описанными переменными, константами, значениями функций и т.п. выполняются...

Русский

2012-11-23

200.5 KB

20 чел.

Введение

Главную часть программы на языке Delphi составляет раздел операторов, в котором реализуется алгоритм решения поставленной задачи, т.е. именно в нем с предварительно описанными переменными, константами, значениями функций и т.п. выполняются определенные действия, позволяющие получить результат, ради которого создается программа.

Раздел операторов начинается ключевым словом Begin (Начало), затем следуют операторы языка, отделяемые друг от друга точкой с запятой. Завершают раздел ключевое слово End (Конец) и точка.

Операторы выполняются строго последовательно в том порядке, в котором они записаны в тексте программы в соответствии с синтаксисом и семантикой языка программирования. Некоторые операторы (перехода, условные) позволяют нарушить естественный последовательный порядок выполнения операторов.


I. ЦЕЛЬ И СОДЕРЖАНИЕ РАБОТЫ

Цель лабораторной работы:

  •  привитие практических навыков в записи выражений на языке Delphi и программировании основных операторов.

Содержание работы:

1. Запись выражений.

2. Программирование простых и структурных операторов.

Требования к отчету:

Отчет по работе должен содержать:

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

II. МЕТОДИКА ВЫПОЛНЕНИЯ РАБОТЫ

1. Запись выражений

По характеру выполняемых действий операции разделяются на следующие группы:

1. Арифметические операции:

  •  унарные: +, -
  •  бинарные: +, -, *, /, div, mod 

2. Операции отношения:

=, <>, <, >, <=, >=

3. Булевы (логические) операции:

not, and, or, xor

4. Поразрядные логические и сдвиговые операции:

not, and, or, xor, shl, shr

5. Строковая операция (конкатенация):

+

6. Операции над множествами:

+, -, *, in, <=, >=

7. Операция взятия адреса:

@

Последовательность выполнения операций в выражении определяется тремя факторами:

  •  приоритетом операций;
  •  порядком расположения операций в выражении;
  •  использованием скобок.

По приоритету все операции делятся на четыре группы (табл. 1.1).

Таблица 1.1. Приоритет операций

Приоритет

Операции

Категория операций

Первый (высший)

+  -  not  @

Унарные операции

Второй

* / div mod and shl shr

Бинарные операции типа умножения

Третий

+  -  or  xor

Бинарные операции типа сложения

Четвертый (низший)

=  <> <  >  <=  >=  in

Бинарные операции отношения

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

  •  арифметическими – порождают целое или действительное значение. В арифметические выражения могут включаться стандартные и пользовательские функции;
  •  отношения – определяют истинность или ложность результата сравнения;
  •  логическими (булевскими) – используют операнды булевского типа (Boolean). В качестве операций выступают логические операции НЕ (not), И (and), ИЛИ (or), Исключающее ИЛИ (xor), а результатом выполнения выражения является логическое значение True или False;
  •  строковыми – выражения, в которых операндами служат строковые данные. Над строковыми данными допустимы операция сцепления (конкатенации) и операции отношения.

Задание № 1. Примеры записи выражений

  1.  Записать арифметические выражения, заданные формулами:

Исходное выражение

Выражение на языке Delphi

sin(abs((y-sqrt(abs(x)))*(x-y/(z*z+x*x/4))))

1. Введем переменную , которую можно записать так: z:=c*x1*sqr(x1)+d*sqr(x2)-x3.

2. Так как в языке отсутсвует стандартная функция tg(x), то ее можно записать как .

3. Тогда заданное выражение на языке Delphi:

sqr(sin(abs(z)))/sqrt(z*z+3.14)+sin(z)/cos(z)

Самостоятельно

Самостоятельно

  1.  Пусть переменные x, y, z имеют тип Boolean. В алгебре логики приняты следующие обозначения логических операций: - И (and); - ИЛИ (or); - Исключающее ИЛИ (xor); черта сверху – НЕ (not).

Записать логические выражения, заданные формулами:

Исходное выражение

Выражение на языке Delphi

(x and y and z) or (not x and y and (not z)) or (not (x and (not y) and z)) xor ((not (x and y)) and z)

Самостоятельно

Самостоятельно

  1.  Записать выражения отношений:

Исходное выражение

Выражение на языке Delphi

1  х  100 и a < b/c или z  0

((1<=x) and (x<=100)) and (a<b/c) or (z<>0)

Точка с координатами (x, y) принадлежит внешности единичного круга с центром в начале координат или его второй четверти:

x2+y2 > 1 или x2+y2  1 и x<0 и y>0.

1. Введем переменную z = x2+y2, которую можно записать так:

z:=Sqr(x)+Sqr(y).

2. Тогда выражение отношения:

(z>1) or ((z<=1) and (x<0) and (y>0))

Целые числа a и b имеют одинаковую четность:

a mod 2 = 0 и b mod 2 = 0

или a mod 2 = 1 и b mod 2 = 1

(a mod 2 = 0) and (b mod 2 = 0)

or (a mod 2 = 1) and (b mod 2 = 1)

Точка с координатами (x, y) лежит в круге радиуса r с центром в точке (a, b):

Самостоятельно

Квадратное уравнение ax2 + bx + c = 0 не имеет действительных корней

Самостоятельно

  1.  Записать символьные и строковые выражения:

Исходное выражение

Выражение на языке Delphil

Соединить строки «Прима» и «балерина»

'Прима'+' балерина' 'Прима балерина'

Для строки «Казнить нельзя помиловать»:

  •  определить ее длину;
  •  удалить подстроку «помиловать»;
  •  определить, с какой позиции начинается подстрока «нельзя»;
  •  выделить подстроку «нельзя».

Length('Казнить нельзя помиловать') 25

Delete('Казнить нельзя помиловать',15,11) 'Казнить нельзя'

Pos('нельзя','Казнить нельзя помиловать') 9

Copy('Казнить нельзя помиловать',9,6) 'нельзя'

Для строки «To be or not to be»:

  •  определить ее длину;
  •  удалить подстроку «be»;
  •  определить позицию начала подстроки «not»;
  •  выделить второе «to»

Самостоятельно

  1.  Сохранить ответ в папке \Мои документы\ПЗ-03\Задание-01 под именем Выражения.txt.

Задание № 2. Арифметические операции с целыми числами

  1.  Разработайте консольную программу, демонстрирующую выполнение арифметических операций над целыми величинами. Для этого:
    •  Введите целочисленные переменные i, n и объявите их Integer.
    •  Введите целочисленные переменные A, B и объявите их Byte.
    •  Организуйте ввод с клавиатуры значений i, n, A, B.
    •  Организуйте вывод на экран результатов целочисленного деления i div n и i mod n.
    •  Организуйте вывод на экран результатов поразрядных булевских и сдвиговых операций с числами A и B.

Листинг программы должен иметь примерно следующий вид:

Program Operation_Integer;

{$APPTYPE CONSOLE}

uses

 SysUtils;

Var

 i,n: integer;

 A,B: byte;

Begin

 writeln('Vvedite znachenia i, n, A, B');

 readln(i,n,A,B);    // Введите произвольные целые числа

                     // из допустимого диапазона

 writeln('Isxodni danny: i=',i:5,' n=',n:5,' A=',A:5,' B=',B:5);

 writeln(i:5,' div',n:5,' = ',i div n:5);

 writeln(i:5,' mod',n:5,' = ',i mod n:5);

 writeln;

 writeln('not ',A,' = ',not A);

 writeln(A,' and ',B,' = ',A and B);

 writeln(A,' or  ',B,' = ',A or B);

 writeln(A,' xor ',B,' = ',A xor B);

 writeln(A,' shl ',B,' = ',A shl B);

 writeln(A,' shr ',B,' = ',A shr B);

 readln

End.

  1.  Откомпилируйте и выполните программу. При наличии ошибок, исправьте их.
  2.  При отсутствии ошибок вы должны получить результат, представленный на рис. 1.1.
  3.  Сохраните проект программы в папке \Мои документы\ПЗ-02\Задание-02 под именем Operation_Integer.

2. Программирование простых и структурных операторов

Операторы языка разделяются на две группы: простые и структурные.

Операторы отделяются друг от друга символом точка с запятой (;).

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

Оператор присваивания состоит из идентификатора переменной или пользовательской функции, символа присваивания «:=» и выражения:

Идентификатор := Выражение;

Допускается присваивание значений не только простых, но и структурированных типов, таких как массивы, записи и множества.

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

Имя_процедуры(Список_фактических_параметров);

Указанные в операторе фактические параметры должны соответствовать описанным в заголовке процедуры формальным параметрам по типу, количеству и взаиморасположению.

Примерами стандартных процедур являются процедуры ввода-вывода: read, readln, write и writeln.

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

read(X1, X2, ... , Xn);

где X1, X2, ... , Xn – переменные допустимых типов данных.

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

Процедура записи write производит вывод числовых данных, символов, строк и булевских значений. Формат ее вызова следующий:

write(Y1, Y2, ..., Yn);

где Y1, Y2, ..., Yn - выражения типа integer, real, char, boolean и т.п.

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

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

Оператор безусловного перехода используется в тех случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку оператор, а какой либо другой, отмеченный меткой:

Goto Метка;

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

Структурные операторы включают в себя другие операторы и управляют последовательностью их выполнения. К ним относятся: составной оператор; условные операторы; операторы цикла; оператор присоединения.

Составной оператор объединяет группу операторов в единое целое, после чего они могут считаться одним оператором. Составной оператор состоит из последовательности объединяемых операторов, разделяемых точкой с запятой, которые располагаются между ключевыми словами begin и end:

Begin

 Оператор_1;

 Оператор_2;

 ...

 Оператор_n

end;

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

Оператор условия if может быть записан в полном и неполном форматах:

Полный формат:

if Условие then Оператор_1 else Оператор_2;

Неполный формат:

if Условие then Оператор;

Условие может быть простым или сложным. Сложные условия образуются с помощью логических операций not, and, or, xor.

Оператор выбора case является обобщением условного оператора и позволяет сделать выбор из произвольного числа имеющихся вариантов. Он состоит из выражение-селектора и списка параметров, каждому из которых предшествует список констант выбора (список может состоять и из одной константы). Результатом выражения-селектора может быть только значение порядкового типа, общее количество элементов которого не превышает 65535.

case Селектор of

      Список_1: Оператор_1;

      Список_2: Оператор_2;

      ...

      Список_N: Оператор_N

    else Оператор_Е

end;

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

Оператор цикла с предусловием while имеет следующий формат:

while Условие do Тело_цикла;

Условие – булевское выражение, а тело цикла – простой или составной оператор.

Оператор цикла с постусловием состоит из заголовка repeat, тела цикла, замыкающего ключевого слова until, после которого указывается условие окончания цикла:

repeat

     Оператор_1;

     Оператор_2;

     ...

     Оператор_N

until Условие;

Условие – выражение булевского типа. Вначале выполняются операторы тела цикла, затем проверяется Условие выхода из цикла. Если значением Условие является False, то тело цикла активизируется еще раз, а если значением Условие является True, то происходит выход из цикла.

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

1) Если параметр цикла наращивает свое значение:

for Параметр_цикла:=S1 to S2 do Тело_цикла;

2) Если параметр цикла уменьшает свое значение:

for Параметр_цикла:=S1 downto S2 do Тело_цикла;

где S1 и S2 – выражения, определяющие соответственно начальное и конечное значения параметра цикла. Для первого варианта должно быть S1<=S2, а для второго S1>=S2.

Тело цикла может быть простым или составным оператором.

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

Параметр цикла, его начальное и конечное значения должны принадлежать к одному и тому же типу данных. При этом допустим любой простой тип, кроме вещественного. Если используются типы группы целые и интервальные, то значение параметра цикла последовательно увеличивается (при for .. to) или уменьшается (при for  downto) на 1 при каждом повторе.

Задание № 3. Использование стандартных функций

  1.  Разработайте консольную программу вычисления значения функции  при х = 2.346. Затем вычислить квадратный корень из абсолютной величины полученного значения, т.е. найти . Для этого:
    •  Задайте значение х = 2.346 в виде константы.
    •  Введите вещественные переменные y, z и объявите их Real.
    •  Организуйте вывод на экран результатов вычисления заданных функций.

Листинг программы должен иметь примерно следующий вид:

program Standart_Function;
{$APPTYPE CONSOLE}
uses
 SysUtils;
const
 x=2.346;
var
 y,z: real;
begin
 writeln('Raschet function Y=1+cos^2(x)+sin^3(x) for x=2.346');
 y:=1+x*sqr(cos(x))+sqr(sin(x))*sin(x);
 z:=sqrt(abs(x));
 writeln('y=',y);
 writeln('z=',z);
 readln
end.
  1.  Откомпилируйте и выполните программу. При наличии ошибок, исправьте их.
    1.  При отсутствии ошибок вы должны получить результат, представленный на рис. 2.1.
      1.  Сохраните проект программы в папке \Мои документы\ПЗ-02\Задание-03 под именем Standart_Function.

Задание № 4. Использование условных операторов

  1.  Разработайте консольную программу решения системы неравенств:
  1.  Исходные данные – коэффициенты a1, b1, a2, b2 целого типа и вводятся с клавиатуры. Результат вещественного типа и выводится на экран.
  2.  Для ввода используются следующие значения: a1=2, b1=-1, а2=4, b2=6.
  3.  Листинг программы должен иметь примерно следующий вид:
program Zadanie_4;
{$APPTYPE CONSOLE}
uses
 SysUtils;
var
 a1,a2,b1,b2: integer;     // Описание исходных коэффициентов
       r1,r2: real;        // Описание выходных результатов
begin
 writeln('Vvedite a1=');
 readln(a1);               // Ввести a1 и нажать Enter
 writeln('Vvedite b1=');
 readln(b1);               // Ввести b1 и нажать Enter 
 writeln('Vvedite a2=');
 readln(a2);               // Ввести a2 и нажать Enter
 writeln('Vvedite b2=');
 readln(b2);               // Ввести b2 и нажать Enter
 r1:=-b1/a1;               // Вычисление результатов
 r2:=-b2/a2;
 if (r1<0) and (r2<0)      // Условный оператор
   then case r1<=r2 of     // Оператор выбора
          false: writeln('Otvet: X<',r1:3:2);
           true: writeln('Otvet: X<',r2:3:2);
        end
   else case r1>r2 of
          false: writeln('Otvet: X<',r1:3:2);
           true: writeln('Otvet: X<',r2:3:2);
        end;
   readln
end.
  1.  В условный оператор включен оператор выбора, который в зависимости от того, какое из значений результатов меньше (или больше) выбирает путь вывода результата на экран.
  2.  Откомпилируйте и выполните программу. При наличии ошибок, исправьте их.
  3.  При отсутствии ошибок вы должны получить результат, представленный на рис. 2.2.
  4.  Сохраните проект программы в папке \Мои документы\ПЗ-02\Задание-04 под именем Zadanie_4.

Задание № 5. Использование операторов цикла

  1.  Разработайте консольную программу вычисления таблицы значений функций  и  на отрезке [a, b] в точках xi=a+ih, где h = (ba)/m, m — заданное целое число. Значение шага h должно вычисляться один раз. Для этого:
    •  Введите вещественные переменные a,b,h,x,y,z и объявите их Real.
    •  Введите целые переменные m, i и объявите их Integer.
    •  Организуйте ввод с клавиатуры исходного значения m=20.
    •  Вычислите начальную и конечную точки отрезка: a=-/2; b=/2, используя стандартную функцию Pi.
    •  Вычислите шаг изменения аргумента по формуле h=(ba)/m.
    •  Организуйте в цикле со счетчиком вычисление заданных функций и их выдачу на экран в виде таблицы.
    •  Не забудьте в теле цикла изменять значение аргумента x.
    1.  В эту же программу включите блок, вычисляющий сумму бесконечного ряда:

, где  - факториал числа.

Вычисления прекратить, когда очередное значение an  , где - заданная точность вычислений. Общий член ряда рассчитывается по формуле:

, n = 1, 2, 3, ….

Для определения суммы членов ряда следует использовать рекуррентную формулу, позволяющую находить текущий член ряда через ранее определенные:

, n = 1, 2, 3, …, причем a0=1.

При составлении программы считать, что точность задана =10-4 и определяется константой e.

  1.  Листинг программы должен иметь примерно следующий вид:

program Zadanie_5;

{$APPTYPE CONSOLE}

uses

 SysUtils;

const

 e=1.0e-4;          // Константа, определяющая точность

var

 a,b,h,x,y,z: real; // Переменные первой задачи

         m,i: integer;

        s,an: real; // Переменные второй задачи

           n: integer;

begin

 {Первая задача}

 writeln('Vvesdite znachenie m=');

 readln(m);         // Введите значения m и нажмите Enter

 a:=-Pi/2;          // Вычисление нижней границы интервала

 b:=-a;             // Вычисление верхней границы интервала

 h:=(b-a)/m;        // Вычисление шага изменения аргумента

 x:=a;              // Присвоение начального значения аргумента

 for i:=1 to m+1 do // Цикл со счетчиком

   begin

     y:=1+x*sqr(cos(x))+sqr(sin(x))*sin(x); // Выч. функций

     z:=sqrt(abs(y));

     writeln('x=',x:7:4,' y=', y:7:4,' z=',z:7:4);

     x:=x+h;        // Переход к следующему значению аргумента

   end;

 writeln;

 {Вторая задача}

 s:=0;                   // Обнуление суммы

 an:=1;                  // Вычисление первого члена суммы

 n:=1;                   // Начальное значение переменной цикла

 while an>e do           // Цикл с предусловием

   begin

     s:=s+an;            // Накопление суммы

     n:=n+1;             // Изменение переменной цикла

     an:=an*(exp(n*(ln(n/(n+1))))); // Выч. оч. чл. суммы

   end;

 writeln('Summa ',n,' elementov ravna =',s:9:6);

 readln

end.

  1.  Откомпилируйте и выполните программу. При наличии ошибок, исправьте их.
    1.  При отсутствии ошибок вы должны получить результат, представленный на рис. 2.3.
    2.  Сохраните проект программы в папке \Мои документы\ПЗ-02\Задание-05 под именем Zadanie_5.
    3.  Посмотрите, как изменятся результаты, если задать значения m=10 и e=1.0e-8.
    4.  Самостоятельно составьте программу решения второй задачи, но используя оператор цикла с постусловием (repeat ... until).

ВЫВОДЫ

  1.  Выражение в программировании служит для определения порядка выполнения действий над элементами данных и состоит из операндов (констант, переменных, обращений к функциям), круглых скобок и знаков операций.
  2.  По характеру выполняемых действий операции разделяются на арифметические (унарные + и -; бинарные +, -, *, /, div, mod), отношения (=, <>, <, >, <=, >=), булевы (логические) (not, and, or, xor), поразрядные логические и сдвиговые (not, and, or, xor, shl, shr), строковые (конкатенация +), операции над множествами (+, -, *, in, <=, >=) и операцию взятия адреса (@). Последовательность выполнения операций в выражении определяется приоритетом операций, порядком расположения операций в выражении и использованием скобок.
  3.  В зависимости от используемых операций и типов операндов выражения бывают арифметическими, логическими, отношения, строковыми и др.
  4.  Операторы предназначены для описания действий, которые будут выполнены при реализации алгоритма. Операторы языка разделяются на две группы: простые и структурные операторы.
  5.  Простые операторы — операторы, которые не содержат в себе других операторов. К ним относятся операторы присваивания, процедуры, безусловного перехода и пустой.
  6.  Структурные операторы включают в себя другие операторы и управляют последовательностью их выполнения. К ним относятся:  составной оператор; условные операторы if-then-else и оператор выбора case-else; операторы цикла с предусловием while-do, постусловием repeat-until и со счетчиком for-to-do (for-downto-do).
  7.  Ввод-вывод информации в программе осуществляется с помощью предопределенных процедур read, readln, write и writeln.

Контрольные вопросы

  1.  Как операции в языке Delphi разделяются по приоритетам? Каким образом можно изменить приоритет выполнения операций?
  2.  Какие типы выражений существуют? Чем определяется тип выражения?
  3.  Объясните, как выполняются операции div и mod. Какой результат при этом получается?
  4.  Объясните, как выполняются логические операции и операции сдвига над целыми числами.
  5.  Объясните действие условных операторов.
  6.  Как работают операторы цикла? В чем заключается различие между оператором цикла с предусловием и постусловием?
  7.  Какими средствами можно устранить эффект «зацикливания»?
  8.  Какие средства используются для принудительного выхода из цикла?
  9.  Объясните действие процедур ввода данных с клавиатуры и вывода данных на экран.
  10.  Каким образом задаются поля вывода в процедурах write и writeln?


Рис. 1.1.
 Результаты работы программы, иллюстрирующей арифметические операции с целыми числами

Рис. 2.1. Результаты работы программы, иллюстрирующей применение стандартных функций

Рис. 2.2. Результаты работы программы, иллюстрирующей работу условных операторов

Рис. 2.3. Результаты работы программы, иллюстрирующей работу операторов цикла

  1.  

 

А также другие работы, которые могут Вас заинтересовать

42484. Моделювання та дослідження нерекурсивного фільтра на основі швидкого перетворення Фур’є 433 KB
  Львів 2011 Хід роботи 1. УВАГА Зберігання виконаної роботи проводити виключно командою Sve ll 3. Для виконання лабораторної роботи скопіювати фрагмент коду позначений коментарем 5лабораторна робота: Нерекурсивні фільтри на основі ШПФ в кінець програми після директиви endif. Вибрати пункт 5 та проаналізувати варіант виконання лабораторної роботи.
42486. ИСПОЛЬЗОВАНИЕ ВИЗУАЛЬНЫХ МАНИПУЛЯЦИОННЫХ МЕТАФОР ПРИ РАЗРАБОТКЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ 333.5 KB
  В процессе работы была подробно проанализирована метафора «Человек в стеклянном кубе», позволявшая отображать результаты запросов пользователей на реалистичной трехмерной модели человека. При этом, был найден удобный «манипулятор», который обеспечивает не только отображение статичных запросов пользователей, но и взаимодействие в реальном времени пользователя и интерфейса.
42488. Затухання цифрового лінійного тракту ВОСПІ 238 KB
  На магістральних ділянках ВОСП довжиною L коефіцієнт помилок не повинен перевищувати : Де М – нормоване значення р для гіпотетичної лінії передачі протяжністю 25000 км визначене в відповідності з рекомендацією МККТТ G. Для регенераційної ділянки довжиною Lр нормуюче значення коєфіцієнта помилок одного регенератора: Різниця між рівнями потужності оптичного сигналу дБ на виході передаючої частини Ри і на вході приймальної частини апаратури Р0мін при якій коєфіцієнт помилок регенерації сигналу в ПРОМ не...
42489. Моделювання та дослідження медіанного фільтра 488 KB
  Зберігання виконаної роботи проводити виключно командою Sve ll Для виконання лабораторної роботи скопіювати фрагмент коду позначений коментарем 6лабораторна робота: Медіанні фільтри в кінець програми після директиви endif. Вибрати пункт 6 та проаналізувати варіант виконання лабораторної роботи.
42490. Опис конструкції установки ТММ 33м 462.5 KB
  Гвинтові механізми служать для перетворення обертового руху гвинта в поступовий рух гайки. Залежно від характеру відносного руху гвинта та гайки розрізняють наступні типи гвинтових механізмів рис. Передаточне відношення гвинтового механізму умовно можна виразити відношенням кутової швидкості гвинта ω1 ведучої ланки до лінійної швидкості гайки відносно гвинта V2 веденої ланки: 1.1 де Рn=P n – хід гвинта; n – кількість заходів гвинта; P – крок гвинта.
42491. Измерение сопротивления методом вольтметра-амперметра 69.5 KB
  Искомое сопротивление в этом случае 6.1 где U − напряжение которое показывает вольтметр; U − напряжение на миллиамперметре; I − сила тока в цепи; R − сопротивление миллиамперметра. Чем больше неизвестное сопротивление Rx по сравнению с сопротивлением R тем точнее результат измерения. Если Rx R то сопротивлением R можно пренебречь и тогда 6.
42492. Дослідження алгоритму очікування розєднання wait Disconnect 374 KB
  Принцип роботи полягає в наступному: після запуску алгоритму диспетчером з періодом 300 мс його робота починається з аналізу черги заявок на встановлення з’єднання якщо заявки відсутні він переходе у вихідний стан а якщо присутня хоча б одна заявка він запускається і за певним алгоритмом виконує поставлену перед ним задачу. так і так ні ні так Сигнал запуску від диспетчера Вихідний стан Кінець перегляду черги Вихідний стан Встановити зєднання між абонентами А і Б Абонент А поклав трубку Абонент Б підняв трубку Викл. “Контроль посилки...