Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Примеры программ



Проверить, является ли целое число простым. Uses crt;

Var n{введенное число},i:integer;

Begin

Readln(n);

For i:=2 to n-1 do

If n mod i =0 then begin writeln(n,’не простое’);readkey; halt;end;

writeln (n, ‘простое’);

readkey;

end.

91 Механизм использования шаблонов в Delphi.

Delphi — это объектно-ориентированный язык, в котором присутствует множество классов (объектов) и определенных зависимостей, которые уже реализованы и готовы к употреблению, что помогает упростить и облегчить разработку приложений. Но наиболее важными зависимостями в свете объектной модели шаблонов являются: наследование классов, виртуальные (virtual) и абстраткные (abstract) методы, использование защищенного (protected) и общедоступного (public) определения методов. Все это позволяет создавать шаблоны программирования, которые можно использовать много раз и легко расширять их возможности. Так же, как любой объектно-ориентированный язык, Delphi позволяет повысить функциональность и стабильность шаблонов путем изоляции основных свойств и методов от их собратьев, могущих подвергнуться модификации.
И самый простой пример — это сама Delphi, расширяемая среда разработки, благодаря своей пакетной архитектуре, интерфейсам среды разработки (IDE) и интерфейсам инструментов (Tools). Эти интерфейсы определяют множество абстрактных и виртуальных конструкторов и операций (методов), которые широко используются как при написании программного обеспечения, так и при расширении самой среды разработки (написание своих компонентов, мастеров, экспертов).
Хочу заметить, что в этой статье многие названия и определения представлены "как есть". Я посчитал это более удобным, чем заниматься переводом названий шаблонов и других терминов на русский, так как не всегда можно передать точное определение при переводе, а смысл термина терять не хотелось бы. Так что здесь и далее все названия шаблонов оставлены на английском языке, как, впрочем, и исходный код примеров, хотя я допускаю, что, возможно, в других источниках, отличных от моих, названия и термины могут варьироваться. Но пусть это вас не озадачивает, так как из описания впоследствии станет понятно о назначении каждого отдельно взятого шаблона. Также перечисленные шаблоны не претендуют на звание полного перечня шаблонов. Они просто отражают мои знания в этой области из тех источников, что будут перечислены ниже.
Список некоторых часто используемых шаблонов (всего их больше сорока) представлен в таблице.

Название шаблона

Определение

Singleton

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

Adapter

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

Template Method

Определяет каркас (Skeleton) алгоритма или его части в глобальной операции, позволяя разбивать выполнение на несколько шагов, передавая его подклассам. То есть подклассы получают возможность переопределить некоторые шаги алгоритма без изменения всей структуры алгоритма.

Builder

Отделяет создание объекта от его практического представления так, что один конструктор может создавать различные представления объекта.

Abstract Factory

Предоставляет механизм создания семейства связанных между собой или зависимых друг от друга объектов, не требуя при этом описания конкретных классов.

Factory Method

Определяет интерфейс, позволяющий создать объект, но дает возможность подклассам решать, какой класс реализовать. Factory Method позволяет классу иметь подклассы, то есть потомков.

Теперь перейдем непосредственно к описанию каждого шаблона и примерам, поясняющим их назначение.
Singleton. Этот шаблон — один из самых простейших. Его главная задача — обеспечивать глобальную (внутри приложения) единственность создаваемого объекта или класса. Существует несколько примеров реализации этого шаблона в Delphi VCL. К ним можно отнести TApplication (в одном проекте может существовать только один объект типа TАpplication — группу проектов *.bpg будем считать набором простых проектов), TScreen (опять же — только один объект подобного типа существует; операционную систему Unix не берем в расчет;), системный экран в Windows NT/2000 также не считается, так как до него практически не добраться, да он нам и не нужен), TClipBoard (даже в MS Office 2000 он один, несмотря на то, что можно хранить там несколько объектов копирования-вставки). Этот шаблон можно использовать везде, где есть необходимость в единственном (именно единственном, а не одном — тут надо разделить эти понятия) глобальном объекте (классе) в вашем приложении. Использование этого шаблона может быть полезным в проектировании глобального обработчика некорректных операций (exception handler), организации безопасности в приложении или для реализации единой (и единственной) точки входа интерфейса для другого приложения.
Чтобы реализовать класс подобного типа, достаточно перекрыть конструктор и деструктор класса, чтобы при их вызове обращение шло напрямую к глобальной переменной класса. В конструкторе необходимо сделать проверку на существование переменной класса. Если она существует, то конструктор должен прекратить свою работу, в противном случае — создать экземпляр и присвоить ему переменную класса. В деструкторе необходимо выполнить действия по освобождению переменной, если она ссылается на экземпляр, который уже был уничтожен.
Следующий пример показывает, как выглядят два подобных класса, отвечающих описанному выше Следующий в нашем рассмотрении шаблон — Adapter. Типичный пример — это файл-оболочка, который генерирует среда Delphi, когда вы импортируете ActiveX-библиотеку или VB-Object. Этот файл-оболочка содержит новый класс, который транслирует интерфейс импортируемого элемента управления в интерфейс на языке Pascal. Другой очень широко распространенный пример: необходимо построить интерфейс для нескольких систем сразу, которые отличаются чем-то существенным друг от друга. Например, с помощью такого механизма можно реализовать совместимость написанного вами компонента в Delphi 5 с несколькими более ранними версиями Delphi.
Таким образом, класс TАdaptedCustomer существует как прослойка между двумя другими классами, обеспечивая их нормальное взаимодействие — преобразование данных в понимаемый новым классом формат.
Это одни из самых простых шаблонов. Как я уже писал, всего их около 40, но я не буду настолько распространяться, и в следующей статье мы рассмотрим еще несколько шаблонов, более сложных, чем приведенные выше. Тем не менее, чем выше их сложность, тем большую пользу они могут принести вам при использовании в ваших разработках. И чем быстрее вы научитесь использовать полученные знания с пользой, тем проще и легче станет вам работать, программировать.

140 ТИПЫ СЕТЕЙ СВЯЗИ И ТЕНДЕНЦИИ ИХ РАЗВИТИЯ.

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

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

Корпоративные сети связи (КСС) предназначены для обеспечения производственно-хозяйственной деятельности (ПХД) корпораций (организаций, объединений). Появление корпораций по времени совпадает с распадом СССР, приватизацией государственных предприятий и целых отраслей. По своим функциям и статусу корпоративные сети связи могут быть приравнены к ведомственным сетям, поэтому имеют хождение оба термина. Можно согласиться с автором работы [4], где предлагается использовать термин «ведомственная сеть» к сетям преимущественно с коммутацией каналов, а термин «корпоративная сеть» - к интегрированным гибридным сетям.

1. 24 АРХИТЕКТУРА ЭВМ: ОБОБЩЕННАЯ СТРУКТУРНАЯ СХЕМУ ЭВМ (ФОН НЕЙМАНА) Персональная ЭВМ типа IBM PC включает в себя микропроцессор (МП), оперативную память и устройства ввода-вывода (УВВ), объединенные между собой системной шиной.
Микропроцессор предназначен для выполнения собственно арифметических и логических операций и управления взаимодействием блоков компьютера. Оперативная память хранит операнды и программу во время ее выполнения. Устройства ввода-вывода обеспечивают обмен информацией между ядром компьютера (МП и ОП) и средствами ввода и отображения данных. Сюда относятся мониторы, печатающие устройства, графопостроители, жесткие и гибкие магнитные диски и т. д. Компьютер строится по магистрально-модульному принципу, при котором все блоки компьютера связываются между собой системной шиной, предназначенной для обмена данными, адресной и управляющей информацией между составными частями ЭВМ. При такой организации в любой момент может быть установлена связь только между двумя модулями ЭВМ. Системная шина определяет общий порядок обмена между любыми блоками компьютера, а также максимальное количество используемых устройств ввода-вывода. Она включает в себя шину адреса (ША), шину данных (ШД) и шину управления (ШУ), содержащую набор линий, по которым передаются управляющие сигналы между блоками компьютера. Специфика каждого конкретного блока учитывается особыми управляющими устройствами – контроллерами, входящими в состав этих блоков, например, работой жесткого диска управляет контроллер жесткого диска, используя информацию, поступающую к нему от микропроцессора по системной магистрали.В состав микропроцессора входят: 1 -арифметико-логическое устройство (АЛУ), предназначенное для выполнения арифметических и логических операций; 2 -внутренняя регистровая память, состоящая из восьми 16-разрядных регистров; четыре из них допускают раздельное использование своих младших и старших байтов, обеспечивая тем самым возможность обработки как 16-разрядных слов, так и байтов информации; 3- устройство управления, включающее в себя - буфер команд, который представляет собой регистровую память объемом 6 байт, предназначенную для хранения выполняемой в данный момент команды (аналогично регистру команд в структуре классической ЭВМ) и заполняемую очередными командами из оперативной памяти по мере своего освобождения; * дешифратор кода операций, определяющий тип выполняемой команды; блок управления операциями, который на основании расшифрованного дешифратором кода операции формирует управляющие сигналы, организующие работу всех блоков микропроцессора ;4- указатель команд (IP – instruction pointer), определяющий адрес выполняемой команды в сегменте команд оперативной памяти; 5- регистр флагов (FLAGS), содержащий признаки результата выполненных команд и некоторую управляющую информацию. Среди признаков результата отметим следующие: *блок сегментных регистров, состоящий из четырех 16-разрядных регистров, каждый из которых содержит старшие разряды базового (начального) адреса сегмента оперативной памяти, выделяемого программе при ее выполнении: кодового сегмента CS, в котором содержится код программы; сегмента данных DS; сегмента стека SS и дополнительного сегмента данных ES; *шинный интерфейс, который содержит схемы, обеспечивающие связь внутренней магистрали микропроцессора с системной шиной.Существует
с 1944г. Разработана Джорджем Фон Нейманом.

<!--[if!vml]--><!--[endif]-->
УУ организует автоматическое выполнение программ и функционирование
вычислительной машины. Основная задача УУ - выработка управляющих сигналов и
распределение их по цепям управления.АЛУ предназначено для выполнения арифметических и логических операций над поступающими данными.Память представляет собой массив запоминающих элементов, организованных в виде запоминающих ячеек и способных хранить некоторую единицу информации.УВв преобразует входящую информацию в последовательность электрических сигналов.
УВыв преобразует последовательность электрических сигналов в форму,
удобную для восприятия пользователем.Вместе УУ и АЛУ образуют ЦП(центральный процессор).Концепция Фон Неймановской архитектуры предусматривает единственность
АЛУ и одну основную память. Это обстоятельство существенно усложняет реализацию
параллельных алгоритмов.
Недостатки
Информация попадает в память через АЛУ без изменений, занимая аппаратные
ресурсы. Наличие в памяти 2х типов: данные и команды.
Достоинства
Данные поступают в память из одного источника. Тоже происходит и при
выводе

27 ОСНОВНЫЕФУНКЦИИ МИКРОПРОЦЕССОРА.ХАРАКТЕРИСТИКИ МИКРОПРОЦЕССОРА Микропроцессор — это центральный блок персонального компьютера, предназначенный для управления работой всех остальных блоков и выполнения арифметических и логических операций над информацией. Микропроцессор выполняет следующие основные функции: чтение и дешифрацию команд из основной памяти; чтение данных из основной памяти и регистров адаптеров внешних устройств; прием и обработку запросов и команд от адаптеров на обслуживание внешних устройств; обработку данных и их запись в основную память и регистры адаптеров внешних устройств; выработку управляющих сигналов для всех прочих узлов и блоков компьютера. В состав микропроцессора входят следующие устройства. 1. Арифметико-логическое устройство предназначено для выполнения всех арифметических и логических операций над числовой и символьной информацией. 2. Устройство управления координирует взаимодействие различных частей компьютера. Выполняет следующие основные функции:

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

o формирует адреса ячеек памяти, используемых выполняемой операцией, и передает эти адреса в соответствующие блоки компьютера;

o получает от генератора тактовых импульсов обратную последовательность импульсов.

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

4. Интерфейсная система микропроцессора предназначена для связи с другими устройствами компьютера. Включает в себя:

o внутренний интерфейс микропроцессора;

o буферные запоминающие регистры;

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

К микропроцессору и системной шине наряду с типовыми внешними устройствами могут быть подключены и дополнительные платы с интегральными микросхемами, расширяющие и улучшающие функциональные возможности микропроцессора. К ним относятся математический сопроцессор, контроллер прямого доступа к памяти, сопроцессор ввода-вывода, контроллер прерываний и др. Математический сопроцессор используется для ускорения выполнения операций над двоичными числами с плавающей запятой, над двоично-кодированными десятичными числами, для вычисления тригонометрических функций. Математический сопроцессор имеет свою систему команд и работает параллельно с основным микропроцессором, но под управлением последнего. В результате происходит ускорение выполнения операций в десятки раз. Модели микропроцессора, начиная с МП 80486 DX, включают математический сопроцессор в свою структуру. Контроллер прямого доступа к памяти освобождает микропроцессор от прямого управления накопителями на магнитных дисках, что существенно повышает эффективное быстродействие компьютера.Сопроцессор ввода-вывода за счет параллельной работы с микропроцессором значительно ускоряет выполнение процедур ввода-вывода при обслуживании нескольких внешних устройств, освобождает микропроцессор от обработки процедур ввода-вывода, в том числе реализует режим прямого доступа к памяти. Прерывание — это временный останов выполнения одной программы в целях оперативного выполнения другой, в данный момент более важной. Контроллер прерываний обслуживает процедуры прерывания, принимает запрос на прерывание от внешних устройств, определяет уровень приоритета этого запроса и выдает сигнал прерывания в микропроцессор. Все микропроцессоры можно разделить на группы: микропроцессоры типа CISC с полным набором системы команд; микропроцессоры типа RISC с усеченным набором системы команд; микропроцессоры типа VLIW со сверхбольшим командным словом; микропроцессоры типа MISC с минимальным набором системы команд и весьма высоким быстродействием и др. Важнейшими характеристиками микропроцессора являются: *тактовая частота. Характеризует быстродействие компьютера. Режим работы процессора задается микросхемой, называемой генератором тактовых импульсов. На выполнение процессором каждой операции отводится определенное количество тактов. Тактовая частота указывает, сколько элементарных операций выполняет микропроцессор за одну секунду. Тактовая частота измеряется в МГц; *разрядность процессора — это максимальное количество разрядов двоичного числа, над которым одновременно может выполняться машинная операция. Чем больше разрядность процессора, тем больше информации он может обрабатывать в единицу времени и тем больше, при прочих равных условиях, производительность компьютера;

30 ПРЕДСТАВЛЕНИЕ КОМАНД В ЭВМ.ОСНОВНЫЕ СТАДИИ ВЫПОЛНЕНИЯ КОМАНД

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

Формат команды – количество и интерпретация разрядов, представляющих машинную команду.

Команда состоит из операционной и адресной частей. Опе­рационная часть содержит код операции (КОП), т.е. некоторое число, которое задает вид операции (сложение, умножение, передача и т.д.). Адресная часть команды содержит информацию об адресах операндов и результатах операции, а в некоторых случаях информацию об адресе следующей команды. При описании команд приходится указывать, какиеоперанды в них допустимы, а какие – нет. Результат работы команды помещается в регистр или ячейку памяти, откуда берется один из операндов.

Количество двоичных разрядов, отведенных под код операции, выбирается таким, чтобы можно было представить все выполняемые операции. Если ЭВМ выполняет М различных операции, то число разрядов в КОП должно быть не меньше log2M.

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

Обычно код команды имеет формат машинного слова или полуслова, реже полутора или двух слов. В некоторых машинах для представления команд используется несколько различных форматов. На рисунке 3 схематически показаны различные структуры кода команды.

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

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

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

По характеру выполняемых операций различают следующие основные группы команд:

· команды арифметических операций для чисел с фиксированной и плавающей запятой;

· команды десятичной арифметики;

· команды логических (поразрядных) операций (И, ИЛИ и др.);

· команды пересылки;

· команды операций ввода-вывода;

· команды управления порядком исполнения команд (команды передачи управления) и некоторые другие.





Дата публикования: 2015-01-26; Прочитано: 474 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...