lekcii2 (Лекции), страница 8

DJVU-файл lekcii2 (Лекции), страница 8 Информатика (113): Лекции - 1 семестрlekcii2 (Лекции) - DJVU, страница 8 (113) - СтудИзба2013-09-14СтудИзба

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

DJVU-файл из архива "Лекции", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "информатика" в общих файлах.

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

Распознанный текст из DJVU-файла, 8 - страница

Интерпретация этих внутримашинных изображений р осуществляется неявно через алгоритмы выполнения операций и вычисления отношений, связанных с соответствующим типом данных. Например, операция +, являющаяся атрибутом целого типа, по двум заданным изображениям операндов получает слово, являющееся изображением целого числа, представляющего их сумму.

Если же изобра,жения обьектов подлежат ручной обработке человеком, опи могут быть записаны на бумаге и в таком осязаемом органами чувств виде непосредственно обработаны им. Множество изображений, <:оставляющих тип данных, может быть задано несколькими способами. 1. Непосредсгпоеннь<л«1<еуечисленг«м изобрао<еспи<<. Когда их немного, удобно задать список слов, как, например, в Паскале и в Си для типа «Светофор»: Суре Тгайс1 1д1ТСв -- (ге<1, У<'ПО%', ~~ГЕСП); епшп Тгайс11фСэ Сгес1, уе11о«, аге<еп); Персчислимые типы в конечном счете сводятся к начальному отрезку натурального ряда и„следовательно, имен<т эффсктивнун> машинную реализацикь Поэтому в языках системного программирования нет псрсчислимого типа: без лишних условностей В этОм ка~<ествс используется цс:1ый или ад1»есный типы. Пср<"1ислимый тип не мО- жет быть первичным, поскольку он «паразитирует» на целом типе; непосредственная аппаратная реализация перечислимого типа физически непроста и нецелесообразна в связи с эффективной компиляцией на любую аппаратную платформу матпины фон Неймана.

2. заданием харит<еристическо<< <11ункиг<и 1(и<) <предиката), определенной на некотором множестве изображ<*,ний 1. С И', которая принимает значение Исти»<а, если изображение относится к данному типу. Нередко такие функции позволяют весьма эффективно устанавливать прина,члсжность конкретного изображения множеству допустимых слов Ь. Например, легко проверить принадлежность значения отрезку (диапазону). Этот тип также не может быть первичным т. к. он базируется на некотором надмножестве И', которое должно иметь аппаратную или приравненную к ней низкоуровневую программную или микропрограммную поддержку. 3.

С помощью системы аксиом, определяющих изооражения через их свойства. Этот математически красивый спосоо позволяет легко задать потенциально бесконечное множество значений. Однако он неконструктивен, не позволяет в явном виде порождать значения типа или работать с ними. Создание аппаратуры или программного обеспечения. конструктивно реализующих удовлетворяющие аксиоматике атрибуты такого типа, дает возможность создания первичного тгша,не основанного ни на каком другом.

Тьюринговская модель вычислений в качестве такого элементарного базового аппаратно поддерживаемого типа использует набор литер рабочего алфавита, над которым создаются надстройки, позволяющие работать со словами, числами и т, д. 136 Задание типа данных первыми двумя способами предполагает, что уже имеется множество изображений, из которых выделяется этот тип. Следовательно, в языке программирования обязательно должен быть хотя бы один тип, задаваемый способом 3.

Отсутствие аппаратной реализации базового типа г<репятствует автоматическому выполнению программ, использующих как этот тип, так и все надстройки над ним. Тип, который задается аксиоматически и имеет физическую реализацию, называется базовь<л«11<ива,»<. Атрибуты базовых типов машины фон Неймана, реализуются управляющим устройством этой машины и процессорами типов данных. Итак, в языке программирования должен быть определен по крайней мере один базовый тип.

