1611678431-0e68e83522cb9d960ac896aa5d90854d (Билеты - Ответы), страница 5

PDF-файл 1611678431-0e68e83522cb9d960ac896aa5d90854d (Билеты - Ответы), страница 5 Программирование (85810): Ответы (шпаргалки) - 2 семестр1611678431-0e68e83522cb9d960ac896aa5d90854d (Билеты - Ответы) - PDF, страница 5 (85810) - СтудИзба2021-01-26СтудИзба

Описание файла

PDF-файл из архива "Билеты - Ответы", который расположен в категории "". Всё это находится в предмете "программирование" из 2 семестр, которые можно найти в файловом архиве НГУ. Не смотря на прямую связь этого архива с НГУ, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 5 страницы из PDF

формирование порядка: к порядку +4 прибавляется 1. Обаслагаемых положительны, поэтому никаких преобразований нетребуется:0 1 0 00 0 0 10 1 0 1Таким образом, результат примера 2 имеет вид:0 1 0 1 1 0 1 1 0Поскольку мантисса результата отрицательна, она представлена вдополнительном коде и требует перевода в прямой код. Для этого выполнимсоответствующие преобразования:0 1 0 1 1 0 1 1 0⇓ в обратный код0 1 0 1 1 0 1 0 1⇓ в прямой код0 1 0 1 1 1 0 1 0Очевидно, не всегда компьютер в состоянии справиться с переполнением присложении вещественных чисел. Ограничением является размер разрядной сетки порядка.Сокращение14. Выражения языка Паскаль.

Утверждения как множества состояний памятиВыраженияВыражение задает правило вычисления некоторого значения. Выражениесостоит из констант, переменных, указателей функций, знаков операций искобок.Математические операцииВ таблице приведены основные математические операции Турбо Паскаль.Символ операции Название операцииПример*умножение2*3 (результат: 6)/деление30/2 (результат: 1.5E+01)+сложение2+3 (результат: 5)вычитание-5-3 (результат: 2)divцелочисленное деление 5 div 2 (результат: 2)modостаток от деления5 mod 2 (результат: 1)Логические операцииНад логическими аргументами в Турбо Паскаль определены следующиеоперации:NOT - логическое отрицание ("НЕ")AND - логическое умножение ("И")OR - логическое сложение ("ИЛИ")XOR - логическое "Исключающее ИЛИ"Результаты выполнения этих операций над переменными А и В логическоготипа приведены в таблице истинности.AtrueBtruetruefalsefalsetruefalse falsenot A A and B A or B A xor BfalsetruetruefalsetruefalsetruetruefalsetruetruefalsefalsefalseОперации отношенияК операциям отношения в Турбо Паскаль относятся такие операции, как:> - больше< - меньше= - равно<> - не равно>= - больше или равно<= - меньше или равноВ операциях отношения могут принимать участие не только числа, но исимволы, строки, множества и указатели.Приоритет операцийПорядок вычисления выражения определяется старшинством (приоритетом)содержащихся в нем операций.

В языке Паскаль принят следующий приоритетопераций:унарная операция not, унарный минус -, взятие адреса @операции типа умножения: * / div mod andоперации типа сложения: + - or xorоперации отношения: = <> < > <= >= inПорядок выполнения операций переопределить можно с помощью скобок.Например 2*5+10 равно 20, но 2*(5+10) равно 30.Основные математические функцииВ этом разделе приведены основные математические функции, встроенные всистемную библиотеку Турбо Паскаль.Abs(X)Возвращает абсолютное значение числа X.Cos(X), Sin(X)Возвращает косинус (синус) числа X, где X - угол в радианах.Функций тангенс и котангенс в Турбо Паскале нет.

Для их вычисленияиспользуйте выражение sin(x)/cos(x) (или cos(x)/sin(x) для котангенса).ArcTan(X)Возвращает арктангенc числа X.Exp(X)Возвращает число, равное e в степени X.Ln(x)Возвращает число, равное натуральному логарифму от числа X.PiЧисло Пи.Sqr(X)Возвращает число, равное квадрату числа X.Функции возведения в произвольную степень в Турбо Паскале нет. Используйтемногократное умножение для возведения в целочисленную степень, либофункции Exp и Ln для возведения в вещественную степень.Sqrt(X)Возвращает число, равное квадратному корню из числа X.Trunc(X)Возвращает число, равное целой части числа X.

(Происходит отбрасываниедробной части числа X. Результат выполнения имеет тип Longint).Frac(X)Возвращает число, равное дробной части числа X.Int(X)Возвращает число, равное целой части числа X. Результат выполнения функции- real.Round(X)Функция округляет число X. Возвращаемое значение имеет тип Longint.Random(X)Возвращает случайное целое число в диапазоне 0..X. Если аргумент опущен(Random), то возвращается случайное вещественное число от 0 до 1.Перед использованием random в программах рекомендуется сначалаинициализировать генератор псевдослучайных чисел процедурой Randomize.

Впротивном случае при каждом запуске программы будет генерироваться одна ита же последовательность случайных чисел.Пример. Вывод на экран 5 случайных чисел в диапазоне -10..10.var i: integer;beginrandomize;for i:=1 to 5 do writeln(random(21)-10);end.Inc(X,Y)Увеличивает значение числа X на Y.

Если число Y не указано, то увеличениепроисходит на 1.Dec(X,Y)Уменьшает значение числа X на Y. Если число Y не указано, то уменьшениепроисходит на 1.2.3.3 Утверждения как множества состоянийСпецификация программы содержит два утверждения: утверждение дано,которое описывает состояние входного файла Input до исполнения программы,и утверждение получить, которое описывает содержимое выходного файлаOutput после завершения выполнения программы, если выполнениепрограммы началось в состоянии, удовлетворяющем дано.

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

