Мобильные персональные компьютеры: виды, варианты исполнения, их сравнение

Автор работы: Пользователь скрыл имя, 27 Февраля 2013 в 13:59, контрольная работа

Описание работы


Ноутбук (англ. notebook – блокнот, блокнотный ПК) – портативный персональный компьютер, в корпусе которого объединены типичные компоненты ПК, включая дисплей, клавиатуру и устройство указания (обычно сенсорная панель, или тачпад), а также аккумуляторные батареи. Ноутбуки отличаются небольшими размерами и весом, время автономной работы ноутбуков изменяется в пределах от 1 до 15 часов.

Содержание работы


1. Настольные ПК: комплектующие, варианты конструктивного исполнения, их сравнение.
2. Типы данных языков программирования, структуры данных.
Практическая часть
Список литературы

Файлы: 1 файл

контрольная по информатике.docx

— 120.75 Кб (Скачать файл)

Как кажется, основной причиной появления полиморфизма первого  типа является желание использовать для обозначения операций абстрактных  типов привычные знаки операций, принятые во встроенных типах данных. Например, если определяется абстрактный тип данных "комплексные числа", то было бы естественно использовать знак "+" для обозначения сложения, "-" - для обозначения вычитания и т.д. Кроме того, для того же типа хотелось бы использовать один и тот же знак "+" для обозначения операций сложения двух комплексных чисел, сложения комплексного числа с вещественным и вещественного с комплексным.

Технику, обеспечивающую возможность  ввести новую интерпретацию уже  используемых знаков операций и/или  имен функций и процедур, принято  называть "перегрузкой". Перегрузка существует и в языках, не поддерживающих абстрактные типы данных, в частности, в языке программирования Ада. Но, с нашей точки зрения, особенно существенны возможности перегрузки именно в языках с абстрактными типами данных.

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

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

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

Типы и структуры  данных, применяемые в реляционных  базах данных

 

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

Практически все современные  реляционные СУБД опираются на стандартный  язык баз данных SQL и поддерживают встроенные типы данных, специфицированные  в этом языке. Если не вдаваться в  синтаксические детали, то типы данных в стандарте языка SQL/92 определяются следующим образом:

Тип данных определяется как  множество представляющих его значений. Логическим представлением значения является литерал. Физическое представление  зависит от реализации. 

Значение любого типа является примитивным в том смысле, что  в соответствии со стандартом оно  не может быть логически разбито  на другие значения. Значения могут  быть определенными или неопределенными. Неопределенное значение - это зависящее  от реализации значение, которое гарантированно отлично от любого определенного  значения соответствующего типа. Можно  считать, что имеется всего одно неопределенное значение, входящее в  любой тип данных языка SQL. Для  неопределенного значения отсутствует  представляющий его литерал, хотя в  некоторых случаях используется ключевое слово NULL для выражения  того, что желательно именно неопределенное значение.

SQL/92 определяются типы данных, обозначаемые следующими ключевыми словами: CHARACTER, CHARACTER VARYING, BIT, BIT VARYING, NUMERIC, DECIMAL, INTEGER, SMALLINT, FLOAT, REAL, DOUBLE PRECISION, DATE, TIME

TIMESTAMP и INTERVAL.

Типы данных CHARACTER и CHARACTER VARYING совместно называются типами данных символьных строк; типы данных BIT и BIT VARYING - типами данных битовых строк. Типы данных символьных строк и типы данных битовых строк совместно называются строчными типами данных, а значения строчных типов называются строками.

Типы данных NUMERIC, DECIMAL, INTEGER и SMALLINT совместно называются типами данных точных чисел. Типы данных FLOAT, REAL и DOUBLE PRECISION совместно называются типами данных приблизительных чисел. Типы данных точных чисел и типы данных приблизительных чисел совместно  называются числовыми типами. Значения числовых типов называются числами.

Типы данных DATE, TIME и TIMESTAMP совместно называются типами даты-времени. Значения типов даты-времени называются "дата-время". Тип данных INTERVAL называется интервальным типом.

Поскольку основным способом использования языка SQL при создании прикладных информационных систем является встраивание операторов SQL в программы, написанные на традиционных языках программирования, необходимо для всех потенциально используемых языков программирования иметь правила  соответствия встроенных типов SQL встроенным типам соответствующих языков. Стандарт обеспечивает такие соответствия. В  частности, для языка Си установлены  следующие соответствия: CHARACTER соответствует  строкам Си (массивам символов, завершающимся "пустым" символом); INTEGER соответствует  long; SMALLINT соответствует short; REAL соответствует float; DOUBLE PRECISION соответствует double. Естественно, это не означает, что в базах данных числа хранятся именно в той форме, в которой они представляются в Си-программе. Необходимые преобразования представлений обеспечиваются на интерфейсе прикладной программы и СУБД.

