42626

ДОСЛІДЖЕННЯ СТРУКТУРНИХ ОПЕРАТОРІВ ОПЕРАТОРНОГО БАЗИСУ МОВ ПРОГРАМУВАННЯ ПАСКАЛЬ ТА СІ

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

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

Теоретичні відомості Оператор Паскаль Сі: оператори базису ::= оператор опису оператор привласнення структурний оператор оператор ::= оператор привласнення структурний оператор Структурні оператори а Складений оператор Паскаль: складений оператор ::= begin{ оператор }2end; Сі: складений оператор ::={{ оператор }2} б Оператор вибору умовна форма Паскаль: оператор вибору ::=if вираз відношення then оператор Наприклад: if flg = true then { flg змінна...

Украинкский

2013-10-30

148 KB

9 чел.

Лабораторна  робота 9

ДОСЛІДЖЕННЯ СТРУКТУРНИХ ОПЕРАТОРІВ ОПЕРАТОРНОГО

БАЗИСУ МОВ ПРОГРАМУВАННЯ ПАСКАЛЬ ТА СІ

Мета лабораторної роботи - вивчити устрій структурних операторів мов Паскаль та Сі та дослідити можливості та особливості застосування різноманітних форм структурних операторів.

Теоретичні відомості

Оператор

Паскаль, Сі:

<оператори базису>::= <оператор опису>|<оператор привласнення>|

                                     <структурний оператор>

<оператор>::=<оператор привласнення>|<структурний оператор>

Структурні оператори

а) Складений оператор

Паскаль:

<складений оператор>::= begin{<оператор>}2end;

Сі:

<складений оператор>::={{<оператор>}2}

б) Оператор вибору (умовна форма)

Паскаль:

<оператор вибору>::=if<вираз відношення>then<оператор>

Наприклад:

if flag = true then   { flag – змінна логічного типу}

 begin

 iA := iA + 10; { iA – змінна цілого типу}

 flag := false;

 end;

Сі:

<оператор вибору>::=if (<вираз відношення>)<оператор>

<вираз відношення>::=<вираз><операция відношеня><вираз>

Наприклад:

if (flag == 1)   // flag – змінна цілого типу

{

iA = iA + 10;

 flag = 0;

} 

в) Оператор вибору (альтернативна форма)

Паскаль:

<оператор вибору>::=if<вираз відношення>then<оператор>else<оператор>

Наприклад:

if flag = true

iA:= iA * 10;

else

begin

 iA := iA + 10;

 flag := true;

end;

Сі:

<оператор вибору>::=if (<вираз відношення>)<оператор>;else<оператор>

Наприклад:

if (flag == 1)

{

iA = iA * 10;

flag = 0;

};

else

{

iA = iA + 10;

flag = 1;

}

г) Оператор вибору (охоронна форма/перемикач)

Паскаль:

<оператор вибору>::= case< вираз >of{<вариант вибору>}0  

                                    {else<оператор>}01  end

<вариант вибору>::={<літерал {..<літерал>}0 {,}0 }1: <оператор>

Наприклад:

case cB of     { cB – змінна символьного типу}

‘A’:   iA := iA +10;

‘B’, ‘C’: iA := iA +20;

‘D’:   iA := iA +30;

else  iA := iA +100;

end;

Сі:

<оператор вибору>::= switch (< вираз >){{ case<вариант вибору> }1

                                        {default: <оператор>}01  }

<вариант вибору>::=<R - вираз>: <оператор> break;

Наприклад:

switch cB

{

case ‘A’:  {iA = iA +10;  break;}

case ‘B’: {iA = iA +20;  break;}

case ‘C’:  {iA = iA +30;  break;}

default:  iA = iA +100;

}

д) Оператор повторення (форма repeat-until / do-while)

Паскаль:

<оператор повторення>::= repeat <оператор>until<вираз відношення>

Наприклад:

iMounth := 1;  { iMounth – змінна цілого типу}

repeat    { iAccount – змінна дійсного типу}

 iAccount := iAccount + iAccount/100;

iMounth := iMounth + 1;

until iMounth<=12;

            

Сі:

<оператор повторення>::= do<оператор>while(<вираз відношення>)

Наприклад:

iMounth = 1;  

do

{    

 iAccount = iAccount + iAccount/100;

iMounth = iMounth + 1;

}

while (iMounth<=12);

е) Оператор повторення (форма while-do)

Паскаль:

<оператор повторення>::= while<вираз відношення>do<оператор>

