Курсовая, контрольная работа. Примеры выполнения

Атомная энергетика. Ядерные реакторы АЭС. Атомный флот. Ядерное оружие

РБМК-1000
Гражданский суда
Авиация

Высшая математика

Задачи
Практикум
Карта сайта

 

 

Устройства хранения данных

Необходимость во внешних устройствах хранения данных возникает в двух случаях:

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

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

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

ZIP-накопители. ZIP-накопители выпускаются компанией Iomega, специализирующейся на создании внешних устройств для хранения данных. Устройство работает с дисковыми носителями, по размеру незначительно превышающими стандартные гибкие диски и имеющими емкость 100/250 Мбайт. ZIP-накопители выпускаются во внутреннем и внешнем исполнении. В первом случае их подключают к контроллеру жестких дисков материнской платы, а во втором — к стандартному параллельному порту, что негативно сказывается на скорости обмена данными.

Накопители HiFD. Основным недостатком ZIP-накопителей является отсутствие их совместимости со стандартными гибкими дисками 3,5 дюйма. Такой совместимостью обладают устройства HiFD компании Sony. Они позволяют использовать как специальные носители емкостью 200 Мбайт, так и обычные гибкие диски. В настоящее время распространение этих устройств сдерживается повышенной ценой.

Накопители JAZ. Этот тип накопителей, как и ZIP-накопители, выпускается компанией Iomega. По своим характеристикам JAZ-носитель приближается к жестким дискам, но в отличие от них является сменным. В зависимости от модели накопителя на одном диске можно разместить 1 или 2 Гбайт данных.

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

В этом секторе параллельно развиваются 5,25- и 3,5-дюймовые накопители, носители для которых отличаются в основном форм-фактором и емкостью. Последнее поколение носителей формата 5,25" достигает емкости 5,2 Гбайт. Стандартная емкость для носителей 3,5" — 640 Мбайт.

В формате 3,5" недавно была разработана новая технология GIGAMO, обеспечивающая емкость носителей в 1,3 Гбайт, полностью совместимая сверху вниз с предыдущими стандартами. В перспективе ожидается появление накопителей и дисков форм-фактора 5,25", поддерживающих технологию NFR (Near Field Recording), которая обеспечит емкость дисков до 20 Гбайт, а позднее и до 40 Гбайт.

Основы безошибочного программирования

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

Однако, так как число ошибок в программах заранее неизвестно, то неизвестна заранее и продолжительность отладки программ на ЭВМ. Более того даже после «завершения» отладки никто не может гарантировать отсутствие ошибок. Естественно, что использование таких программ, приводит к возникновению отказов, сбоев и получению неверных результатов.

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

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

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

Более того, при систематическом использовании спецификаций возможен не только анализ правильности алгоритмов и программ, но и становится возможным составление программ с одновременным доказательством правильности.

Безошибочное программирование - это составление алгоритмов и программ с гарантиями отсутствия в них ошибок. А составление алгоритмов и программ с одновременным доказательством правильности называется доказательным программированием. И в том и другом подходе необходимо составление спецификаций.

Для составления программ на любом языке программирования весьма полезно предварительное составление реализуемых в них алгоритмов. Эти описания алгоритмов вместе со спецификациями позволяют в полной мере оценить правильность составленных программ. Пример составления алгоритмов с использованием в качестве иллюстрации спецификаций сценария диалога с ЭВМ:

Сценарий «Галерея картинок»

Список картинок:

1. треугольник

2. прямоугольник

3. кольцо

номер = ? <N>

 


n =1 n = 2 n = 3

 


 


В соответствии с этими четырьмя картинками построим три вспомогательных алгоритма рисования отдельных картинок из «Галереи» и общий алгоритм выбора картинок в соответствии с принятым сценарием:

алг «Галерея картинок»

нач алг «рисуиок_треугольника»

вывод («Список картинок:») нач

вывод («1. треугольник») линия(150,50)-(100,100)

вывод («2. прямоугольник») линия(150,50)-(200,100)

вывод («3. кольцо») линия(100,100)-(200,100)

запрос («номер=», п) кон

графический_экран

если п = 1 то алг «рисунок_прямоугольника»

рисунок_треугольника нач

инес п = 2 то рамка(50,50)-(150,100)

рисунок_прямоугольника кон

инес п = 3 то

рисунок_кольиа алг «рисунок_кольца»

иначе нач

вывод («нет такого рисунка») окружность( 100,100),20

все окружность(100,100),50

кон кон

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

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

Приведем примеры составления сложных алгоритмов и программ с циклами с использованием спецификаций. Первый пример - построение алгоритма и программы изображения на экране картинки «Звездное небо» из n случайных точек:

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

Алгоритм Программа

алг «звездное небо» ' звездное небо

нач сls

запрос(«звезд=», п) input «звезд=», n

графический_экран screen 2,0

от k = 1 до п цикл for k = 1 to n

x: = случайное [0:200] х = rnd*200

у: = случайное [0:200] у = rnd*200

точка (х,у) pset (x,y),3

кцикл next k

кон end

7271f726
Основные понятия об информации и информатике