Главная » Просмотр файлов » 1611678431-0e68e83522cb9d960ac896aa5d90854d

1611678431-0e68e83522cb9d960ac896aa5d90854d (826635), страница 6

Файл №826635 1611678431-0e68e83522cb9d960ac896aa5d90854d (Билеты - Ответы) 6 страница1611678431-0e68e83522cb9d960ac896aa5d90854d (826635) страница 62021-01-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Так для рассмотренного примераNumberKind.Oct всегда отличается от Month.Oct.Для значений типа, заданного перечислением, из операций допустимытолько операции отношения, а также допустимы стандартные функции: succ-- взятие следующего (по порядку) значения, pred -- дает предыдущее (попорядку) значение, integer -- выдает порядковый номер значения. Используяимя типа в качестве имени стандартной функции можно конвертироватьцелое число в значение, имеющее соответствующий порядковый номер,например, Month(0) выдает первое значение значения типа Month.16.

Понятие оператора, простые операторы языка Паскаль,формализация семантики оператора присваиванияОператоры играют роль команд ,они изображают действия ВМ по изменениютекущего состояния памятиОператоры могут быть простые (элементарные) и сложные(структурированные).Примером простого оператора является оператор присваивания, а также пустойоператор (он состоит только из точки с запятой), который записывается пустойпоследовательностью символов и изображает тождественное действие, неменяющее текущего состояния памяти ВМ.(а:;)Структурированные операторы образуются из других операторов ипредписывают определенную последовательность выполнения своихкомпонентов.Одним из наиболее важных элементарных операторов является операторприсваивания, синтаксис которого определяет диаграмма рис.

2.5.Assignment = Designator ":=" Expression.Рис. 2.5. Оператор присваиванияДействие, предписываемое оператором присваивания, сводится к запоминаниюзначения выражения в указанной переменной, к замещению текущего значенияуказанной переменной на текущее значение выражения. Другими словами,какими бы ни были значения и соответственно у переменнойивыражениядо выполнения оператора присваивания, после еговыполнения значение переменнойстанет равным . Например, пусть передвыполнением операторазначение переменной x равно 2 и значениепеременной y равно 5. Тогда после исполнения оператора присваивания17.

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

рис. 2.6).BlockStatement = begin StatementSequence end.StatementSequence = Statement {";" Statement}.Рис. 2.6. Составной операторСоставной оператор предписывает исполнение составляющих его операторов впорядке написания. Символы begin и end называются операторными скобками,а разделитель ";" действует как операция следования и означает, что следующийоператор будет выполняться только тогда, когда закончится выполнениепредыдущего.Например, если Xи-- переменные целого типа, то каждый из следующихсоставных операторов в случае своего нормального завершения (при некоторыхначальных значениях у X иво втором операторе возможно переполнение)меняет значения у переменных X иbegin Z := X; X := Y; Y := Z end,begin X := X + Y; Y := X - Y; X := X - Y end.3.1.2 Условный операторДля задания разветвляющихся вычислительных процессов обычноиспользуются условные операторы, которые относятся к структурированнымоператорам языка Zonnon.

Синтаксис условного оператора приведен на рис.3.3.IfStatement =if Expression then StatementSequence{elsif Expression then StatementSequence}[else StatementSequence]end.Рис. 3.3. Синтаксис условного оператораУсловный оператор в стандартной форме состоит из условия (логическоговыражения) и двух последовательностей операторов, размещенных послесимвола then и после символа else. Действие всего такого условного операторасовпадает (если при вычислении условия не возникают побочные эффекты, или,что тоже, самое изменения в состоянии памяти -- см.

п. 6.1.5) с действиемодной из двух составляющих его последовательностей операторов, выборкоторой для исполнения осуществляется по значению условия, вычислениекоторого начинает выполнение условного оператора. Условный операторназначает к исполнению первую последовательность операторов (он стоитнепосредственно после символа then), если на текущем состоянии памяти ВМусловие принимает истинное значение, либо вторую последовательностьоператоров (она находится за символом else), если условие ложно.Рис.

3.4. Пример блок-схемыНапример, условный оператор if XY then Z := X else Z := Y end присваиваетпеременноймаксимальное из значений переменныхии описываетсяблок-схемой рис. 3.4.Рассмотрим задачу вычисления корней уравнения, заданногокоэффициентами , и . Предположим, что aи что корнидействительны. Тогда возможным решением является следующая программа,использующая правила Виета:module Корни3;var A,B,C,X1,X2,D,E : Real;beginread(A,B,C);D := sqrt(Sqr(B) - 4 A C);if B>= 0 then X1 := -(B+D)/(2 A) else X1 := (-B+D)/(2 A) end ;X2 := C/(X1 A);write(X1,X2)end Корни3.Предусматривается возможность сокращенной записи вложенности одногоусловного оператора в другой.

Например, операторif E1 then S1 else if E2 then S2 else S3 end end,где E1, E2, E3 - произвольные последовательности операторов, можно записатьв видеif E1 then S1 elsif E2 then S2 else S3 end.В этом случает говорят, что условный оператор содержит не одну, а двеохраняемые последовательности операторов (E1и E2), первая из которыхохраняется выражением E1, а вторая - выражением E2. Действие всего такогоусловного оператора совпадает (если при вычислении условия не возникаютпобочные эффекты, или ,что тоже, самое изменения в состоянии памяти -- см. п.6.1.5) с действием одной из трех составляющих его последовательностейоператоров, выбор которой для исполнения осуществляется по значениюусловий E1и E2, вычисление которых происходит, начиная с E1. Условныйоператор назначает к исполнению первую последовательность операторов S1,если на текущем состоянии памяти ВМ условие E1 принимает истинноезначение, вторую последовательность операторов S2, если условие E1 ложно, аE2 истинно, и третью последовательность S3, если условия E1и E2 ложны.Например, программа распознавания -- равно ли данное натуральное числонекоторому нечетному числу, умноженному на два (печатает "ДА", если ответположительный, и "НЕТ" -- в противном случае) -- может иметь следующийвид:module Проверка;var N : integer;begin read(N);if odd(N) then write('НЕТ')elsif N mod 4# 0 then write ('ДА')else write ('НЕТ')endend Проверка.Ее управляющая структура описывается блок-схемой рис.