Например, для ВМ с двумя переменными X и Y двасостояния {(X,2),(Y,3)} и {(X,2),(Y,4)} описывает следующее утверждение означениях переменных X и Y:(X=2)&((Y=3)or(Y=4)).Утверждение вообще и логическое выражение в частности выражает, илиописывает, множество состояний, в котором оно истинно. Так, пустоемножество, не содержащее состояний вообще, представимо логическимвыражением false, поскольку false не истинно ни в одном состоянии.

Множествовсех состояний представимо логическим выражением true, поскольку trueистинно во всех состояниях.Говорят, что утверждениеутверждение), еслислабее(а утверждениеявляется следствиемсильнее, чем(т.е. истиннаимпликация). Более сильное высказывание сильнее ограничиваеткомбинации значений переменных, описываемых им, а более слабое -- слабее. Втерминах множеств состоянийслабее, чем , если оно "менееограничительно": множество состояний, описанное , содержит по меньшеймере те состояния, которые описывает , а возможно, еще идругие. Слабейшее утверждение -- это true (или любая другая тавтология): онопредставляет множество всех состояний; сильнейшее утверждение -- это false:оно представляет пустое множество.15. Средства конструирования простых типов в языке ПаскальСредства конструирования простых типов в языке Паскаль: введениесинонимических типов, задание отрезков типов, типы, заданные перечислением значений1.

Введение синонимических типов5.1.2 Введение синонимических типовНаиболее простой способ определения нового типа -- это связывание сновым именем множества значений и набора операций уже известноготипа, например, стандартного (см. рис. 5.1). Рассмотрим следующуюпрограмму:module ПлощадьТреугольника;const МНОЖИТЕЛЬ = 0.5;type ДЛИНА = real; ПЛОЩАДЬ = real;var ВЫСОТА, ОСНОВАНИЕ : ДЛИНА; ОТВЕТ: ПЛОЩАДЬ ;beginread( ВЫСОТА,ОСНОВАНИЕ );ОТВЕТ := МНОЖИТЕЛЬ ОСНОВАНИЕ ВЫСОТА;write(ОТВЕТ)end ПлощадьТреугольника.В ней определены два новых типа ДЛИНА и ПЛОЩАДЬ, множествозначений каждого из которых -- это множество вещественных чисел снабором доступных для них операций. По существу определение типатакого вида -- это просто введение синонима уже известного типа.

Цельтакого определения понятна -- повысить наглядность программы.2. Задание отрезков типов5.1.3 Задание отрезков типовВо многих случаях, когда переменная описывается как имеющая некоторыйпростой тип, известно, что она будет хранить значения лишь из некоторогоподмножества значений данного типа. Это практически всегда имеет местодля целых переменных.Для любого простого типа (за исключением вещественного) в Паскалеможно создать новый тип (см. рис.

5.2), значения которого составляютинтервал значений исходного типа, называемого базовым. Этот новый тип,называемый отрезком базового типа, сохраняет все свойства базового типас учетом ограничения диапазона его значений.Пусть имеются определения:type ГОД = 1900..2000; БУКВА = 'A'..'Z'; ЦИФРА = '0'..'9';var Х : ГОД; Y : БУКВА; Z : ЦИФРА;тогда не разрешены присваиванияХ:=1812; Z:='A';Нетрудно видеть, что использование типов, заданных как отрезки типов,не только повышает наглядность программы, но и влияет на ееэффективность и надежность, поскольку снабжает транслятордополнительной информацией для выявления возможных ошибок впрограмме и экономии ресурсов ЭВМ.Рассмотрим небольшой пример использования отрезков типов.

Пустьтребуется подсчитать средний рост (в сантиметрах) студента в заданнойучебной группе. Эту задачу решает следующая программаprogram СреднийРост;const МинРост = 100; МаксРост = 300; N = 40;type РОСТ = МинРост .. МаксРост; НОМЕР = 1..N;var СТУД, ОТВЕТ : РОСТ; К : НОМЕР; S : Integer;beginK= 0; S := 0;repeat Read( СТУД ); К := К+1; S := S + СТУД{S - сумма элементов из Input1,until Eof {Ограничивающее выражение:ОТВЕТ := S div K;Write( ' Средний рост студента равен ', ОТВЕТ )end.;3.

Типы, заданные перечислением значений5.1.4 Типы, заданные перечислением значенийЧасто программист использует отрезок целых чисел в тех ситуациях,когда собственно числовое значение несущественно, а число -- это простономер одного из небольшого упорядоченного множества возможныхвариантов. В подобных случаях Zonnon разрешает вводить новый(простой) тип через перечисление по порядку имен всех его значений (см.рис. 5.2), например,type NumberKind = (Bin, Oct, Dec, Hex);Month = (Jan, Feb, Mar, Apr, May, Jun, July, Sep, Oct, Nov, Dec);Перечисление является типом, который состоит из именованного спискаидентификаторов, обозначающих значения, которые составляют тип. Этиидентификаторы квалифицируются именем типа при использовании вкачестве именованных констант в программе, например, Month.Jan - имяпервой константы типа Month.Значения упорядочены, и их отношение порядка определяется ихтекстуальной последовательностью в перечислении. Нет других значений,принадлежащих данному типу.

Порядковый номер первого значения равеннулю и увеличивается на единицу при переходе от любого элементаперечисления к следующему идентификатору.EnumType = "(" IdentList ")".IdentList = ident { "," ident }.Рис. 5.2. Синтаксис перечисляемого типаИмена в различных перечислениях не обязаны различаться, поскольку всегдаквалифицируются при использовании.

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