Наприклад:

iMounth := 1;

while iMounth <= 12 do

begin    

 iAccount := iAccount + iAccount / 100;

iMounth := iMounth + 1;

end;

Сі:

<оператор повторення>::= while(<вираз відношення>)<оператор>

Наприклад:

iMounth = 1;

while (iMounth <= 12)

{    

 iAccount = iAccount + iAccount/100;

iMounth = iMounth + 1;

}

ж) Оператор повторення (форма for-step-do)

Паскаль:

<оператор повторення>::=  for < оператор привласнення >to|downto

                                               <вираз> {step<вираз> }01do<оператор>

Наприклад:

for iMounth := 1 to 12 do

begin    

 iAccount := iAccount + iAccount / 100;

if iMounth > 6 then

 iAccount := iAccount + iAccount * 0.05;

end;

        

Сі:

<оператор повторення>::=  for ({< оператор привласнення >}01;

                {<вираз відношення>}01;{< оператор привласнення >}01){<оператор>}01

Наприклад:

for (iMounth = 1; iMounth <= 12; iMounth = iMounth + 1)

{    

 iAccount = iAccount + iAccount / 100;

if (iMounth > 6)

 iAccount = iAccount + iAccount * 0.05;

}

Правила написання програм

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

При написанні операторів вибору розташовуйте частини “then” і “else” окремо, розміщуючи їхній вміст окремо, кожний оператор на окремому рядку програми.

Розташовуйте кожний оператор у варіанті вибору (охоронна форма) на окремому рядку.

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

Не використовуйте, якщо не потрібно, дужок складеного оператора.

Не ставте однакових операторів у гілці операторів вибору.

Не використовуйте охоронну форму оператора вибору, замінюйте її альтернативною.

Не пишіть вироджених циклів, таких що не виконуються ані разу або можуть бути замінені явним повторенням (вибором).

Не вводьте у цикл операторів, не зв'язаних з повторенням.

Завдання

  1.  Вивчити устрій (синтаксис та семантику) наступних операторів Паскаль та Сі: складеного, вибору і повторення.
  2.  Написати програми на мовах Паскаль та Сі, що демонструють застосування різноманітних форм операторів вибору та повторення.

4. Написати програми на мовах Паскаль та Сі, які моделюють на бітовому рівні операції згідно з варіантом (табл.1). Для перевірки вірності роботи програм використати значення з варіанта.

Таблиця 1

варіанта

Мова

Операція

Операнд

Значення для перевірки

1

Паскаль

Лічильник збільшення на 1

1

31

56

-25

Сі

Операція відношення >

1

44

46

15

2

44

-7

30

2

Паскаль

Лічильник зменшення на 1

1

16

61

-37

Сі

Операція відношення  = =

1

100

-8

132

2

100

125

131

3

Паскаль

Операція відношення <

1

84

-77

63

2

83

-77

127

Сі

Операція додавання +

1

-10

15

31

2

12

41

32

4

Паскаль

Операція відношення >

1

88

34

23

2

88

2

57

Сі

Лічильник збільшення на 1

1

63

-18

92

5

Паскаль

Операція відношення  = =

1

11

84

61

2

11

-2

107

Сі

Лічильник зменшення на 1

1

-255

94

46

6

Паскаль

Операція додавання +

1

-52

31

111

2

18

32

49

Сі

Операція відношення <

1

-2

35

62

2

2

53

62

7

Паскаль

Лічильник збільшення на 1

1

-87

511

183

Сі

Операція відношення <

1

100

-8

132

2

100

125

131

8

Паскаль

Лічильник зменшення на 1

1

-24

128

13

Сі

Операція відношення >

1

0

36

16

2

-7

136

16

9

Паскаль

Операція відношення <

1

33

-6

26

2

117

-10

26

Сі

Лічильник збільшення на 1

1

-128

45

63

10

Паскаль

Операція відношення >

1

-1

94

537

2

-12

305

537

Сі

Лічильник зменшення на 1

1

0

-15

138

11

Паскаль

Операція відношення =

1

-57

124

1

2

-57

-10

2

Сі

Операція додавання +

1

82

229

-3

2

46

110

151

12

Паскаль

Операція додавання +

1

141

-12

173

2

115

205

347

Сі

Операція відношення =

1

-21

79

115

2

-21

80

41

13

Паскаль

Лічильник збільшення на 1

1

-43

75

63

Сі

Операція відношення =

1