Важным понятием реляционных  баз данных, зафиксированным в  стандарте языка SQL, является понятие  домена. Домен - это именованное множество  значений некоторого встроенного типа, ограниченное условием, задаваемым при  определении домена. Условие определяет вхождение значения базового типа во множество значений домена. В некотором  смысле можно считать понятие  домена расширением понятия ограниченного  типа в языках программирования. В  частности, если столбец C некоторой  таблицы определен на домене D, то система гарантирует, что в этом столбце будут присутствовать только значения домена D. Кроме того, считается  допустимым соединять таблицы T1 и T2 по значениям столбцов C1 и C2 только в том случае, когда C1 и C2 определены на общем домене D.

Значения всех упомянутых типов (и определенных на них доменов) имеют фиксированную или, по крайней  мере, ограниченную длину. Даже для  типов CHARACTER VARYING и BIT VARYING длина допустимого  значения обычно ограничена размером страниц внешней памяти, используемых СУБД для хранения баз данных. В  связи с потребностями современных  приложений (географических, мультимедийных, категории CAD/CAM и т.д.) в большинстве СУБД поддерживается дополнительный, не специфицированный в стандарте SQL псевдотип данных с собирательным названием BLOB (Binary Large Object). Значения этого типа представляют собой последовательности байт, на которые на уровне СУБД не накладывается никакая более сложная структура и длина которых практически не ограничена (в 32-разрядных архитектурах - до 2 Гбт). Необходимая структуризация значений типа BLOB производится на прикладном уровне. Традиционные СУБД обеспечивают очень примитивный набор операций со столбцами типа BLOB - выбрать значение столбца в основную память или в файл и занести в столбец значение из основной памяти или файла.

Типы и структуры  данных, применяемые в объектно-реляционных  базах данных

 

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

В настоящее время отсутствует  общая точка зрения относительно того, что должна обеспечивать объектно-реляционная  СУБД по части обеспечения типовой  среды (похоже, что до принятия следующего стандарта - SQL-3 - окончательной ясности  так и не будет). Однако наличие  на рынке по крайней мере трех развитых систем с объектно-реляционными расширениями дает возможность сделать небольшой предварительный обзор обязательных возможностей.

Строчные типы данных

 

Одним из недостатков классического  реляционного подхода к построению баз данных является то, что при  определении схемы таблицы ее имя одновременно становится именем самой таблицы. Т.е. отсутствует возможность  отдельно определить именованную схему  таблицы, а затем - одну или несколько  таблиц с той же самой схемой. Для устранения этого недостатка (а также получения некоторых  дополнительных преимуществ; см. ниже) в объектно-реляционных системах появилось понятие строчного типа.

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

Наследование таблиц и семантика включения

 

Если таблица определена на одном строчном типе (без добавления столбцов), то разрешается использовать ее как супертаблицу и производить на ее основе подтаблицы с добавлением столбцов. При этом используется семантика включения.

Считается, что любая супертаблица включает строки всех своих подтаблиц, спроецированных на заголовок супертаблицы (кроме того, при работе с супертаблицей можно явно указать, что пользователя или прикладную программу интересуют только "собственные" строки супертаблицы). В ряде случаев использование механизма наследования таблиц с использованием семантики включения позволяет более правильно (без излишеств) спроектировать базу данных и обойтись без привлечения операторов объединения при формулировке сводных запросов.

Типы коллекций

 

Типы коллекций находятся  ближе всего к конструируемым типам языков программирования и  внедряются в объектно-реляционные  базы данных, чтобы ликвидировать  или, по крайней мере, смягчить ограничение  первой нормальной формы (атомарности  значений столбцов), накладываемое  классической реляционной моделью  данных. К типам коллекций относятся  типы массива, списка и множества. Заметим, что в данном случае (в отличие  от языков программирования) не устанавливаются  ограничения на мощность базового типа множества (в силу специфики расположения данных во внешней памяти).

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

Объектные типы данных
Эта разновидность  типов ближе всего к абстрактным  типам данных в языках программирования. Идея состоит в том, что сначала  специфицируется определяемый пользователем  тип данных (переименовывается некоторый  встроенный тип, определяется строчный тип или тип коллекции). Затем  для этого типа можно специфицировать (конечно, предварительно написав соответствующие  программы) ряд определяемых пользователем  функций. Строго говоря, после этого  можно считать, что тип инкапсулирован этим набором функций, хотя не все  разработчики считают строгую инкапсуляцию необходимой.
После полной спецификации объектного типа его можно использовать как встроенный или любой ранее  определенный тип. Видимо, в будущих  реализациях объектно-реляционных  СУБД появится и полная возможность  наследования объектных типов.

Литература

1. Информатика [Текст]: практикум  по технологии работы на компьютере / под ред. проф. Н.В. Макаровой. – М.: Финансы и статистика, 2003. – 256 с.

2. Симонович, С.В. Общая информатика [Текст] / С.В. Симонович. – 1-е изд. – СПб.: Питер, 2006. – 432 с.

3. ru.wikipedia.org


Информация о работе Мобильные персональные компьютеры: виды, варианты исполнения, их сравнение