Главная » Просмотр файлов » Virt N. Algoritmy struktury dannyh = programmy (ru)(T)(410s)

Virt N. Algoritmy struktury dannyh = programmy (ru)(T)(410s) (522393), страница 5

Файл №522393 Virt N. Algoritmy struktury dannyh = programmy (ru)(T)(410s) (Алгоритмы + структуры данных = программы) 5 страницаVirt N. Algoritmy struktury dannyh = programmy (ru)(T)(410s) (522393) страница 52013-09-14СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Сутью искусства программирования обычно считается умение составлять операции. Однако мы увидим, что не менее важно умение составлять данные. Важнейшие основные операции — это сравнение и присваивиниг, т. е. проверка равенства (и порядка в случае упорядоченных типов) и команда «установки равенства». Принципиальное различие этих двух операций выражается четким различием их обозначений в тексте (хотя опо, к сожалению, скрыто в таких широко распространенных языках, как Л Фундаментальные структуры денных Фортран и ПЛ/1, которые используют знак равенства в ка. честве оператора присваивания): Прояерка равенства: х = у Присваивание: х:= у Этн основные операции определены для большинства типов данных, но следует заметить, что для данных, име>ощих большой объем и сложную структуру, выполнение этих операций может сопровождаться довольно сложными вычислениями.

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

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

1.3. ПРОСТЫЕ 1ИПЬ$ ДАНМЫХ Во многих программах целые числа используются в точ случае, когда их собственно числовое значение несущественно и когда целое число указывает на выбор значения из небольшого множества возможных вариантов. В подобных случаях мы вводим новый, простой, неструктурированный тип Т, перечисляя множества всех его возможных значений с>, сь ..., сел (1.1) 1уре Т=-(сь с„., „с„) Кардинальное число Т есть сагй(Т) = и. Примеры: 1уре фигура=(прямоугольник, квадрат, эллипс, круг) 1уре цвет*=(красный, желтый, зеленый) 1уре пол = (мужской, женский) 1уре Воо1еап = ()а1ге, 1тие) дХ Просте~е типы данных 2! Фуре день = (понедельник, вторник, среда, четверг, пятница, суббота, воскресенье) Фуре валюта =- (франк, марка, фунт, доллар, шиллинг, лира, гульден, крона, рубль, крузейро, иена) Фуре обитель=(ад, чистилии(е, раи) Фуре транспорт = (поезд, автобус, автомобиль, пароход, самолет) Фуре звание = (рядовой, капрал, сержант, лейтенант, капитан, майор, полковник, генерал) Фуре объект = (константа, тип, переменная, процедура, функция) Фуре структура=(файл, массив, запись, множество) Фуре состояние=(выключено, пустое, ошибка, перекос) При определении таках типов вводится не только новый иден.

тнфихатор типа, но одновременно — множество идентификаторов, соответствующих значениям этого типа. Эти идентификаторы могут затем использоваться в программе кан константы, при этом программа становится намного понятней. Если, например, мы определим переменные з, с(, г и Ь тагз: пол чагй день наг г: звание наг Ь: Воо1еап то возможны следующие операторы присваивания: з:= мужской й:= воскресенье г:= майор Ь;=!гие Очевидно, что они намного более информативны, чем операторы з:=1 с(:=7 г:=6 Ь:=2 которые будут им соответствовать, если з, д, г и Ь определить как переменные цело~о типа, а соответстнующие константы изображать натуральными числами, определенными поридком перечисления.

В дальнейшем транслятор может выявлять неуместное использование арифметических операций на таких нечисловых типах, каи, например: з:=в+ 1 Однако если тип считается упорядоченным, то полезно определить функции, которые выдают предшествующее и последующее значения для своего аргумента. Эти функции Л Фундаментальные етрунтуры данные обозначаются как зиса(х) (последующее значение) и ргег1(х) (предшествующее значение). Упорядоченность значений типа Т определяется правилом (с, ( сг) — (г < 1) (1.2) ТМ. СТАНДАРТНЫЕ ПРОСТЫЕ ТИПЫ Стандартные простые типы — это типы, которые явлиотся встроенными для большинства ЭВМ.

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

Но предполагается, что все действия с данными этого типа являются точными и выполняются по обычным правилам арифметики и что вычисление прерывается, если результат оказывается за границами допустимого подмножества. Стандартные операции — это четыре действия арифметики: сложение (+), вычитание ( — ), умножение (*) и деление (б)ч). Последнее должно давать целый результат, опуская возможный остаток, так, что для любых т и и т — и < (т б)чи)'п(т.

(1.3) Операция взятия остатка определяется с помощью деления уравнением (т сВ ч и)' и + (т гпоб и) = и. (1.4) Таким оораэом, т б(ч и — это целое от деления т на и, а ги шоб и — остаток от деления. Тип «еа( обозначает подмножество вещественных чисел. В то время как арифметические действия с целыми числами дают точные результаты, для арифметических действий со значениями типа геа1 допускается неточность в пределах ошибок округления, так как в вычислениях участвует конечное число цифр, В этом состоит явное различие между типами гигедег и геа1, существующее в большинстве языков программирования. Деление вещественных чисел, дагощее вещественный результат, мы обозначаем косой чертой (/), а дсление целых чисел — й)ч.

Два значения стандартного типа Воо1еаи (булевское) обозначаются идентификаторами 1гие (истина) и )а)зв (ложь), 1ли Стандартные простые типы 2з Таплнца 1.1. Булевснне операции Операции над булевскими значениями — это логические конъюнкция, дизъюнкция и отрицание, значения которых приведены в табл, !.1. Логическая конъюнкция обозначается символом 'Л (или апт(), логическая дизъюнкция — символом ~/ (или ог), а отрицание — символом 1 (илн по1). Заметим, что операции сравнения дают результат типа Воо(еап. Следовательно, результат сравнения можно присваивать какой- либо булевской переменной или использовать в качестве операнда в булевских выражениях. Например, пусть даны булевские переменные р и д и целые переменные х = 5, у = 8, г = 10, тогда присваивания р:= — х= у д: = (х < у) А (у < з) дают р = )а1зе и д = 1тие. Стандартный тип сйат включает множество печатаемых символов, К сожалению, не существует общего стандартного множества символов, принятого во всех вычислительных системах.