48

69

24

2

48

78

25

14

Паскаль

Лічильник зменшення на 1

1

-92

16

62

Сі

Операція відношення <

1

54

38

143

2

54

40

129

15

Паскаль

Операція відношення >

1

211

183

86

2

211

182

134

Сі

Операція додавання +

1

69

48

53

2

-73

24

19

Методичні вказівки

Для моделювання на бітовому рівні арифметичних операцій та операцій відношення необхідно вміти вирішувати наступні задачі:

- визначати значення окремих бітів операнду(ів);

- формувати результат шляхом встановлення в 0 чи 1 певних бітів результуючого значення.

При цьому, реалізація операцій відношення потребує вирішення лише першої задачі, тоді як реалізація арифметичних операцій вимагає виконання обох задач.

Для визначення значення окремого n-го біту (sizeof(тип значення) >= n >= 0) операнду необхідно використовувати маску, що дорівнює 1, та бітові операції «І» та «зсув ліворуч». Наприклад, щоб дізнатись значення п’ятого біту вмісту цілої змінної iA необхідно виконати наступні перетворення:

iBitA := iA and (1 shl 5)  (Паскаль) або iBitA = iA & (1 << 5) (Сі).

Якщо значення iBitA дорівнюється 0, п’ятий біт числа iA також є рівним 0, якщо будь якому додатному значенню, біт дорівнюється 1.

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

Наприклад:

Операція відношення  = =

iA = 2510 = 110012

iBitA = iA and (1 shl 4) = 16 => 1

=> 1<>0 => iA<>iB

iB =   910 = 010012

iBitB = iB and (1 shl 4) = 0 => 0

Для вирішення завдання моделювання операцій додавання та лічильника недостатньо вміти визначати значення окремих бітів операндів, але потрібно формувати результуюче значення, використовуючи його бітове представлення. Для цього використовуються маска та бітові операції «зсув ліворуч», «АБО», «АБО, що виключає»:

Наприклад:

Операція додавання +

iA  = 2510 =   110012

iB  =   910 =   010012

iSum  = 3410 = 1000102

Результат iSum формується встановленням в 1 першого та п’ятого бітів, тобто:

1) iSum = 0,    iSum = 010 = 02

2) iSum = iSum or (1 shl 1), iSum = 210 = 000102

3) iSum = iSum or (1 shl 5), iSum  = 3410 = 1000102

Лічильник, або операції зменшення чи збільшення на одиницю не зводяться до операції додавання. Для отримання результату лічильника необхідно використовувати певні закономірності перетворення значень та застосовувати їх при побудові алгоритму для вирішення задачі.

Наприклад, при зменшені числа на одиницю в результуючому значенні всі біти, що дорівнюються 0, починаючи з молодшого, та перший слідуючий за ними біт, що дорівнюється 1, інвертуються, а старші залишаються незмінними. Для інвертування відповідних бітів використовується операція «АБО, що виключає».

Наприклад:

Лічильник зменшення на 1

iA  = 2510 =   110012

iA – 1  = 2410 =   110002

1) iA = iA xor (1 shl 0),  iA = 2410 = 110002

iA  = 2410 =   110002

iA – 1  = 2310 =   101112

1) iA = iA xor (1 shl 0),  iA = 2510 = 110012

2) iA = iA xor (1 shl 1),  iA = 2710 = 110112

3) iA = iA xor (1 shl 2),  iA = 3110 = 111112

4) iA = iA xor (1 shl 3),  iA = 2310 = 101112

Контроль знань та вмінь

Таблиця вмінь

Таблиця 2

Бінарні операції

лічильник

відношення

додавання

+

-

=

>

<

+

с

п

с

п

с

п

с

п

с

п

с

п

Контрольні запитання

  1.  Що таке система обчислення, позиційна система обчислення?
  2.  Визначте десяткову, вісімкову, шістнадцяткову, двійкову системи обчислення?

Як здійснюється перетворення значень, наведених у різних системах обчислення?

Наведіть загальні поняття подання значень в ЕОМ.

Наведіть подання значень з фіксованою точкою.

Наведіть подання негативних значень.

Що таке доповнення і для чого воно використовується?

Що таке плаваюча точка, дайте загальне поняття?

Наведіть точність арифметики в системі з плаваючою точкою.

Як здійснюється подання шістнадцяткових значень?

Як здійснюється подання символьних значень?


 

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