3.5.Рис. 3.5. Блок-схема программы ПроверкаВ общем случае условный оператор может содержать произвольное числоохраняемых логическими выражениями последовательностей операторов.Логическое выражение, предшествующее операторной последовательности,называется ее предохранителем. Предохранители вычисляются в порядке ихвхождения, если один из них принимает значение true, выполняетсяассоциированная с ним последовательность операторов. Если неудовлетворяется ни один предохранителей, выполняется последовательностьоператоров, следующая за символом else, если он есть.3.1.3 Оператор выбораУсловный оператор позволяет выбрать в зависимости от значенийпредохранителей, являющихся логическими выражениями, одну из несколькихпоследовательностей операторов, образующих альтернативные варианты.CaseStatement = case Expression of Case {"|" Case} [else StatementSequence] end.Case = [CaseLabelList ":" StatementSequence].CaseLabelList = CaseLabels {"," CaseLabels}.CaseLabels = ConstExpression [".." ConstExpression].Рис.

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

гл. 4).При выполнении оператора выбора условие осуществляет выбор варианта -выполняется тот альтернативный оператор, среди меток вариантов которогоесть константа, совпадающая с текущим значением условия (если такой меткине окажется, то фиксируется ошибка в программе).Например, оператор выбораcase X of'=' : K:=0|'*', ' + ' : K:=1|'-' : K:=2else K:=3endравносилен операторуif X = ' = ' then K := 0elsif (X = '*') or (X = '+') then K := 1elsif X = '-' then K := 2else K:=3end.Используя оператор выбора, можно построить следующую программу печатиназвания дня недели по его номеруmodule ПечатьДня;var Номер : integer;beginread (Номер);if (Номер < 1) or (Номер > 7)then write ('Ошибка в номере!')elsecase Номер of1: write ('ПОНЕДЕЛЬНИК')| 2: write ('ВТОРНИК')| 3: write ('СРЕДА')| 4: write ('ЧЕТВЕРГ')| 5: write ('ПЯТНИЦА')| 6: write ('СУББОТА')| 7: write ('ВОСКРЕСЕНЬЕ')endend ПечатьДня.Это же вычисление можно осуществить следующим образом:module ПечатьДня1;var Номер : integer;beginread (Номер);case Номер of1: write ('ПОНЕДЕЛЬНИК');| 2: write ('ВТОРНИК')| 3: write ('СРЕДА')| 4: write ('ЧЕТВЕРГ')| 5: write ('ПЯТНИЦА')| 6: write ('СУББОТА')| 7: write ('ВОСКРЕСЕНЬЕ')else write ('Ошибка в номере!')endend ПечатьДня1.18.

Операторы цикла языка Паскаль, формализация семантики операторы цикла с условием напродолжениеЦикл — разновидность управляющей конструкции в высокоуровневых языках программирования,предназначенная для организации многократного исполнения набора инструкций. Также цикломможет называться любая многократно исполняемая последовательность инструкций,организованная любым способом (например, с помощью условного перехода).4.1.1 Оператор цикла с условием на продолжениеДаже решение такой простой задачи, как суммирование элементовпоследовательности вещественных чисел, нельзя представить в виде Zonnonпрограммы, не использующей других языковых средств, кроме уже описанных впредыдущих главах. Программа должна удовлетворять спецификации:4.1. Синтаксис оператора цикла с условием на продолжениеПусть B обозначает некоторое логическое выражение, а-последовательность операторов.

Тогда действие, выражаемое операторомwhile B do S end,можно представить какif B then S; while B do S end end,т.е., следуя данному оператору, ВМ проверит истинность логическоговыражения ; если на текущем состоянии памяти B истинно, то выполнитсяпоследовательность операторов , затем опять проверится истинность B, ноуже на новом текущем состоянии памяти, и опять выполнитсяпоследовательность операторов , если B истинно; и так будет продолжаться(повторяться) перевычисление операторомтекущего состояния памяти до техпор, пока первый раз выражение B не станет ложным.

Управляющая структураоператора цикла while B do S end, в котором называется телом цикла,а while B do -- заголовком цикла, описывается блок-схемой рис. 4.2.Рис 4.1. Блок-схема оператора цикла с условием на продолжениеИспользуя оператор цикла, программуСуммаЭлементовПоследовательности можно представить как:module СуммаЭлементовПоследовательности1;var СУММА,ЭЛЕМ : real;begin СУММА := 0; (* {СУММА = Сумма(Input1),while ~ Eof do(* {СУММА = Сумма(Input1),read(ЭЛЕМ); СУММА := СУММА + ЭЛЕМ(* {СУММА = Сумма(Input1),end;(* {СУММА = Сумма(Input) }*)write (СУММА)end СуммаЭлементовПоследовательности1.*)*)*)Блок-схема этой программы приведена на рис.

Характеристики

Тип файла
PDF-файл
Размер
19,07 Mb
Высшее учебное заведение

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6358
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее