Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Контрольні запитання. 1. Складений оператор і оператор переходу

Begin

Begin

BEGIN

ПЛАН

1. Складений оператор і оператор переходу.

2. Оператор умовного переходу.

3. Оператор вибору.

4. Приклади програм з розгалуженням

 

. ЛІТЕРАТУРА

1. Ковалюк Т.В. Основи програмування. – К.: Видавнича група BHV, 2005. – 384 с.

2. Каліон В.А., Черняк О.І., Харитонов О.М. Основи інформатики. Структурне програмування на Паскалі: Практикум: Навч. посіб. – К.: Центр учбової літератури, 2007. – 248 с.

3. Глинський Я.М., Анохін В.Є., Ряжська В.А. Паскаль. Turbo Pasсal і Delphi. Навч. посібн. 8-ме вид. – Львів: “СПД глинський”, 2007. – 192 с.

  1. http://distance.edu.vn.ua/books/programming8/
  2. http://distance.edu.vn.ua/metodic/pascal/

 

1. Складений оператор і оператор переходу.

Складений оператор – це декілька операторів, об’єднаних в одну групу (блок) за допомогою службових слів BEGIN та END. Ці слова називають операторними дужками. Складений оператор має таку структуру:

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

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

<оператор N>

END;

Складений оператор може бути в будь-якому місці програми, де допускається один оператор.

Запис BEGIN END або;; називається порожнім оператором.

Приклад. Розглянемо складений оператор

Suma:=Suma+Cina;

N:=N+1

End;

Так можна обчислити, наприклад, суму виторгу та кількість проданого товару.

Щоб реалізувати розгалуження і передати керування у потрібне місце, використовують оператор переходу

GOTO <мітка>

Мітку заздалегідь оголошують у розділі оголошення міток:

LABEL<список міток>

Якщо мітка оголошена, то в програмі повинен бути такий фрагмент:

<мітка>: <оператор>.

Задача. Обчислити площу трикутника за трьома відомими сторонами. Програма повинна перевіряти коректність даних. Розглянемо програму.

Program Trykutnyk;

Label 222;

Var a, b, c, Perym, piv, Ploshcha, Nova: real;

Begin

222: write (‘Введіть значення сторін’); read (a, b, c);

Perym:=a+b+c;

Piv:=perym/2;

Nova:=piv*(piv-a)*(piv-b)*(piv-c);

If Nova>0 then

Begin

Ploshcha:=sqrt(Nova);

Writeln (‘Периметр=’,Perym:8:2,‘ Площа=’,Ploshcha:8:2)

End

Else

Begin

Writeln (‘Дані некоректні. Введіть інші’);

Goto 222

End

End.

2. Оператор умовного переходу.

Алгоритм з розгалуженням обов'язково містить в собі хоча б одну умову (як правило, їх набагато більше) і виконується він в залежності від цієї умови.

Проста умова – два математичних вирази, між якими стоїть знак порівняння:

Знак Порівняння
= дорівнює
> більше
< менше
>= більше чи дорівнює
<= менше чи дорівнює
<> не дорівнює

Приклади простих умов:

Ствердження Умова
Ціле число x кратне 5 X mod 5=0
Ціле число x непарне X mod 2<>0
Число x від’ємне X<0
Натуральне число x закінчується цифрою 7 X mod 10=7
Натуральне число x - однозначне X div 10=0
Натуральне число M - не кратне цілому числу N M mod N<>0
Натуральне трьохзначне число x починається та закінчується однаковими цифрами X div 100=X mod 10
Число x вдвічі більше за число y X=2*y
Число x менше числа y на 3 X=y–3
Числа X та Y мають різні знаки X*Y<0

Складена умова – дві або більше простих умови, з’єднаних знаком логічної операції (and, or, xor, not). Прості умови потрібно брати в дужки! Наприклад: (X>0) and (y=2*z) or (z+2=x+y) xor not(x>y)

Пріоритет виконання операцій у логічних виразах:

Пріоритет операції Операція
  у дужках
  /, *
  +, –
  =, >, <, >=, <=, <>
  Not
  And
  or, xor

Логічна операція AND (і):

складена умова - (проста умова 1) and (проста умова 2) – вірна, якщо вірні обидві простих умови. У інших випадках така складена умова невірна.

Операцію and називають логічним множенням.

Логічна операція OR (або):

складена умова – (проста умова 1) or (проста умова 2) – не вірна, якщо не вірні обидві простих умови. У інших випадках така складена умова вірна.

Операцію or називають логічним додаванням.

Логічна операція XOR (тільки одне):

складена умова – (проста умова 1) xor (проста умова 2) – вірна, при різних значеннях операндів. При однакових значеннях операндів така складена умова невірна.

Логічну операцію xor називають „виключаючи або”.

Логічний префікс NOT (не):

складена умова – not (умова 1) вірна, якщо (умова 1) – невірна. І навпаки, складена умова невірна, якщо (умова 1) вірна.

Мовою блок-схем розгалужений алгоритм подається наступним чином:

 

Повна форма оператора така:

IF <умова> THEN <оператор 1> ELSE <оператор 2>

Дія оператора. Якщо умова справджується, то виконується оператор 1, якщо ні – то оператор 2.

Наприклад. Якщо ціна товару менша від 1000, то ми визначаємо обсяг реалізації М (кількість проданого товару), інакше визначаємо суму виторгу і кількість проданого товару N. Умовний оператор у відповідній програмі буде мати вигляд

IF Cina<1000 THEN M:=M+1 ELSE

Suma:=Suma+Cina;

N:=N+1

End;

Тут оператор 1 – це оператор присвоєння М:=М+1, а оператор 2 – складений оператор.

Короткий умовний оператор:

IF <умова> THEN <оператор 1>

Дія оператора: якщо умова справджується, то виконується оператор 1, якщо ні, то оператор 1 не виконується.

Вкладені умовні оператори:

IF <умова 1> THEN <оператор 1>

ELSE

IF <умова 2> THEN <оператор 2>

ELSE

IF <умова 3> THEN <оператор 3> ELSE <оператор 4>;

Вкладені умовні оператори використовуються замість декількох неповних операторів:

Оператор 1 виконується якщо умова 1 вірна.

Оператор 2 виконується якщо умова 1 невірна, а умова 2 вірна.

Оператор 3 виконується якщо умова 1 невірна, умова 2 невірна, а умова 3 вірна.

Оператор 4 виконується у всіх інших випадках.

Переваги використання: виконуються скоріше, останню, найскладнішу умову можна не записувати.

Написана вище конструкція на блок-схемі відображається так:

3. Оператор вибору.

У стандарті мови оператор вибору має таку структуру:

CASE <вираз> OF

<список значень 1>: <оператор 1>;

<список значень N>: <оператор N>

END;

Дія оператора. Якщо значення виразу збігається зі значенням з деякого списку, то виконується відповідний оператор, а інші оператори не виконуються. Список значень може складатися з одного чи декількох елементів.

Приклад. Нехай Z – змінна символьного типу, а K, L, M – змінні цілого типу. Розглянемо оператор вибору для підрахунку кількості символів у деякому тексті:

CASE Z OF

‘A’: K:=K+1;

‘O’: L:=L+1;

‘B’, ‘C’: M:=M+1

END;

Один оператор вибору замінює декілька умовних операторів. Зокрема, повний умовний оператор можна замінити таким оператором вибору:

CASE <умова> OF

True: <оператор 1>;

False: <оператор 2>

End;

Задача. Нехай населені пункти позначені номерами 1, 2, 3, 4, 5, 6, 7, 8. Вартість одного квитка до конкретного пункту визначається так:

 

22, якщо =1;

35, якщо =2, 3;