Даже при наличии только одного типа данных можно описывать любыс алгоритмы. Однако на, языке, в котором имеется только один тип данных, удобно описывать алгоритмы, связанные только с этим типом данных. Что касается остальных алгоритъ<ов, ф1пс1п<1е<солпр1ех> ~О С вЂ”:-'! Суре солпр1ех — гесог<1 В.е, 1<п: геа1 епд; эС<1 х сошр1ех с1, с2, сЗ, с4; сЗ -- с1, с2; с4 -- СЗ: ъаг с1, с2, сЗ, с4: сошр1ех: 1' Поко.лллюнентное сложение с ирисеаиеаниелл 2' с3.1Се: -= с!.Ве — с2.Ке; сЗ. 1<п: — с1.1пл — ' с2.1гп; 137 то при их описании на рассматриваемом языке мы фактически находимся в условиях, близких к МТ. Например, в первой <печествеллной ЭВМ БЭСМ был реализован двоичный процессор целого типа.

Поэтому при <.оставлении программ, реализующих вычисления с вещественными числаъли на языке этой машины., возникали дополнительные и весьма, серьезныс трудности, связанные с необходимостью реализовывать процессор вещественного типа программным путем. Такис же проблемы возникали при реализации первых бортовых ЭВМ. В языке программировашля удобно иметь н<х:колько базовых типов данных. Несмотря на избыточность такого решения с точки зрения абсолютной вычислимости, практическая <эф<рективная) вычислимость, как правило, осуществляется с помощью нескольких типов данных. Основными базовыми типами языков программирования являются логический (В001 ЕАЯ), целый (1ХТЕСЕВ.), вещественный 1ВЕАБ) и литерный (СНАК).

Они позволяют описать алгоритмы решения широкого класса задач автоматической обработки данных, поскольку имеют либо пряълую аппаратную поддержку, либо эффективно компилируются. Полный набор типов данных, при наличии которых в языке программирования существенно упрощается процесс написания программ, а сами программы становятся компактными, наглядными, понятными, а потому более надежными, зависит от поставленной задачи. Например, при разработке программы решения задачи, связанной с электрическими цепями, нужны коълплекспые числа. Конечно, можно написать программу на языке, где нет такого типа даш|ых, и использовать вместо каждого комплексного числа массив из двух вещественных чисел, первое из которых представляет действительную часть, а второе мнимую, и заменить все операции над комплексными числами операциями над их действительными и мнимыми частями.

Однако при этом пропадут все преимущества использования комплексных "лисел и прог1эаммы сугцественно усложнятся. П1)и наличии коз<плексного типа достаточно указать., какие переменные и константы (по именам) этого типа используются в программе, и знать, какие оперъщии определены над данными этого типа.

Нагллядность использования комплексных чисел сохранится. Рассмотрим примеры реализации комплексных чисел па, Паскале, Си и С--4 . ,~1у пней 1леализаллией на Паскал< и Си следу<.т с литать запи«.ы Опе1лшпли надо выполнять вручную, покомпонентно. В стандартной библиот<ке языка Сэ 4 есть тип сотр!ех, реализуклций,помимо представления чисел, .также операции и отнопления в стандартной (инфи«спой) записи., приближенной к математической нот:ции. В последнем стандарте языка Си 1БО,<1ЕС 9899:1999 ЦС99~) можно писать сотр!ех г — 5 + Зе1; т Обычное нрисеаиеанне тт с4: сЗ; В некоторых языках программирования [Фортран, Бейсик) нет записей и структур.

Поэтому комплексные числа приходится размещать в двухэлементных массивах. Неудобство также за,ключается в том, что в болыпинстве таких языков присваивание массивов покомпонентно. Здесь Паскаль приятное исклктчение. Суре соптр1ех - — аггау[1..2] оГ геа1; т аг с1, с2, сЗ, с4: сошр1ех; Предыдущая запись плоха тем, что компоненты комплексного числа не поименованы, а пронумерованы. Если в пашем распоряжении имеется перечислимый тип, программа может иметь более ясный вид: Суре рагС вЂ” [Ке, 1ттт]; Суре сошр1ех — аггау(ратС] оГ геа1; епшп ратС СКе — О, 1ш - 11; Сурет1еГ НоаС сошр1ех [2]; ътаг с1, с2, сЗ, с4: соп1р1сх: сотт~р1ех с1, с2, .сЗ, с4; Наконец, можно реализовать комплексное число парой вещественных скалярных переменных,.

