Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Задания для самостоятельного выполнения лабораторной работы 3.




1 Определите значение логического выражения, утверждающего, что точка с координатами х,у принадлежит окружности радиусом r. Центр окруж­ности находится в точке (а,b).

 

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

 

3 Определите значение величины q после выполнения каждой из следующих команд присваивания:

q:=a<b<c andс<5

q:=(a<=b) or (b>=c)

q:=odd(a+b) xor odd(b+c)

q:=sin(a) < sin(b) < sin(c)

a, b, с - целочисленные переменные, значение которых вводится с клавиатуры.

 

4Напишите программу которая вычисляет значение логического выраже­ния, утверждающего, что модуль суммы двух введённых с клавиатуры чисел больше модуля разности этих же чисел. Результат вычисления вывести на экран монитора.

 

5 Напишите программу, которая вычисляет значение логического выраже­ния, утверждающего, что синус суммы трёх введённых с клавиатуры действительных чисел - число положительное. Результат вычисления выводится на экран монитора.

 

6 Напишите программу которая определяет значение логического выражения, утверждающего, что два вещественных числа, введённых с клавиа­туры, - числа разного знака.

 

7 Напишите программу, которая определяет значение логического выраже­ния, утверждающего, что хотя-бы одно из введённых с клавиатуры действительных чисел отрицательно. Результат вычисления выводится на экран монитора.

 

8 Напишите программу, которая определяет значение логического выраже­ния, утверждающего, что синус и косинус введённого с клавиатуры действительного числа имеют положительное значение.

 

9 Определите значение логического выражения, утверждающего что три целых числа, введённых с клавиатуры, четные числа.

 

10Определите значение логического выражения, утверждающего, что из двух целых чисел а и b, одно чётное, другое нечётное.


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


Управляющие конструкции языка. Условный и составной операторы.

 

В системе программирования TurboPascal существует возможность составлять алгоритмы нелинейной структуры. Для этого предусмотрены специальные средства, так называемые "управляющие конструкции".

 

Самым простым нелинейным алгоритмом является алгоритм организации ветвлений. Вычислительный процесс (алгоритм) называется разветвляющим­ся, если в зависимости от выполнения определённых условий он реализу­ется по одному из нескольких, заранее предусмотренных направлений. Каждое отдельное направление называется ветвью вычислений. Выбор той или иной ветви осуществляется уже при выполнении программы в результате проверки некоторых условий.

 

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

 

Условный оператор.

 

Условный оператор реализует алгоритмическую конструкцию "развил­ка" (ветвление) и изменяет порядок выполнения операторов в зависимости от истинности или ложности некоторого условия. Существует два варианта оператора.

 

Полная форма:

 

if<условие>then<оператор 1>else<оператор 2>;

 

и краткая форма:

 

if<условие>then<оператор 1>;

 

В этих операторах: <условие> - некоторое логическое выражение, истинность которого прове­ряется;

<оператор 1> - оператор, который выполняется, если логическое выраже­ние <условие> истинно.

<оператор 2> - оператор, который выполняется, если логическое выраже­ние <условие> ложно.

 

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

 

В качестве операторов после служебных слов then и else может при­меняться любой оператор языка, в том числе и условный оператор.

 

Ограничение.

 

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

 

if а>0 thenif а<2 then а:=2 else а:=3;

 

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

 

Важное замечание.

 

Так как условный оператор IF является самостоятельным, единым оператором (предложением), ни перед then, ни перед else точку с запя­той ставить нельзя.

 

Примеры использования условного оператора:

 

ifх<0 thenх:=-у;

 

if х<1.5 then z:=x+y else z:=1.5;

 

Как вы уже заметили, после служебных слов then и else может нахо­диться (выполнятся) только один оператор. Но ветви условного оператора, состоящие из одного оператора, встречаются довольно редко. Гораздо чаще каждая ветвь условного оператора состоит из нескольких операторов. На первый взгляд кажется, что составить условный оператор в этом случае не представляется возможным. Для реализации таких ситуаций применяют составной оператор.

 

Составной оператор.

 

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

 

Пример составного оператора.

 

Begin

Write('Текущее сообщение'); z :=1; d:=d+l; End;

 

В данном примере три оператора, ограниченные операторными скобка­ми, воспринимаются как один оператор.

 

Пример использования составного оператора в условном операторе.


 

Write('Введите контрольное число');

Readln(х);

if х>=0 then

begin