CINA = 50, якщо =4;

72, якщо =5, 6;

97 у всіх інших випадках.

Скільки коштуватиме m квитків до одного конкретного пункту?

Program Vybir;

Var k, m, Cina: integer;

Begin

Write (‘Введіть кількість квитків та номер пункту: ’);

Read (m, k);

Case k of

1: cina:=22;

2, 3: cina:=35;

4: cina:=50;

5, 6: cina:=72

Else cina:=97

End;

Writeln (m, ‘квитків до пункту’, k, ‘коштують’, m*cina)

End.

4. Приклади програм з розгалуженням

Умова: Дано значення цілих величин x та y. Знайти:

Program Example_1;

Uses crt;

Var x,y,Max,Min,Rezultat:integer;

Begin

Clrscr; {Очищення екрану}

Write(‘Введіть значення x та y: ’);

Readln(x,y);

If x<y {Знаходження максимуму та мінімуму}

Then

Begin

Max:=y; Min:=x;

end

Else

Begin

Max:=x; Min:=y;

End;

Rezultat:=sqr(Max)-sqr(Min);

Writeln(‘Резудьтат обчислень: ’,Rezultat:8:2);

Readkey; {Затримка зображення на екрані до натискання будь якої клавіші}

End.

Умова: Квадратний многочлен заданий коефіцієнтами a, b, c, де а<>0. Визначити, чи корені відповідного рівняння є парними числами.

Для розв'язання цієї задачі необхідно нагадати дітям алгоритм знаходження коренів квадратного рівняння:

1) обчислити дискримінант за формулою D = b^2 - 4ac;

2) якщо ми отримали від'ємне число, то коренів для розв'язку квадратного рівняння з даними коефіцієнтами a, b, c не існує;

3) якщо дискримінант не від'ємний, то корені рівняння знаходяться за наступними співвідношеннями:

Парність коренів можна визначити, використовуючи операцію знаходження залишку від цілочисельного ділення на 2 (парне число при цьому у залишку має 0, а непарне - 1). Зверніть увагу тільки на те, що парність або непарність можна визначити тільки для цілих чисел.

Program Example_2;

Uses crt;

Var a,b,c,D,X1,X2:real;

{a,b,c – коефіцієнти квадратного рівняння; D – дискримінант; X1, X2 – корені квадратного рівняння}

Begin

Clrscr; {Очищення екрану}

Write(‘Введіть коефіцієнти квадратного рівняння a,b,c: ’);

Readln(a,b,c);

If a=0 Then writeln(‘Помилка вхідних даних’)

Else

Begin

D:=sqr(b)-4*a*c;

If D<0 Then writeln(‘Рівняння не має розв”язків’)

Else

Begin

X1:=(-b-sqrt(D))/(2*a);

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

Writeln(‘Корені рівняння:’);

Writeln(‘X1=’,X1:8:2);

Writeln(‘X2=’,X2:8:2);

If (round(X1)<>X1)or(round(X2)<>X2) Then writeln(‘Корені рівняння не є цілими числами.’)

else

if (round(X1) mod 2 =0) and (round(X2) mod 2 =0) then writeln(‘Корені рівняння парні’)

else writeln(‘Корені рівняння непарні’);

End;

End;

Readkey; {Затримка зображення на екрані до натискання будь якої клавіші}

End.

1. Для чого використовують складений оператор?

2. Для чого використовують оператор переходу?

3. Чим проста умова відрізняється від складеної?

4. Який пріоритет виконання операцій у логічних виразах?

5. Які логічні операції ви знаєте?

6. Який формат умовного оператора?

7. Який формат оператора вибору?

<== предыдущая лекция | следующая лекция ==>
Пример 3.8 | Список використаної літератури. Розвиваюча мета: розвиток вміння самостійно, творчо, ефективно та обізнано підходити до навчального процесу з курсу “Організація розкриття та розслідування
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 509; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.049 сек.