представлякпцих вещественнукт и мнимую части. Но из-за ужздельного хранения компонент комплексного числа все операции, отношения, вклкятая присваивание, также придется выполнять вручную, что совсем далеко от математической формы записи. айаг Ке1, Ке2, КеЗ, Ке4: геа1; 1тп1, 1ш2, 1тпЗ, 1ш4: геа1; ЯоаС Ке1, Ке2, КеЗ, Ке4; ЯоаС 1ш1, 1ш2, 1шЗ, 1пт4; Другой пример.

Пусть имеется два массива из вещественных чисел: массив А и массив 138 сЗ[1] -- с1[1] + с2(1]; сЗ[2] =- с1[2] + с2[2]; с4:== сЗ; сЗ (Ке): — с1 [Ке] 8 с2(Ке]: сЗ [1ттт(:-- с1[1тп] 8 с2[1пт]; с4:= сЗ; КеЗ г-- Ке1 —, Ке2; 1тпЗ: 1тп1 + 1ш2: Ке4:== КеЗ; 1пт4: -- 1шЗ; Сурет1еК ЯоаС сотпр1ех [2]; сошр1ех с1, с2, сЗ, с4; сЗ [О] -- с1[0] + с2[0]; сЗ (1] — с1(1( + с2 (1]: с4[0] == сЗ(0]; с4[1] = сЗ[1]; сЗ[Ке( — с![Кс( 1 с2[Ке):, сЗ[1тт1( с1[1пт( 1 с2(!ш]; с4 [Ке) сЗ(Ке); с4(1ш] - сЗ[1пт); КеЗ -- К,е1 + Ке2; 1шЗ 1тп1 + 1тп2; Ке4 == КеЗ; 1тп4 - 1птЗ; 1п~ >., А~100~, В~100); Ког(1 0; 1 < 100; >-1+) Ар) — В[~ ~; л"аг Л, В: аггау~1..100! оГ 1пСепег; А: В; Наличие же в языке Паскаль типа массив дает возможность записать в таком случае один оператор присваивания А: — В.

И это не просто короткая запись. Когда имеется процессор типа массив (пусть и с ограниченным набором операций и отношений (только присваивание и только равенство)), он естественным образом будет проверять выход за границы массива, так как гйюцессор «знает», из скольких элементов состоит каждый массив и не допустит, чтобы один массив непредусмотренным образом наложился на другой. Итак, наличие в языке нужного типа данных упрощает программы и исключает ошибки программирования. Предусмотреть в множестве базовых типов универсального языка программирования все те типы даэп>ь>х, которые могут быть полезными при решении задач из разных предметных областей, невозможно. Поэтому в языке необходимо предусмотреть возможность введения новых типов и дать средства их конструирования на основе базовых типов данных.

Испо»ьзуя эту возможность, программист может существенно улучшить и упростить свои програмлльь Мы уже касались простейших способов введения новых типов, та,ких как перечислимыс типы и типы диапазонов (отрезков). Во многих задачах целые числа используется не в качестве арифметических операндов, а, для нумерации элементов конечных множеств. Нумерация элементов дает удобство их упорядочивания и обработки, но затрудняет смысловую идентификапик> нумерованных значений.

В таких случаях в программе удобно иметь возможность привести список всех возлгожных значений. Наприл>ср, нумерация состояний мап>ины Тьк>ринга удобна, для представления выполнимой Хьюринговской програллмы, но затрудняет составление алгоритма (см. пример первой "Гьюринговской программы): используя ълнемоничные имена состояний мы легко и безошибочно составили таблицу переходов. Итак, в основе перечислимого типа лежит идея явного задания слов изображений значений, как правило, перенумерованных в порядке написания, и несущих некоторую семантическую нагрузку. При определении этого типа данных следует привести изображения всех констант, обозначающих все возможные значения этого типа, а также указать множества операций и отношений, применимых к данным этого типа.

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