write('Контрольное число положительно*); i:=i+1; d:=d-l; х:=х+10; endelse

begin

write('Контрольное число отрицательно'); i:=7.-1; d:=d+l;х:=х-10; end.

 

Пример программы.

 

Программа для решения квадратного уравнения.

 

ProgramJcvur;

Vara,b,c: real; {коэффициенты квадратного уравнения}

xl,x2: real; {корни квадратного уравнения}

D: real; {дискриминант квадратного уравнения}

Begin

Writeln('Решение квадратного уравнения.'); {Bвод данных}

Write('Bведите коэффициент а: ');

Readln(а);

Write('Bведите коэффициент b: ');

Readln(b);

Write('Введите коэффициент с: ');

Readln(с);

{Определение дискриминанта}

D:=b*b-4*a*c;

{Определение корней и вывод информации}

if D>0 then

begin

xl:=(-b+sqrt(D))/(2*a); x2:=(-b-sqrt(D))/(2*a);

Writeln('Первый корень уравнения: ',xl); Writeln('Второй корень уравнения: ',х2);

end;

if D=0 then

begin

xl:=-b/(2*a);

Writeln('Уравнение имеет един корень: ',xl);

end;

ifD=0thenwriteln('Уравнение корней не имеет.'); Readln;

End.

 

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

 

1 Для чего предназначен условный оператор?

2 Каковы две формы записи условного оператора?

3 Может ли условный оператор содержать в себе другие условные опера­торы?

4 Когда и как применяется составной оператор?

 

 

Задания для самостоятельного выполнения лабораторной работы 4:

 

1 Определить и вывести на печать номер квадранта, в котором располо­жена точка М(х,у).

 

2 Даны действительные числа X, Y. Меньшее из этих двух чисел заменить их полусуммой, а большее - их удвоенным произведением. Результат вычисления вывести на экран монитора.

 

3 Даны три действительных числа. Возвести в квадрат те из них, значе­ния которых неотрицательны. Результат вычисления вывести на экран монитора.

 

4 Написать программу вычисления значения функции

y= х*х, если 0<х<2;

у =х+4, если -2<х<=0;

y=0, в остальных случаях.

 

5 Написать программу выбора наибольшего из трёх чисел.

 

6 Даны х, у. Если х и у отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения уве­личить на 0.5; если оба значения неотрицательны, то оба значения увеличить в 10 раз.

 

7 Выяснить, принадлежит ли точка М(х,у) кругу радиуса r с центром в точке с координатами а,b.

 

8 Определить, принадлежит ли точка М(х,у) кольцу с центром в начале координат, внешним радиусом R1, и внутренним радиусом R2.

 

9 Даны три числа а, b, с. Выяснить, верно ли, что а<Ь<с. Ответ полу­чить в текстовой форме: верно или неверно.

 

10 Определить, является ли частное чисел а и b, округлённое до ближай­шего целого чётным числом.


 

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

Управляющие конструкции языка Оператор выбора.

 

В системе программирования TurboPascal 7.0 для организации алго­ритмов с ветвлениями, наряду с условным оператором применяют оператор выбора.

 

Оператор "выбор".

 

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

 

CASE<порядковая переменная>OF<значение 1>: <оператор 1>; <значение 2>: <оператор 2>;

...

<значение N>: <оператор N>; [ELSE<оператор N+l>]; END; {CASE}

 

В этой структуре:

<порядковая переменная> - порядковая переменная значение которой про­веряется;

<значение *> - константы, с которыми сравнивается значение порядковой

переменной;

<оператор *> - операторы, из которых выполняется тот, с константой кото­рого совпадает значение порядковой переменной;

Ветвь оператора else является необязательной. Если она отсутству­ет, и значение порядковой переменной не совпадает ни с одной из пере­численных констант, весь оператор рассматривается как пустой. В отли­чии от оператора IF перед словом else точку с запятой можно ставить.

Если для нескольких констант нужно выполнять один и тот же опера­тор, их можно перечислить через запятую сопроводив их одним операто­ром. Существует возможность указать диапазон возможных значений. Нап­ример, диапазон от 1 до 100 включительно указывается так:

1 .. 100

 

Пример.


 

CASE i OF

2, 4, 6, 3: Writeln(‘Чётнаяцифра’);

3, 5, 7, 9: Writeln('Нечётная цифра'); 10 .. 100: Writeln(‘Число от 10 до 100’);

ELSE

Writeln('Отрицательное число или больше 100'); END; {CASE}

 

Как вы уже заметили, в операторе выбор после двоеточия мо­жет указываться только один оператор. Для того, чтобы выполнить нес­колько операторов, так же как и в условном операторе, применяют сос­тавной оператор.

 

CASE<порядковая переменная>OF<значение 1>: begin

<оператор 1 1>; ...

<оператор 1 n>end;

<значение 2>: begin

<оператор 2 1>; ...

<оператор 2 n>end;

. .

<значение N>: begin

<оператор N 1>; ...

ELSE

<оператор N n>end;

 

begin

<оператор Е 1>; ...

<операторЕn>end; END; {CASE}

 

Важное замечание.

 

Необходимо заметить, что из всех возможных ветвей операторов уп­равляющей конструкции выбор, выполняется только одна ветвь, даже если значение порядковой переменной совпадает с несколькими возможными зна­чениями, отвечающими за разные ветви операторов. Выполняется та ветвь, которая расположена раньше. Как видно из блок-схемы значение порядко­вой переменной сравнивается последовательно со всеми возможными значе­ниями, и как только найдётся значение, которому равна порядковая пере­менная, выполняется ветвь операторов, сравнения прекращаются и управ­ляющая конструкция прекращает свою работу. Поэтому при составлении программ с использованием управляющей конструкции "выбор", раньше не­обходимо располагать более "строгие" последовательности операторов.

 

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

 

1 Для чего предназначен оператор выбора?

2 Могут ли выполниться несколько ветвей оператора "выбор" за один раз?

3 Сколько операторов можно написать после возможного значения пере­менной?

4 Может ли сразу несколько констант фигурировать в качестве возможно­го значения переменной?

 

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 243.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...