Поэтому использование слова «стандартный» может здесь ввести в заблуждение; его следует понимать в смысле «стандартный для вычислительной системы, на которой должна выполняться данная программа». По-видимому, наиболее широко используется множество символов, определенное Международной организацией по стандартизации (150), и особенно его американская версия АЬСП (американский стандартный код для обмена информацией). Поэтому в приложении А дана таблица символов АБСП.

Она включает 95 печатаемых (графи«еских) символов и 33 управляющих символа; последние используются в основном для передачи данных и для управления печатающим устройством. Широко распространено подмножество из 64 печатаемых символов (только прописные буквы), которое называется ограниченным множеством АЯСП, Для того чтобы описывать алгоритмы, работающие с символами, т. е. значениями типа сйат, независимо от вычислительной системы мы определим некоторые свойства Д Фундннентальньи структура данных множества символов, делающие его связным. Это следующие свойства: ! 1. Тнп сйаг содержит 26 латинских букв, !О арабских цифр и некоторое количество других графических символов таких, как знаки препинания. 2.

Подмножества букв и цифр упорядочены и связны, т, е. ('Л' к х) Л (х < '2') = — х — буква, (О ~~х) Л (х.=. 9')= — х — цифра. (1.5) 3, Тип сйаг содержит непечатаемый, пустой символ (пробел), который может использоваться как разделитель. (На рис. 1.1 пробелы обозначаются как .) Для написания программ в машинно-независимом виде особенно важно наличие функций преобразования между Рве. !.!. Представление текста. двумя стандартными типами сйаг и 1»т1едсг. Мы называем эти функции огс((с) — порядковый номер символа с в множестве сйаг и сйг(1) — 1-й символ множества сйаг. Таким образом, сй» вЂ” это обратная функция от огЫ и наоборот, т.

е. огс((сй»Я) = с (если сй»Я определена), сйг(гг»с1(с)) = с. Особого внимания заслуживают функции те (с) = о»4с) — огс(('О') = положение с среди цифр, й (1) = сйг(! + о»4'О')) = с-я цифра. Например, 1('3') = З„д(5) = '5'. Таким образом, 1 — обратная функция от д и наоборот, т. е.

К(д(1))=1 (Оч='1~~9), д'~(с))=с ('О'~(с:- '9'). Эти функции преобразования используются для перевода внутреннего представления чисел в последовательности цифр и наоборот. Они фактически и представляют собой такой пе« ревод на простейшем уровне — для одной цифры.

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

Тип файла
DJVU-файл
Размер
9,82 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

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