54334. Формування логічного мовлення школярів у період навчання грамоти засобами словниково-логічних вправ 192 KB
  Важливе місце у цьому процесі належить збагаченню словника дитини словаминазвами предметів їхніми якостями діями. Як свідчить практика головна увага вчителя у цей час спрямована на вивчення звукового комплексу слова тим часом його лексичне значення нерідко залишається поза увагою. Досвід підказує що шестирічна дитина здатна розрізняти і фонетичну і семантичну сторони слова усвідомлювати його як мовну одиницю. В основі методики формування лексичних понять необхідна робота над лексичним значенням слова.
54335. ВІДЛУННЯ ЕПОХ У МУЗИЧНОМУ МИСТЕЦТВІ 43.5 KB
  Без музики важко переконати людину яка вступає в світ у тому що людина прекрасна а це переконання по суті є основою емоційної естетичної моральної культури В. Загальна...
54336. Текстові формули (функції) Microsoft Excel (MICROSOFT OFFICE 2010) 263.5 KB
  Необхідно використовуючи текстові функції заповнити даними таблицю № Автор Назва книги Видавник Кількість сторінок. формат запису функції НАЙТИискомый_текст; просматриваемый_текст; начальная позиция в якості результату повертає позицію початку пошукового рядка тексту який міститься в даному рядку текста.
54337. Методичний конструктор як техніка підготовки педагогів до впровадження директивних інновацій 59.5 KB
  Цей методичний захід має бути необхідний закладу та учителям легкий у виконанні не обтяжуючий учасників заходу і водночас корисний Для цього треба не забувати про особливості навчання дорослих людей які мають свій досвід свої погляди на себе та оточуючий світ на розвиток себе в професії і суспільстві. Подруге підійдіть до розробки заходу дуже ретельно хоча на сучасному етапі саме розробка дійсно якісного методичного заходу не завжди є проблемою для цього є маса літератури з даного приводу але до технік що обираються треба...
54338. Використання методу проектів на уроках інформатики 187 KB
  Тема: Компютерні презентації Проект: Я інформую Тип проекту : інформаційнотворчий. Очікуваний результат: створення презентації засобами MS PowerPoint. Порада Перед створенням презентації бажано: Визначити тему та призначення презентації Створити схему сценарій презентації Спланувати зміст усіх слайдів їх стиль. ДОДАТКОВІ ВИМОГИ ДО ЗМІСТУ ПРЕЗЕНТАЦІЇ ЗА Д.
54339. ВИКОРИСТАННЯ ПРОЕКТНИХ ТЕХНОЛОГІЙ НА УРОКАХ МАТЕМАТИКИ ЯК ЗАСІБ АКТИВІЗАЦІЇ ПІЗНАВАЛЬНОЇ ДІЯЛЬНОСТІ УЧНІВ 107.5 KB
  Дуже важливою також є структуризація змістовної частини проекту із зазначенням поетапних результатів. Необхідною складовою методики здійснення проектної діяльності є складання загальної моделі що розглядається як умовний образ схема кінцевого результату проекту. Першим із них передбачено виконання завдань навчального проекту та здійснення презентації кінцевого інтелектуального матеріального продукту безпосередньо на уроці або під час проведення серії уроків з певної теми. Водночас педагогічна функція вчителя ускладнюється порівняно з...
54340. Метод проектів на уроках інформатики 78.5 KB
  Історія виникнення методу проектів Місце методу проектів у навчальному процесі Формування проектних компетенцій Метод проектів на уроках інформатики Висновки Використані джерела Вступ Сучасну практичну діяльність людства науковотехнічний та культурний прогрес у різних сферах суспільного буття неможливо уявити без проектування і проектів. Історія виникнення методу проектів Використання у навчальновиховному процесі методу проектів не є новим для українських шкіл. Першим увів поняття метод проектів...
54341. Культура Европы в XX - начале XXI вв.: противоречия и проблемы 28.21 KB
  Таким образом процесс подготовки и проведения такого учебного занятия как комбинированный урок увлекает студентов активизирует их достаточно свободно пользоваться простыми языковыми средствами в основных видах речевой деятельности: говорении аудировании чтении и письме. ФГОУ СПО Чебоксарский техникум строительства и городского хозяйства МЕТОДИЧЕСКАЯ КАРТА ЗАНЯТИЯ Дисциплина: Английский язык Группа: С41 Преподаватель: Бутакова Л. Тема занятия: Строительство зданий и сооружений Тип и вид занятия: комбинированный Цели занятия...