Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование     Программное обеспечение Программное обеспечение

Семантика оператора “case”

Чашка "Неваляшка".
Ваши дети во время приёма пищи вечно проливают что-то на ковёр и пол, пачкают руки, а Вы потом тратите уйму времени на выведение пятен с
222 руб
Раздел: Тарелки
Гуашь "Классика", 12 цветов.
Гуашевые краски изготавливаются на основе натуральных компонентов и высококачестсвенных пигментов с добавлением консервантов, не
170 руб
Раздел: 7 и более цветов
Фонарь желаний бумажный, оранжевый.
В комплекте: фонарик, горелка. Оформление упаковки - 100% полностью на русском языке. Форма купола "перевёрнутая груша" как у
87 руб
Раздел: Небесные фонарики

Семантика оператора “case”. Одной из форм оператора выбора в языке Pascal является оператор сase. Синтаксис этого оператора приведен ниже. сase &l ;выражение> of &l ;список констант>:&l ;оператор> {; &l ;список констант>:&l ;оператор>} e d Например: сase i mod 3 of 0: m:=0; 1: m:=-1; 2: m:=1; e d & ilde;ase sym of '=': k:=k 1; ' ', ' ', '/', '-': ; '!': l:=l 1; ':', ';': p:=p 1; e d 3.            сase день of ПН, ВТ, СР, ЧТВ, ПТН: wri el ('Рабочий день'); СБ, ВСКР: wri el ('Выходной день'); e d Ясно, что в этих примерах переменная i - типа i eger, переменная sym - типа char, день - перечислимого типа (ПН, ВТ, СР, ЧТВ, ПТН, СБ, ВСКР). Действие оператора сase из примера 1 можно было бы описать так: if i mod 3=0 he m:=0 else if i mod 3=1 he m:=-1 else if i mod 3=2 he m:=1; Перепишем эту последовательность вложенных условных операторов в следующем виде: if i mod 3=0 ® m:=0; i mod 3=1 ® m:=-1; i mod 3=2 ® m:=1; e d {if} В этой форме условия трех альтернатив просматриваются последовательно сверху вниз и выполняется первая альтернатива, условие которой выполнено. Обобщим теперь эту запись на большее число альтернатив следующим образом: if B1 ® S1; B2 ® S2;      . . .      Bk ® Sk e d {if} В этом обобщении последовательно сверху вниз просматриваются логические выражения Bi и для того i, где первым будет получено значение , будет выполнен оператор Si. Причем обязательно хоть одно Bi должно принять значение . Эту обобщенную форму условного оператора обозначим IF. Отсюда получаем. Определение 11.1.  Семантика оператора сase: wp(& ilde;ase, R)=($ i: 1&pou d;i&pou d;k: Bi) Ù (" i: 1&pou d;i&pou d;k: Bi & HOR ; wp(Si, R)) Отсюда должно быть видно, что: Всегда на текущем состоянии выполняется хотя бы одно Bi. Другими словами, предусловие этого оператора должно имплицировать любое Bi. Если на текущем состоянии выполняется Bi, то соответствующий Si перерабатывает это состояние в такое состояние, где должно выполняться постусловие R. Рассмотрим пример. Написать предусловие для оператора S& ilde;ase: & ilde;ase a of 1: b:=c a; 2: b:=a 1; 3: b:=a-c e d такое, что если этот оператор начинает работать в состоянии, удовлетворяющем этому предусловию, то он обязательно закончит свою работу и после ее выполнения мы получим состояние, удовлетворяющее условию R º b>1. Другими словами, надо вычислить wp(S& ilde;ase, b>1). Выпишем в соответствии с определением wp(Scase , b>1) = ((a=1)&Uacu e;(a=2)&Uacu e;(a=3)) Ù ((a=1) & HOR ; wp(b:=c a, b>1)) Ù ((a=2) & HOR ; wp(b:=a 1, b>1)) Ù ((a=3) & HOR ; wp(b:=a-c, b>1)) Преобразуем каждый из предикатов (1)-(3) в соответствии с определением семантики оператора присваивания. Получим: (a=1) & HOR ; (c a>1) º c>0 (a=2) & HOR ; (a 1>1) º 3>1 º (a=3) & HOR ; (a-c>1) º c&l ;2    В итоге с использованием правил эквивалентных преобразований из таблицы 5.8 получим ((a=1) Ù (c>0)) &Uacu e; (a=2) &Uacu e; ((a=3) Ù (c&l ;2)) Семантика оператора цикла. Здесь нам надо определить, как оператор цикла в языке Pascal меняет состояние вычислительного процесса.

Другими словами, если задано постусловие R, то каково должно быть для него предусловие wp, чтобы в результате выполнения оператора получить R. Операторы цикла в любом языке программирования реализуют операцию композиции повторения (см. лекция 3). В языке Pascal есть три вида оператора цикла: while B do S; for i:=E1 o E2 do S; (for i:=E1 dow o E2 do S) repea S1 ; S2 ; ; Sk  u il B; где B - логическое выражение, E1, E2 - выражения, S1 ; S2 ; ; Sk - операторы. С циклом вида (1) мы уже встречались в примере 9.1 вычисления членов гармонического ряда. Фрагмент программы (строки 5-8) показан на рис. 11.1 {Вычисление суммы ряда} {Инициализация цикла} s:=0; i:=1; {Вычисление суммы первых членов гармонического ряда} while i&pou d; do  begi   s:=s 1; i:=i 1 e d {while} Рис. 11.1. На рис. 9.3 были показаны все состояния вычислительного процесса программы Harmo ic для =5. Фактически каждая итерация этого цикла представляет из себя выполнение оператора if e dif на рис. 11.2, а операторы в строках 5,6 устанавливают значения для s и i, необходимые для начала цикла. if B1 ® s:=s 1/i; i:=i 1;    . . . . . B5 ® s:=s 1/i; i:=i 1; e dif , где "j: 1&pou d;j&pou d; : Bj = i=j. Рис. 11.2. Оператор IF, представленный на рис. 11.2, надо выполнять до тех пор, пока для очередного значения i истинен хоть один Bi º i= . Как только при очередном выполнении IF ни одно из условий не будет выполнено, то более повторять выполнение этого IF не надо. Обозначим BB=B1 &Uacu e; B2 &Uacu e; B3 &Uacu e; . &Uacu e; Bk , тогда оператор IF на рис. 9.2 надо выполнять до тех пор, пока выполняется BB. Теперь рассмотрим циклы вида (2). Для этого вернемся к примеру 10.1, программа для которого представлена на рис. 10.1. Интересующий нас в данный момент фрагмент дан на рис. 11.3. begi fc rl:=1; for i:=2 o do fc rl:=fc rl i e d {if =0} Рис. 11.3 Здесь был использован цикл вида (2). Все состояния вычислительного процесса, соответствующие этому циклу, были пока заны на рис. 10.2. Там же, в колонке, где указан номер итерации, указано и условие, при выполнении которого надо выполнять тело цикла на данной итерации. Рассмотрим оператор IF на рис. 11.4. i:=2 ; if B1 ® fc rl:=fc rl i; i:=i 1; B2 ® fc rl:=fc rl i; i:=i 1;    . . . . . B5 ® fc rl:=fc rl i; i:=i 1 e dif где "k: 1&pou d; k &pou d;5   Bk º i=k. Рис. 11.4 Если его выполнять до тех пор, пока выполняется BB, то мы получим конструкцию, эквивалентную той, что показана на рис. 11.3 с той оговоркой, что значение параметра цикла i после выхода из цикла на рис. 11.3 считается не определенным. Для того, чтобы убедиться в эквивалентности этих конструкций, достаточно построить вычислительный процесс, соответствующий циклическому выполнению IF с рис. 11.4 и сравнить его с вычислительным процессом на рис.10.2. Таким образом, мы видим, что циклы вида (2) тоже сводятся к последовательному выполнению операторов типа IF, пока выполняется условие BB. Рассмотрим теперь циклы вида (3): repea S u il B. На интуитивном уровне действие операторов цикла этого вида можно описать так: после каждого выполнения оператора S надо проверять условие B.

Если оно не выполняется, то надо выполнить S еще раз, если выполняется, то цикл заканчивается. Другими словами, оператор цикла вида (3) можно выразить оператор цикла вида (1) следующим образом: repea S u il B; º S; while ØB do S. Однако, как мы уже установили, оператор цикла вида (1) выражается через повторные выполнения оператора IF в соответствующей форме. Здесь уместно вспомнить, что при построении операции композиции повторения мы использовали операцию композиции выбора также. Мы приходим к выводу, что все наши три вида операторов цикла сводятся к повторному выполнению соответствующего оператора IF. Назовем эту конструкцию, лежащую в основе всех этих операторов цикла, циклом вида DO. Ее вид представлен на рис. 11.5. DO if B1 ® S1; B2 ® S2;      . . .      B ® S e dif E DO Рис 11.5. Цикл вида DO. Еще раз напомним, как он работает. Последовательно просматриваются сверху вниз условия Bi, и для первого выполненного условия выполняется надлежащий оператор Si. После этого опять cверху вниз, начиная с первого, просматриваются условия Bi. Выполнение оператора if заканчивается, когда при очередном просмотре ни одно Bi не будет выполняться. Итак, для определения семантики трех видов оператора цикла нам достаточно определить семантику оператора DO! Теперь, придя к пониманию того, что в основе всех циклов лежит конструкция DO, попытаемся выписать ее семантику, то есть определить вид предиката wp(DO, R) Для любого цикла нам важно обеспечить выполнение двух условий: Оператор цикла обязательно заканчивается. Работа этого оператора заканчивается в состоянии, удовлетворяющим постусловию R. Обозначим C0(R) предикат следующего вида: C0(R)=ØBBÙR, где BB - конъюнкция условий в операторе DO, а R - постусловие. Очевидно, что C0(R) выражает условия 1,2 для оператора цикла, т.е. что цикл заканчивается (это описывает условие ØBB) и заканчивается в состоянии R (это описывает второй конъюнкт R). Обозначим C1(R)= C0(R) &Uacu e; wp(IF, C0(R)), где wp(IF, C0(R)) - предусловие для оператора IF в операторе DO такое, что за одну итерацию цикла DO оператор IF переработает это состояние в состояние, удовлетворяющее условию C0(R), т.е. что цикл заканчивается  и заканчивается в состоянии R. Таким образом, условие C1(R) описывает состояние, на котором цикл DO закончится не более чем за одну итерацию в состоянии, удовлетворяющем R. Теперь обобщим предикат C1(R) для случая не одной итерации цикла, а k итераций, Ck(R)= C0(R) &Uacu e; wp(IF, Ck-1(R)), где k>0 . Этот предикат выражает условие, что либо на текущем состоянии цикл заканчивается (член C0(R)), либо за одну итерацию цикла мы получим состояние, начиная с которого цикл закончится не более чем за k-1 итерацию (член wp(IF, Ck-1(R))). Таким образом, нижеприведенный предикат: $ k: k³0: Ck(R)                           (11.1) выражает условия 1,2 для циклов. Однако, он мало что нам дает для понимания внутреннего устройства цикла, семантики итераций. Как мы уже сказали, важно гарантировать, что цикл закончится и непременно в состоянии, удовлетворяющем постусловию. Обеспечивает эту гарантию особое утверждение (предикат), сохраняющий истинность на любом состоянии, порождаемом в цикле.

Затем введенное число обрабатывается оператором switch. Если вводится 0, то это соответствует значению оператора case из строки 13 и на экран выводится сообщение Too small, sorry!, после чего оператор break завершает выполнение конструкции switch. Если вводится число 5, управление передается в строку 15 и выводится соответствующее сообщение. Затем выполняется строка 16, в которой также выводится сообщение, и так до строки 20. В этой строке оператор break завершает выполнение блока с оператором switch. Таким образом, при вводе чисел от 1 до 5 на экран будет выводиться ряд сообщений. Если же вводится число, превышающее 5, выполняется строка 21 с оператором default, в которой выводится сообщение Too large!. Обработка комманд менб с помощью оператора switch Вернемся к теме циклов с оператором for(;;). Такие конструкции называют бесконечными циклами, поскольку, если выполнение такого цикла не прервать оператором break, он будет работать бесконечно. Циклы подобного типа удобно использовать для обработки команд меню (листинг 7.17)

1. База данных для проекта досугового учреждения в городе Муроме Владимирской области

2. Информация, информатика, базы данных. Периферийные устройства

3. Пример базы данных на Delphi 2.0

4. Принципы проектирования и использования многомерных баз данных

5. Реляционные Базы Данных. SQL - стандартный язык реляционных баз данных

6. Примеры баз данных (Студенческая группа)
7. Современные системы управления базами данных
8. Создание и описание базы данных "СТУДЕНТЫ" (Отчет по курсу "Базы данных")

9. Разработка базы данных "Кадры"

10. Лекции по теории проектирования баз данных (БД)

11. Разработка базы данных

12. Система управления базами данных ACCESS

13. База данных - Бактериологическая испытательная лаборатория Боханского района

14. Создание базы данных "Библиотека"

15. Разработка рисунка настенного календаря с помощью графического редактора CorelDRAW. Создание базы данных «Туристических фирм г. Минска» с помощью пакета программ Access

16. Классификация баз данных

Полотенце вафельное "Сластена полосатка", банное, пляжное, 100х150 см.
Вафельное полотенце "Сластена полосатка". Легкое и практичное полотенце удобно использовать на пляже, в бане и в бассейне.
304 руб
Раздел: Большие, ширина свыше 40 см
Средство для мытья посуды Finish "All in 1 Max", в посудомоечных машинах таблетки, 65 штук.
Таблетки идеальны для использования на коротких циклах - таблетки быстро растворяются. Таблетки не нужно разворачивать! Специальные
880 руб
Раздел: Для посудомоечных машин
Шкатулка для ювелирных украшений, 13x13x6 см, арт. 84412.
Шкатулка сохранит ваши ювелирные изделия в первозданном виде. С ней вы сможете внести в интерьер частичку элегантности. Регулярно удалять
832 руб
Раздел: Шкатулки для украшений

17. Системы принятия решений, оптимизация в Excel и базы данных Access

18. HTML и базы данных

19. Работа в среде EXCEL. Средства управления базами данных в EXCEL

20. Опыт создания Базы Данных для источников личного происхождения

21. База данных страховой компании

22. Система управления базой данных объектов гражданской обороны для принятия решений в чрезвычайной ситуации (Диплом)
23. Visual C++. Бази даних Укр.
24. Археологический источник и база данных. Выбор модели.

25. Использование Internet/intranet технологий для организации доступа к базам данных

26. Создание баз данных в InterBase SQL Server

27. Введение в проектирование реляционных баз данных

28. Средства доступа к базам данных в Internet и свободно доступная СУБД POSTGRES95

29. Базы данных и файловые системы

30. Базы данных по законодательству в интернет и на компакт-дисках

31. Организация баз данных

32. Проектирование и реализация базы данных

Плакат электронный "Говорящий Букваренок".
Многим детям понравится представленная оригинальная обучающая игра ''Говорящий Букваренок'', ведь она имеет несколько
429 руб
Раздел: Электронные и звуковые плакаты
Тубус - карта "План покорения МИРА", магнитная, на холодильник.
Подарок заядлому путешественнику. Вы наверняка уже знакомы со знаменитой картой мира, верхний слой которой стирается монетой по принципу
1100 руб
Раздел: Прочее
Маркеры-кисти "Zendoodle. Edding 1340", 10 штук.
Набор фломастеров с гибким наконечником в виде кисточки. Различная толщина линии. Идеально подходит для раскрашивания печатей. Чернила на
664 руб
Раздел: 7-12 цветов

33. Excel 97 в качестве базы данных

34. База данных Бюро знакомств

35. Базы данных. Создание форм и отчетов (на примере ACCESS)

36. Иерархические структуры в реляционных базах данных

37. Операционная среда Windows. База данных Microsoft Access

38. Организация доступа к базам данных в Интернет
39. Перенос Базы Данных на WEB-сервер
40. Работа с базами данных

41. Реляционные базы данных

42. Создание баз данных в Microsoft Access

43. Создание и ведение баз данных

44. Упражнения по базам данных MS ACCESS (методичка)

45. Формирование базы данных

46. Некоторые аспекты обеспечения эффективности работы системы управления базами данных

47. Манифест систем объектно-ориентированных баз данных

48. Разработать программу на алгоритмическом языке программирования С++ , реализующую учебную систему управления базой данных

Копилка "Банкомат", синяя.
Забавная электронная игрушка - копилка выполнена в виде банкомата. Распознаёт номинал Российских монет. Широкий набор функций. Размеры
1919 руб
Раздел: Копилки
Тетрадь на резинке "Study Up", В5, 120 листов, клетка, фиолетовая.
Тетрадь общая на резинке. Формат: В5. Количество листов: 120 в клетку. Бумага: офсет. Цвет обложки: фиолетовый.
442 руб
Раздел: Прочие
Мебель для кукол "Гостиная Конфетти".
Комплектация: 2 кресла, 1 диван, 1 торшер, 1 стол. Материал: пластик. Подходит для кукол 30 см. Цвет мебели может отличаться от
662 руб
Раздел: Гостинные

49. Менеджер подключений к базам данных

50. Информационно-справочная система, обеспечивающая работу с базой данных Bit

51. Современные системы управления базами данных

52. Использование модели briefcase при разработке приложений баз данных

53. Базы данных SQL

54. Аспектно-ориентированные методы в управлении информационными потоками баз данных ДП АСУТП
55. Использование пакета Cold Fusion для MS Windows при построении WWW - интерфейсов к базам данных
56. Разработка базы данных «Магазин бытовой техники “Электрон” средствами СУБД MS Access»

57. Використання баз даних та інформаційно-пошукових систем для раціонального ведення діловодства

58. Правовая охрана программ для ЭВМ и баз данных

59. Автоматизация базы данных для ООО "ОриенБанк"

60. База даних "Теорія та практика прикладного програмування"

61. База даних лікарських препаратів

62. База даних по приватним підприємствам регіону

63. База даних студії веб-дизайну

64. База данный "Хозяйственный учет футбольного клуба"

Одноразовые стаканы, 3000 штук.
Изготовлены из экологически чистого полимера – полипропилена. Для горячих и холодных напитков. Пригодны для использования в микроволновых
2048 руб
Раздел: Одноразовые стаканы, рюмки
Хлебная форма прямоугольная, 0,5 кг.
Материал: алюминий. Вес: 0,5 кг. Высота: 10 см. Размеры по верхнему краю: 10x21 см.
334 руб
Раздел: Формы и формочки для выпечки
Набор для творчества "Ткацкий станок".
Не знаете, чем занять своего ребенка? Кажется, что малыш перепробовал уже все виды игр? Необычный набор для творчества "Ткацкий
378 руб
Раздел: Прочее

65. База данных "Автоматизация учета больных в студенческой больнице"

66. База данных "Архив"

67. База данных "Международные переговоры"

68. База данных "Сотрудники"

69. База данных "Такси"

70. База данных "фруктовый сад"
71. База данных MS Access
72. База данных аттестационных ведомостей

73. База данных видеокарт

74. База данных для ремонта автомобилей

75. База данных компьютерного магазина

76. База данных компьютерной фирмы

77. База данных по учёту видеокассет

78. База данных приёмной комиссии

79. База данных учащихся

80. Бази даних в Excel, Access з викликами на VBA

Шарики для бассейна, 500 штук.
Шариками можно наполнить бассейн, манеж, игровую палатку или домик. Материал: безопасный, экологически чистый пластик. Диаметр шара 7 см.
3027 руб
Раздел: Шары для бассейна
Набор первоклассника, для девочек, 16 предметов.
В наборе 16 предметов: - Подставка для книг. - Настольное покрытие для творчества. - Веер "гласные". - Веер
721 руб
Раздел: Наборы канцелярские
Рапидограф, 0,13 мм.
Чертежный прибор для черчения и рисования на бумаге, ватмане и чертежной пленке. Заправляется одноразовыми патронами. Пишущий узел
1584 руб
Раздел: Циркули, чертежные инструменты

81. Базы данных

82. Базы данных

83. Базы данных и информационные технологии

84. Базы данных и управление ими

85. Восстановление базы данных

86. Инфологическая модель базы данных "Защита доступа"
87. Инфологическая модель базы данных "Тестирование"
88. Инфологическая модель базы данных технологического процесса

89. Информационные базы данных: нормализация, связи и ключи

90. Использование электронной таблицы как базы данных. Сортировка и фильтрация данных в Microsoft Excel 97

91. Компьютерные технологии обработки экономической информации на основе использования систем управления базами данных

92. Методика создания структуры базы данных на персональном компьютере

93. Наращивание экономической и статистической информации в двухструктурных реляционных базах данных

94. Нормализация таблиц в реляционной модели базы данных

95. Организация баз данных и выбор систем управления базами данных

96. Основные принципы проектирования баз данных

Набор для составления букета из мягких игрушек "Конфетти", 3 зайки.
Яркий и нестандартный подарок - букет из мягких игрушек вызовет восторг у всех, независимо от возраста и положения. К тому же, этот букет
496 руб
Раздел: Дизайнерские игрушки
Магнитная азбука "Где Ёж?".
"ГДЕ ЁЖ?" — это стильная магнитная азбука из 54 букв с запоминающимся орнаментом! Когда ребёнок учит буквы, полезно, чтоб они
792 руб
Раздел: Буквы на магнитах
Плюшевый мяч с термопринтом "FIFA 2018", красно-синий, 17 см.
Плюшевый мяч FIFA несомненно понравится любителям футбола и их детям - мальчикам и девочкам любого возраста. Прекрасный сувенир украсит и
849 руб
Раздел: Брелоки, магниты, сувениры

97. Политика безопасности баз данных

98. Практика по созданию базы данных для гостиницы

99. Проектирование баз данных MS Access

100. Проектирование базы данных


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.