Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Документ Microsoft Word по информатике.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
250.61 Кб
Скачать

1.Информация и данные. Кодирование информации.

Информатика как наука занимается изучением информационных процессов и методов их автоматизации на основе программно-аппаратных средств вычислительной техники и средств связи. На современном этапе человечество осознало информацию как ресурс развития общества, а информатику как науку, развитие которой позволит обеспечить полное использование этого ресурса. С информатикой связывают решение принципиально новых проблем человечества: создание информационной модели мира, расширение творческого аспекта деятельности человека, переход к безбумажной информатике, доступность информационного ресурса каждому члену общества. В настоящее время наука пытается найти общие свойства и закономерности, присущие многогранному понятию информация, но пока это понятие во многом остается интуитивным и получает различные смысловые наполнения в различных отраслях человеческой деятельности. Клод Шеннон, американский учёный, заложивший основы теории информации - науки, изучающей процессы, связанные с передачей, приёмом, преобразованием и хранением информации, рассматривает информацию как снятую неопределенность наших знаний о чем-то.Среди всех системных программ, с которыми приходится иметь дело пользователям компьютеров, особое место занимают операционные системы. Операционная система управляет компьютером, запускает программы, обеспечивает защиту данных, выполняет различные сервисные функции по запросам пользователя и программ. Каждая программа пользуется услугами ОС, а потому может работать только под управлением той ОС, которая обеспечивает для неё эти услуги.

Информация и данные. Термин «информация» происходит от латинского слова, означающего разъяснение, изложение, осведомление. Понятие «информация» является одним из основных понятий информатики. Общепризнанна сложность проблемы определения этого понятия, которая в настоящее время все еще далека от своего решения. Если проанализировать определения информации, приводимые в различных толковых словарях, монографиях, учебниках и учебных пособиях по информатике, то можно прийти к выводу о весьма широком диапазоне подходов к определению содержания понятия «информация» и других связанных с ним основных понятий информатики. Информацией называют любые данные или сведения, которые кого-либо интересуют. Информация - сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состоянии, которые воспринимают информационные системы (живые организмы, управляющие машины и др.) в процессе жизнедеятельности и работы. Информация - любой вид сведений о предметах, фактах, понятиях предметной области, неизвестных до их получения иявляющихся объектом хранения, передачи и обработки. Одним из свойств компьютеров является способность хранить огромные объемы информации и обеспечивать легкий доступ к ней. Информация, подлежащая обработке, в некотором смысле представляет абстракцию фрагмента реального мира. Мы говорим о данных как об абстрактном представлении реальности, поскольку некоторые свойства и характеристики реальных объектов при этом игнорируются (как несущественные для данной задачи). Данные - представление информации в формализованном виде, удобном для пересылки, сбора, хранения и обработки. В математике принято классифицировать величины в соответствии с их характеристиками. Различают целые, вещественные, комплексные и логические величины, величины, представляющие собой отдельные значения, множества значений или множества множеств. Аналогично этому в информатике любая константа, переменная, выражение или функция относится к некоторому типу. Фактически тип характеризует множество значений, которые может принимать константа, переменная, выражение или функция. Широко используется правило, по которому тип явно указывается в описании константы, переменной или функции. К данным каждого типа применимы определенные операции и их поведение подчиняется некоторым аксиомам.

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

Кодирование информации Для определения количества информации был найден способ представить любой ее тип (символьный, текстовый, графический) в едином виде, что позволило все типы информации преобразовать к единому стандартному виду. Таким видом стала так называемая двоичная форма представления информации. Она заключается в записи любой информации в виде последовательности только двух символов. Каждая такая последовательность называется двоичным кодом. Недостаток двоичного кодирования - длинные коды. Но в технике легче иметь дело с большим числом простых однотипных элементов, чем с небольшим числом сложных. Двоичные символы могут кодироваться любым способом: буквами А, Б; словами ДА, НЕТ, двумя устойчивыми состояниями системы и т.д. Однако ради простоты записи были взяты цифры 1 и 0. Обработка информации в ЭВМ основана на обмене электрическими сигналами между различными устройствами машины. В компьютере, хранящем, либо обрабатывающем информацию, рассматриваемые символы 0 и 1 могут также обозначаться по-разному: один из них - наличием в рассматриваемом элементе электрического тока, либо магнитного поля, второй - отсутствием электрического тока, либо магнитного поля.Таким образом, в ЭВМ реализуются два устойчивых состояния. Эти два устойчивых состояния информационной системы определяют единицу измерения информации, называемую БИТОМ. Количество информации, кодируемое двоичной цифрой - 0 или 1, называется битом. Благодаря введению понятия единицы информации появилась возможность определения размера любой информации числом битов. Процесс получения двоичной информации об объектах исследования называют кодированием информации. Кодирование информации перечислением всех возможных событий очень трудоемко. Поэтому на практике кодирование осуществляется более простым способом. Он основан на том, что один разряд последовательности двоичных цифр имеет уже вдвое больше различных значений -00, 01, 10, 11, чем одноразрядные 0 и 1. Трехразрядная последовательность имеет также вдвое больше значений - 000, 001, 010, 011, 100, 101, 110, 111, чем двухразрядная и т.д. Добавление одного разряда увеличивает число значений вдвое, это позволяет составить следующую таблицу информационной емкости чисел: Пользуясь вышеприведенной таблицей легко закодировать любое множество событий. Например, нам нужно закодировать 32 буквы русского алфавита, для этой цели достаточно взять пять разрядов, потому что пятиразрядная последовательность имеет 32 различных значения. Для измерения больших объемов информации пользоваться битами неудобно. Поэтому применяются кратные биту единицы измерения информации: Кодирование информации -- одна из базовых тем курса теоретических основ информатики, отражающая фундаментальную необходимость представления информации в какой-либо форме, -- т.е. кодировании информации. При этом слово «кодирование» понимается не в узком смысле -- кодирование как способ сделать сообщение непонятным для всех, кто не владеет ключом кода, а в широком -- как представление информации в виде сообщения на каком-либо языке. По теме «кодирование информации» целесообразно проведение как семинарских, так и практических занятий (по решению задач). Весьма полезной является подготовка рефератов. Что же касается проведения лабораторных работ, то ниже предложена лишь одна работа, предусматривающая отработку навыков по частному способу кодирования -- представлению данных в памяти ЭВМ; это полезно для предварительного формирования знаний по вычислительной технике.Кодирование числовой информации осуществляется с помощью системы счисления Кодирование информации - это процесс формирования определенного представления информации. В более узком смысле под термином «кодирование» часто понимают переход от одной формы представления информации к другой, более удобной для хранения, передачи или обработки.Обычно каждый образ при кодировании (иногда говорят -- шифровке) представлении отдельным знаком.В более узком смысле под термином "кодирование" часто понимают переход от одной формы представления информации к другой, более удобной для хранения, передачи или обработки. Компьютер может обрабатывать только информацию, представленную в числовой форме. Вся другая информация (например, звуки, изображения, показания приборов и т. д.) для обработки на компьютере должна быть преобразована в числовую форму. Например, чтобы перевести в числовую форму музыкальный звук, можно через небольшие промежутки времени измерять интенсивность звука на определенных частотах, представляя результаты каждого измерения в числовой форме. С помощью программ для компьютера можно выполнить преобразования полученной информации, например "наложить" друг на друга звуки от разных источников. Аналогичным образом на компьютере можно обрабатывать текстовую информацию. При вводе в компьютер каждая буква кодируется определенным числом, а при выводе на внешние устройства (экран или печать) для восприятия человеком по этим числам строятся изображения букв. Соответствие между набором букв и числами называется кодировкой символов. Суть кодирования заключается в том, что каждому символу ставят в соответствие двоичный код от 00000000 до 11111111 или соответствующий ему десятичный код от 0 до 255.Необходимо помнить, что в настоящее время для кодировки русских букв используют пять различных кодовых таблиц (КОИ - 8, СР1251, СР866, Мас, ISO), причем тексты, закодированные при помощи одной таблицы не будут правильно отображаться в другойОсновным отображением кодирования символов является код ASCII - American Standard Code for Information Interchange- американский стандартный код обмена информацией, который представляет из себя таблицу 16 на 16, где символы закодированы в шестнадцатеричной системе счисления.Двоичное кодирование информации К достоинству двоичной системы счисления относится - простота совершаемых операций, возможность автоматической обработки информации с использованием двух состояний элементов ПК и операцию сдвиг Код - система условных обозначений или сигналов.Длина кода - количество знаков, используемых для представления кодируемой информацииКодирование - это операция преобразования знаков или групп знаков одной знаковой системы в знаки или группы знаков другой знаковой системы.

2.Архитектура современных персональных компьютеров.В состав микропроцессора входят АЛУ, устройство управления, внутренние регистры. УУ вырабатывает управляющие сигналы для выполнения команд, АЛУ - арифметические и логические операции над данными. Оно может состоять из нескольких блоков, например блока обработки целых чисел и блока обработки чисел с плавающей запятой.Директор по технологиям Intel Патрик Гелсингер, отметил, что процессоры Intel следующего поколения будут поддерживать новый набор векторных инструкций AVX (Advanced Vector Extensions), которые позволят ускорить выполнение операций с плавающей запятой.[11]В современных микропроцессорах в основу работы каждого блока положен принцип конвейера. Если в микропроцессоре имеется несколько блоков обработки, в основу работы которых положен принцип конвейера, то его архитектуру называют суперскалярной. Серия процессоров NVIDIA GeForce 6 имеет новую суперскалярную шейдерную архитектуру, которая удваивает количество операций на такт по сравнению с традиционными архитектурами. В результате производительность становится значительно выше одношейдерного нескалярного проектирования. Также, новая архитектура обеспечивает полноценную 32-битную точность операций с плавающей запятой, сохраняя при этом 16-битный режим сохранения в памяти.Основными характеристиками процессора являются: быстродействие, тактовая чистота и разрядность. По результатам тестирования, проведенного журналом «Железо», неплохие характеристики имеет четырехъядерный процессор Intel Core 2 Extreme QX6700 (частота процессора 2,66 ГГц, кэш второго уровня L2 8192 Кб, частота шины 1066 Мгц).Важным этапом в развитии аппаратных платформ Intel, по словам П. Гелсингера, станет появление новой архитектуры Nehalem. В Intel отмечают, что переход на архитектуру Nehalem позволит добиться значительного повышения производительности при одновременном снижении энергопотребления. Платформа Nehalem будет использовать новую системную архитектуру QuickPath Interconnect, включающую встроенный контроллер памяти и усовершенствованные каналы связи между компонентами. Процессоры на основе Nehalem получат от двух до восьми ядер и благодаря технологии Simultaneous Multi-threading смогут одновременно обрабатывать от четырех до шестнадцати потоков инструкций. Объем кэш-памяти третьего уровня сможет достигать 12 Мб. Процессоры Nehalem получат новый набор инструкций SSE4 и поддержку технологии Smart Cache для работы нескольких ядер с общим кэшем.Гелсингер также заметил, что позднее Intel планирует показать чип, разрабатывающийся в рамках проекта Larrabee. Larrabee будет предназначен, прежде всего, для ускорения различных расчетов, а также повышения производительности вычислительных систем, обрабатывающих данные научного, финансового характера и пр. Инициатива Larrabee предполагает создание многоядерного процессора, построенного на основе усовершенствованной архитектуры х86 Связь между устройствами ПК осуществляется с помощью сопряжений, которые в вычислительной технике называются интерфейсами. В персональном компьютере, как правило, используется структура с одним общим интерфейсом, называемым также системной шиной. При такой структуре все устройства компьютера обмениваются информацией и управляющими сигналами через системную шину. Физически она представляет собой систему функционально объединенных проводов, по которым передаются три потока данных: непосредственно информация, управляющие сигналы и адреса (рис. 7). Несомненными достоинствами ПК с шинной структурой являются ее простота, а, следовательно, и невысокая стоимость; гибкость, так как унификация связи между устройствами позволяет достаточно легко включать в состав ПК новые модули, т.е. менять конфигурацию компьютера. К недостаткам следует отнести снижение производительности системы из-за задержек, связанных со временем ожидания устройствами возможности занять шину, пока осуществляется передача информации между устройствами с более высоким приоритетом. Для преодоления этого недостатка в персональных суперкомпьютерах используется архитектура с несколькими шинами. (ЦП - центральный процессор, ОП - оперативная память, ПП - постоянная память, К - контроллер, ПУ - периферийное устройство).Максимальное количество одновременно передаваемой информации называется разрядностью шины. Чем больше разрядность шины, тем больше информации она может передать в единицу времени.При работе с оперативной памятью шина проводит поиск нужного участка памяти и обменивается информацией с найденным участком. Эти задачи выполняют две части системной шины: адресная шина и шина данных.Шина адреса предназначена для передачи адреса ячейки памяти или порта ввода-вывода. Разрядность адресной шины определяет адресное пространство процессора, т.е. количество ячеек памяти. У процессоров Intel Pentium (а именно они наиболее распространены в персональных компьютерах) адресная шина 32-разрядная.Шина данных предназначена для передачи команд и данных, которые могут передаваться в любом направлении. В современных компьютерах разрядность шины данных составляет 64 бита.Шина управления включает в себя все линии, которые обеспечивают работу общей шины. В большинстве современных процессоров шина управления 32-разрядная (например, в процессоре Intel Pentium), хотя существуют 64-разрядные процессоры и даже 128-разрядные.Шина работает циклами. Количество циклов срабатывания шины в единицу времени называется частотой шины. В современных компьютерах частота процессора может превышать частоту системной шины. Корпорация Intel официально представила новые серверные процессоры Itanium серии 9100 (кодовое название Montvale). Процессор Itanium 9110N имеет тактовую частоту 1,6 ГГц, частота системной шины - 533 МГц.Для каждого устройства в компьютере имеется электронная схема, которая им управляет, - контроллер. Все контроллеры взаимодействуют с процессором и оперативной памятью через системную плату.

Устройства хранения.Центральный процессор (ЦП) взаимодействует с внутренним ЗУ, называемым оперативным запоминающим устройством (ОЗУ) или оперативной памятью (ОП). ОП предназначена для приема, хранения и выдачи всей информации, необходимой для выполнения операций в ЦП. Кроме оперативной памяти во всех компьютерах обычно имеется внутренняя постоянная память, используемая для хранения постоянных данных и программ. Оперативная память (ОП, англ. RAM - Random Access Memory - память с произвольным доступом) - это быстродействующее запоминающее устройство с прямым доступом процессора, которое предназначено для записи, считывания и временного хранения выполняемых программ и данных. Она ограничена по объему. ОП - электрическое устройство, и при выключении ПК все его содержимое пропадает. В связи с этим на материнской плате есть микросхема «энергонезависимой памяти», так называемая СMOS-память (изготовленная по технологии CMOS - Comple Mentary Metal - oxide semiconductor), которая предназначена для длительного хранения данных о конфигурации и настройке компьютера. Для этого используют специальные электронные схемы со средним быстродействием, но очень малым энергопотреблением, питаемые от специального аккумулятора, установленного на материнской плате. Это полупостоянная память. Данные записываются и считываются под управлением команд, содержащихся в другом виде памяти - BIOS (Basic Input-Output System), которая является базовой системой ввода-вывода - содержит наборы групп команд, называемых функциями, для непосредственного управления различными устройствами ПК.Для ускорения доступа к оперативной памяти используется кэш-память (cache - запас). Это сверхбыстрая оперативная память, предназначенная для временного хранения текущих данных и помещенная между оперативной памятью и процессором. У современных микропроцессоров может быть кэш-память первого уровня, которая обычно встроена в тот же кристалл и работает на одинаковой с микропроцессором частоте. Для некоторых микропроцессоров предусмотрена еще кэш-память второго и третьего уровня (от 8Мб до 24Мб). Существуют два способа организации такой памяти: общая, когда команды и данные хранятся вместе, и разделенная, когда они хранятся в разных местах. Наличие разделенной кэш-памяти увеличивает производительность микропроцессора, сокращая среднее время доступа к используемым командам и данным. Для хранения больших объемов информации, которые не используются в данный момент времени процессором, предназначаются внешние запоминающие устройства (ВЗУ). К ним относятся: винчестеры (жесткие магнитные диски), оптические диски, магнитно-оптические диски, флоппи диски, Zip and Jaz Iomega discs (относительно новые носители информации, которые призваны заменить гибкие магнитные диски. Они быстрые и большие по емкости (100 мегабайт - Zip, 1 гигабайт - Jaz)), магнитные ленты.В современных ПК реализована виртуальная память, которая предоставляет пользователю возможность работы с расширенным пространством оперативной памяти. Виртуальная память представляет собой совокупность оперативной памяти и внешних запоминающих устройств, а также комплекса программно-аппаратных средств, обеспечивающих динамическую переадресацию данных, в результате чего пользователь не должен заботиться о том, где располагаются необходимые ему данные (в ОЗУ или ВЗУ), а функции по требуемому перемещению данных берет на себя вычислительная система.Для подключения к системной шине различных внешних устройств существуют устройства - порты. Различают несколько типов портов: внутренний (таймерный), клавиатурный, коммуникационный, игровой (джойстик). Широкое распространение получил порт USB (Universal Serial Bus - универсальная последовательная шина). Он обеспечивает высокоскоростное подключение к компьютеру сразу нескольких периферийных устройств (сканера, цифровых камер и т.п.).Устройства ввода и вывода Совокупность ВЗУ и устройств ввода-вывода информации образует периферийную часть ЭВМ. Так как существует достаточно много разнообразных периферийных устройств, каждый ПК может быть у комплектован по-разному и иметь в своем составе те или иные периферийные устройства. Поэтому принято говорить о конфигурации ЭВМ, понимая под этим термином конкретный состав ее устройств с учетом их характеристик.Передача информации из периферийных устройств в центральные называется операцией ввода, а передача информации из центральных устройств в периферийные - операцией вывода. Производительность и эффективность использования ПК определяются не только возможностями его процессора и характеристиками ОП, но в большей степени составом его периферийных устройств, их техническими данными, а также способом организации их совместной работы с центральной частью ПК. Внешними называются устройства, обеспечивающие ввод, вывод и накопление информации в ПК и взаимодействующие с процессором и оперативной памятью через системную шину, а также через порты ввода-вывода. К ним относятся как устройства, находящиеся вне системного блока (клавиатура, мышь, трекбол, тачпад, монитор, принтер, плоттер и другие), так и устройства, размещаемые внутри него (накопители на дисках, контроллеры устройств, внутренние факс-модемы и другие).

3.Модели и моделирования. Виды моделей.Модель и моделирование - универсальные понятия, атрибуты одного из наиболее мощных методов познания в любой профессиональной области, познания системы, процесса, явления.  Модели и моделирование объединяют специалистов различных областей, работающих над решением межпредметных проблем, независимо от того, где эта модель и результаты моделирования будут применены. Вид модели и методы ее исследования больше зависят от информационно-логических связей элементов и подсистем моделируемой системы, ресурсов, связей с окружением, используемых при моделировании, а не от конкретной природы, конкретного наполнения системы. Построение модели - системная задача, требующая анализа и синтеза исходных данных, гипотез, теорий, знаний специалистов. Модель - объект или описание объекта, системы для замещения (при определенных условиях предложениях, гипотезах) одной системы (т.е. оригинала) другой системой для лучшего изучения оригинала или воспроизведения каких-либо его свойств. Модель - результат отображения одной структуры (изученной) на другую (малоизученную). Отображая физическую систему (объект) на математическую систему (например, математический аппарат уравнений), получим физико-математическую модель системы или математическую модель физической системы. Любая модель строится и исследуется при определенных допущениях, гипотезах. Пример. Рассмотрим физическую систему: тело массой m скатывающееся по наклонной плоскости с ускорением a, на которое воздействует сила F. Исследуя такие системы, Ньютон получил математическое соотношение: F=ma. Это физико-математическая модель системы или математическая модель физической системы. При описании этой системы (построении этой модели) приняты следующие гипотезы: 1) поверхность идеальна (т.е. коэффициент трения равен нулю); 2) тело находится в вакууме (т.е. сопротивление воздуха равно нулю); 3) масса тела неизменна; 4) тело движется с одинаковым постоянным ускорением в любой точке. Пример. Физиологическая система - система кровообращения человека - подчиняется некоторым законам термодинамики. Описывая эту систему на физическом (термодинамическом) языке балансовых законов, получим физическую, термодинамическую модель физиологической системы. Если записать эти законы на математическом языке, например, выписать соответствующие термодинамические уравнения, то уже получим математическую модель системы кровообращения. Назовем ее физиолого-физико-математической моделью или физико-математической моделью. Пример. Если банк выработал стратегию кредитования, смог описать ее с помощью экономико-математических моделей и прогнозирует свою тактику кредитования, то он имеет большую устойчивость и жизнеспособность. Моделирование базируется на математической теории подобия, согласно которой абсолютное подобие может иметь место лишь при замене одного объекта другим точно таким же. При моделировании большинства систем (за исключением, возможно, моделирования одних математических структур другими) абсолютное подобие невозможно, и основная цель моделирования - модель достаточно хорошо должна отображать функционирование моделируемой системы. и связи. По уровню, "глубине" моделирования модели бывают: эмпирические - на основе эмпирических фактов, зависимостей;теоретические - на основе математических описаний;смешанные, полуэмпирические - на основе эмпирических зависимостей и математических описаний.

Проблема моделирования состоит из трех задач:построение модели (эта задача менее формализуема и конструктивна, в том смысле, что нет алгоритма для построения моделей);исследование модели (эта задача более формализуема, имеются методы исследования различных классов моделей);использование модели (конструктивная и конкретизируемая задача). Моделирование - это универсальный метод получения, описания и использования знаний. Он используется в любой профессиональной деятельности. В современной науке и технологии роль и значение моделирования усиливается, актуализируется проблемами, успехами других наук. Моделирование реальных и нелинейных систем живой и неживой природы позволяет перекидывать мостики между нашими знаниями и реальными системами, процессами, в том числе и мыслительными. Классификацию моделей проводят по различным критериям. Мы будем использовать наиболее простую и практически значимую.Модель называется статической, если среди параметров, участвующих в ее описании, нет временного параметра. Статическая модель в каждый момент времени дает лишь "фотографию" системы, ее срез.Пример. Закон Ньютона F=am - это статическая модель движущейся с ускорением a материальной точки массой m. Эта модель не учитывает изменение ускорения от одной точки к другой. Модель динамическая, если среди ее параметров есть временной параметр, т.е. она отображает систему (процессы в системе) во времени.

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

Классификация типов моделей в зависимости от характерных свойств, присущих изучаемому объекту или системе, такова динамические (системы, изменяющиеся во времени) и статические; стохастические и детерминированные; непрерывные и дискретные;линейные и нелинейные; статистические; экспертные; модели, основанные на методах Data Mining;прогнозирующие (классификационные) и описательные.

4 Основы алгоритмизации. Алгоритм и его свойства. Алгоритм - описанная на некотором языке точная конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых дает решение поставленной задачи. Понятие алгоритма, являющееся фундаментальным в математике и информатике, возникло задолго до появления средств вычислительной техники. Слово «алгоритм» появилось в средние века, когда европейцы познакомились со способами выполнения арифметических действий в десятичной системе счисления; описанными узбекским математиком Муххамедом бен Аль-Хорезми («аль-Хорезми» -- человек из города Хорезми; в настоящее время город Хива в Хорезмской области Узбекистана). Слово алгоритм - есть результат европейского произношения слов аль-Хорезми. Первоначально под алгоритмом понимали способ выполнения арифметических действий над десятичными числами. В дальнейшем это понятие стали использовать для обозначения любой последовательности действий, приводящей к решению поставленной задачи.Любой алгоритм существует не сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т.д.). Свойством, характеризующим любого исполнителя, является то, что он умеет выполнять некоторые команды. Совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя. Алгоритм описывается в командах исполнителя, который будет его реализовывать. Объекты, над которыми исполнитель может совершать действия, образуют так называемую среду исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.Значение слова «алгоритм» очень схоже со значениями слов «рецепт», «метод», «процесс». Однако, в отличие от рецепта или процесса, алгоритм характеризуется следующими свойствами: дискретностью, массовостью, определенностью, результативностью, формальностью.Дискретность (разрывность - противоположно непрерывности) - это свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных законченных действий, говорят: «Делится на шаги».Массовость - применимость алгоритма ко всем задачам рассматриваемого типа, при любых исходных данных. Например, алгоритм решения квадратного уравнения в области действительных чисел должен содержать все возможные исходы решения, т.е., рассмотрев значения дискриминанта, алгоритм находит либо два различных корня уравнения, либо два равных, либо делает вывод о том, что действительных корней нет. Определенность (детерминированность, точность) -- свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определен и не допускать различных толкований; также строго должен быть определен порядок выполнения отдельных шагов. Помните сказку про Ивана-царевича? «Шел Иван-царевич по дороге, дошел до развилки. Видит большой камень, на нем надпись: «Прямо пойдешь -- голову потеряешь, направо пойдешь -- жену найдешь, налево пойдешь - разбогатеешь». Стоит Иван и думает, что дальше делать». Таких инструкций алгоритм содержать не может. Результативность - свойство, состоящее в том, что любой алгоритм должен завершаться за конечное (может быть очень большое) число шагов. Вопрос о рассмотрении бесконечных алгоритмов остается за рамками теории алгоритмов.Формальность - это свойство указывает на то, что любой исполнитель, способный воспринимать и выполнять инструкции алгоритма, действует формально, т.е. отвлекается от содержания поставленной задачи и лишь строго выполняет инструкции. Рассуждать «что, как и почему?» должен разработчик алгоритма, а исполнитель формально (не думая) поочередно исполняет предложенные команды и получает необходимый результат.

Способы описания алгоритмов

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

5 Структурное программирование.Структурное программирование     Структурное программирование - методология разработки программного обеспечения, предложенная в 70-х года XX века Дейкстрой и разработанная и дополненная Виртом.     В соответствии с данной методологией любая программа представляет собой структуру, построенную из трёх типов базовых конструкций: последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается. Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде так называемых подпрограмм (процедур или функций). В этом случае в тексте основной программы вместо помещённого в подпрограмму фрагмента вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается со следующей за командой вызова подпрограммы инструкции.  Разработка программы ведётся пошагово, методом "сверху вниз". Сначала пишется текст основной программы, в котором вместо каждого связного логического фрагмента текста вставляется вызов подпрограммы, которая будет выполнять этот фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставляются "затычки", которые ничего не делают. Полученная программа проверяется и отлаживается. После того, как программист убедится, что подпрограммы вызваются в правильной последовательности (то есть общая структура программы верна), подпрограммы-"затычки" последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы. Разработка заканчивается тогда, когда не останется ни одной "затычки", которая не была бы удалена. Такая последовательность гарантирует, что на каждом этапе разработки программист одновременно имеет дело с обозримым и понятным ему множеством фрагментов и может быть уверен, что общая структура всех более высоких уровней программы верна. При сопровождении и внесении изменений в программу выясняется, в какие именно процедуры нужно внести изменения, и они вносятся, не затрагивая непосредственно не связанные с ними части программы. Это позволяет гарантировать, что при внесении изменений и исправлении ошибок не выйдет из строя какая-то часть программы, находящаяся в данный момент вне зоны внимания программиста. История Методология структурного программирования появилась как следствие возрастания сложности решаемых на компьютерах задач и соответственного усложнения программного обеспечения. В 70-е годы XX века объёмы и сложность программ достигли такого уровня, что "интуитивная" разработка программ, которая была нормой в более раннее время, перестала удовлетворять потребностям практики. Программы становились слишком сложными, чтобы их можно было нормально сопровождать, поэтому потребовалась какая-то систематизация процесса разработки и структуры программ. Наиболее сильной критике со стороны разработчиков структурного подхода к программирования подвергся оператор GOTO (оператор безусловного перехода), имеющийся почти во всех языках программирования. Использование произвольных переходов в тексте программы приводит к получению запутанных, плохо структурированных программ, по тексту которых практически невозможно понять порядок исполнения и взаимозависимость фрагментов.Следование принципам структурного программирования сделало тексты программ, даже довольно крупных, нормально читаемыми. Серьёзно облегчилось понимание программ, появилась возможность разработки программ в нормальном промышленном режиме, когда программу может без особых затруднений понять не только её автор, но и другие программисты. Это позволило разрабатывать достаточно крупные для того времени программные комплексы силами коллективов разработчиков, и сопровождать эти комплексы в течение многих лет, даже в условиях неизбежной ротации кадров.Методология структурной разработки программного обеспечения была признана "самой сильной формализацией 70-х годов". После этого слово "структурный" стало модным в отрасли, его начали использовать везде, где надо и не надо. Появились работы по "структурному проектированию", "структурному тестированию", "структурному дизайну" и так далее, в общем, произошло примерно то же самое, что происходило в 90-х годах и происходит в настоящее время с терминами "объектный" и "объектно-ориентированный". В программе могут применяться только три типа конструкций:ПоследовательностьЦиклыОператор ветвлени.Перечислим некоторые достоинства структурного программирования: Структурное программирование позволяет значительно сократить число вариантов построения программы по одной и той же спецификации, что значительно снижает сложность программы. В структурированных программах логически связанные операторы находятся визуально ближе, а слабо связанные дальше, что позволяет обходиться без блок схем и других графических форм изображения алгоритмов. Сильно упрощается процесс тестирования и отладки структурированных программ.

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

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

Декларативные языки программирования - это языки объявлений и построения структур. К ним относятся функциональные и логические языки программирования. В этих языках не производится алгоритмических действий явно, то есть алгоритм не задается прграммистом, а строится самой программой. В декларативных языках задается, производится построение какой-либо структуры или системы, то есть декларируются (объявляются) какие-то свойства создаваемого объекта. Эти языки получили широкое применение в системах автоматизированного проектирования (САПР), в так называемых CAD-пакетах, в моделировнии, системах исккусственного интеллекта.

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

Сетевые языки - языки, предназначенные для организации взаимодействия удаленных компьютеров в интенсивном интерактивном режиме, а поэтому они построены на принципах интерпретации, то есть построчной, интерактивной обработки строк программного кода, описывающего некоторый сценарий (скрипт) сетевого взаимодействия компьютеров, поэтому часто они называются скриптовыми языками, хотя скриптовые языки не обязательно являются сетевыми, к примеру, пакетные командные языки различных операционных сред.Машинно - ориентированные языкиМашинно - ориентированные языки - это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно -ориентированные языки позволяют использовать все возможности и особенности Машинно - зависимых языков:высокое качество создаваемых программ (компактность и скорость выполнения);возможность использования конкретных аппаратных ресурсов;предсказуемость объектного кода и заказов памяти;для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;трудоемкость процесса составления программ ( особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;низкая скорость программирования;невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы.Машинный языкКак уже упоминалось в введении, отдельный компьютер имеет свой определенный Машинный язык (далее МЯ), ему предписывают выполнение указываемых операций над определяемыми ими операндами, поэтому МЯ является командным. Однако, некоторые семейства ЭВМ (например, ЕС ЭВМ, IBM-370 и др.) имеют единый МЯ для ЭВМ разной мощности. В команде любого из них сообщается информация о местонахождении операндов и типе выполняемой операции.В новых моднлях ЭВМ намечается тенденция к повышению внутренних языков машинно - аппаратным путем реализовывать более сложные команды, приближающиеся по своим функциональным действиям к операторам алгоритмических языков программирования.Языки Символического КодированияПродолжим рассказ о командных языках, Языки Символического Кодирования (далее ЯСК), так же, как и МЯ, являются командными. Однако коды операций и адреса в машинных командах, представляющие собой последовательность двоичных (во внутреннем коде) или восьмеричных (часто используемых при написании программ) цифр, в ЯСКзаменены на символы (идентификаторы), форма написания которых помогает программисту легче запоминать смысловое содержание операции. Это обеспечивает существенное уменьшение числа ошибок при составлении программ.Использование символических адресов - первый шаг к созданию ЯСК. Команды ЭВМ вместо истинных (физических) адресов содержат символические адреса. По результатам составленной программы определяется требуемое количество ячеек для хранения исходных промежуточных и результирующих значений. Назначение адресов, выполняемое отдельно от составления программы в символических адресах, может проводиться менее квалифицированным программистом или специальной программой, что в значительной степени облегчает труд программиста.АвтокодыЕсть также языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд - они называются Автокоды.В различных программах встречаются некоторые достаточно часто использующиеся командные последовательности, которые соответствуют определенным процедурам преобразования информации. Эффективная реализация таких процедур обеспечивается оформлением их в виде специальных макрокоманд и включением последних в язык программирования , доступный программисту. Макрокоманды переводятся в машинные команды двумя путями - расстановкой и генерированием. В постановочной системе содержатся "остовы" - серии команд, реализующих требуемую функцию, обозначенную макрокомандой. Макрокоманды обеспечивают передачу фактических параметров, которые в процессе трансляции вставляются в "остов" программы, превращая её в реальную машинную программу.В системе с генерацией имеются специальные программы, анализирующие макрокоманду, которые определяют, какую функцию необходимо выполнить и формируют необходимую последовательность команд, реализующих данную функцию.Обе указанных системы используют трансляторы с ЯСК и набор макрокоманд, которые также являются операторами автокода.Развитые автокоды получили название Ассемблеры. Сервисные программы и пр., как правило, составлены на языках типа Ассемблер. Более полная информация об языкеАссемблера см. ниже.МакросЯзык, являющийся средством для замены последовательности символов описывающих выполнение требуемых действий ЭВМ на более сжатую форму - называется Макрос(средство замены).В основном, Макрос предназначен для того, чтобы сократить запись исходной программы. Компонент программного обеспечения, обеспечивающий функционирование макросов, называется макропроцессором. На макропроцессор поступает макроопределяющий и исходный текст. Реакция макропроцессора на вызов-выдача выходного текста.Машинно - независимые языкиМашинно - независимые языки - это средство описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ и ВС.Подобные языки получили название высокоуровневых языков программирования. Программы, составляемые на таких языках, представляют собой последовательности операторов, структурированные согласно правилам рассматривания языка(задачи, сегменты, блоки и т.д.). Операторы языка описывают действия, которые должна выполнять система после трансляции программы на МЯ.Проблемно - ориентированные языки.С расширением областей применения вычислительной техники возникла необходимость формализовать представление постановки и решение новых классов задач. Необходимо было создать такие языки программирования, которые, используя в данной области обозначения и терминологию, позволили бы описывать требуемые алгоритмы решения для поставленных задач, ими стали проблемно - ориентированные языки. Эти языки, ориентированные на решение определенных проблем, должны обеспечить программиста средствами, позволяющими коротко и четко формулировать задачу и получать результаты в требуемой форме.Диалоговые языки Появление новых технических возможностей поставило задачу перед системными программистами - создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками.Эти работы велись в двух направлениях. Создавались специальные управляющие языки для обеспечения оперативного воздействия на прохождение задач, которые составлялись на любых раннее неразработанных (не диалоговых) языках. Разрабатывались также языки, которые кроме целей управления обеспечивали бы описание алгоритмов решения задач.Необходимость обеспечения оперативного взаимодействия с пользователем потребовала сохранения в памяти ЭВМ копии исходной программы даже после получения объектной программы в машинных кодах. При внесении изменений в программу с использованием диалогового языка система программирования с помощью специальных таблиц устанавливает взаимосвязь структур исходной и объектной программ. Это позволяет осуществить требуемые редакционные изменения в объектной программе.

7 Основные элементы алгоритмического языка высокого уровня.Основными понятиями в алгоритмических языках являются следующие.Имена (идентификаторы) - последовательность символов для обозначения объектов программы (переменных, массивов, функций и дp.).Операции. Существуют следующие типы операций:- арифметические операции: сложение, обозначается символом “+”; вычитание, обозначается символом “-”; умножение, обозначается символом “*”; деление, обозначается символом “/” и дp. ;- логические операции: операции “логическое и”, “логическое или”, “логическое не” и др.; операции отношения: меньше, обозначается символом “<”; больше, обозначается символом “>”; меньше или равно, обозначается символами “<=”; больше или равно, обозначается символами “>=”; равно, обозначается символом “=”; не равно, обозначается символами “<>”.- операция конкатенации символьных значений дpуг с другом, изображается знаком "+".Ключевые слова – это слова языка, имеющие строго определенное назначение, которые не могут использоваться в качестве идентификаторов.Данные - величины, обрабатываемые программой. Имеется тpи основных вида данных: константы, переменные и массивы.Константы - это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.Примеры констант:числовые: 7.5, 12;логические: true(истина), false(ложь);символьные: "А", "+";строковые: "abcde", "информатика".Переменные – это данные, которые могут изменять свои значения в ходе выполнения программы. Они обозначаются именами. Переменные бывают целые, вещественные, логические, символьные и строковые.Массивы - последовательности однотипных элементов, число которых фиксировано и которым присвоено одно имя. Положение элемента в массиве однозначно определяется его индексами - одним в случае одномерного массива, или несколькими, если массив многомерный.Выражения – элементы языка, которые предназначаются для выполнения необходимых вычислений, состоят из констант, переменных, указателей функций, объединенных знаками операций. Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, "многоэтажных" дробей и т. д.), что позволяет вводить их в компьютер, последовательно нажимая на соответствующие клавиши клавиатуры.Различают выражения арифметические, логические и строковые.Арифметические выражения служат для определения одного числового значения. Арифметические выражения записываются по следующим правилам:1. Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.2. Индексы элементов массивов записываются в скобках.3. Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь - сложение и вычитание.4. Операции одного старшинства выполняются слева направо.Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения - "истина" или "ложь" (да или нет).В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения и логические операции.Значения строковых выражений - тексты. В них могут входить строковые константы, строковые переменные и строковые функции, разделенные знаком операции конкатенации.Оператор – это элемент языка, который задает полное описание некоторого действия, которое необходимо выполнить. Оператор - это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка программирования и определяет некоторый вполне законченный этап обработки данных. В состав операторов входят ключевые слова; данные; выражения и т.д.Стандартная функция – подпрограмма, заранее встроенная в транслятор языка для вычисления часто употребляемых функций. В качестве аргументов функций можно использовать константы, переменные и выражения.Программа - это последовательность инструкций, предназначенных для выполнения компьютером. В настоящее время программы оформляются в виде текста, который записывается в файлы.Программирование – это теоретическая и практическая деятельность решения задачи средствами конкретного языка программирования и оформления полученных результатов в виде программы.На стадии программирования возникает этап отладки программы – процесс обнаружения и устранения ошибок в программе, производимой по результатам ее тестирования на компьютере.После окончательной отладки программа документируется, т.е. к ней прилагается описание назначения программы и инструкция по эксплуатации. Только после этого программа становится законченным программным продуктом, подготовленным к реализации как любой иной вид промышленной продукции.

Языки высокого уровня работают через трансляционные программы -трансляторы, которые преобразуют исходный код в последовательность команд машинного языка. Существует два основных вида трансляторов: интерпретаторы, которые сканируют и проверяют исходный код в один шаг, и компиляторы, которые сканируют исходный код для создания текста программы на машинном языке, которая затем выполняется отдельно.В общем случае программа может иметь модульную структуру, т.е. состоять из нескольких программных единиц, связанных между собой командами передачи управления. Такой принцип построения программ называется модульным. Программная единица, с первой команды которой начинается выполнение программы, называется головной программой. Остальные программные единицы, входящие в единую программу, называются подпрограммами.Подпрограмма - это последовательность операторов, которые определены и записаны только в одном месте программы, однако их можно вызвать для выполнения из одной или нескольких точек программы.Функция - это программная единица, которая может быть употреблена в выражении. Функция прямо возвращает величину, которая используется при вычислении этого выражения, и, кроме того, может возвращать величины через параметры.Процесс разработки многомодульных программ эффективнее, особенно если разрабатывается программа большого размера, когда над реализацией проекта может работать несколько программистов, каждый из которых имеет возможность модифицировать фрагменты программы, не мешая работе остальных.Подпрограммы и функции позволяют создавать большие структурированные программы, которые можно делить на части. Это дает преимущества в следующих ситуациях:1. Если программа большая, разделение ее на части облегчает создание, тестирование и ее сборку.2. Если программа большая и повторная компиляция всего исходного текста занимает много времени, разделение ее на части экономит время компиляции.

8Программное обеспечение персонального компьютера.Что такое программное обеспечениеВозможности современного ПК столь велики, что все большее число людей находят ему применение в своей работе, учебе, быту. Важнейшим качеством современного компьютера является его "дружественность" по отношению к пользователю. Общение человека с компьютером стало простым, наглядным, понятным. Компьютер сам подсказывает пользователю, что нужно делать в той или иной ситуации, помогает выходить из затруднительных положений. Это возможно благодаря программному обеспечению компьютера.Снова воспользуемся аналогией между компьютером и человеком. Новорожденный человек ничего не знает и не умеет. Знания и умения он приобретает в процессе развития, обучения, накапливая информацию в своей памяти. Компьютер, который собрали на заводе из микросхем, проводов, плат и прочего, подобен новорожденному человеку. Можно сказать, что загрузка в память компьютера программного обеспечения аналогична процессу обучения ребенка. Создается программное обеспечение программистами.Вся совокупность программ, хранящихся на всех устройствах долговременной памяти компьютера, составляет его программное обеспечение (ПО).Программное обеспечение компьютера постоянно пополняется, развивается, совершенствуется. Стоимость установленных программ на современном ПК зачастую превышает стоимость его технических устройств. Разработка современного ПО требует очень высокой квалификации от программистов.Типы программного обеспечения В программном обеспечении компьютера есть необходимая часть, без которой на нем просто ничего не сделать. Она называется системным ПО. Покупатель приобретает компьютер, оснащенный системным программным обеспечением, которое не менее важно для работы компьютера, чем память или процессор. Кроме системного ПО в состав программного обеспечения компьютера входят еще прикладные программы и системы программирования.

Программное обеспечение компьютера делится на:

- системное ПО; - прикладное ПО; - системы программирования.

Состав прикладного программного обеспечения

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

9 Операционные системы. Классификация и функции.Операционная система – это программа, которая запускается сразу. Среди всех системных программ, с которыми приходится иметь дело пользователям компьютеров, особое место занимают операционные системы.Операционная система (ОС) управляет компьютером, запускает программы, обеспечивает защиту данных, выполняет различные сервисные функции по запросам пользователя и программ. Каждая программа пользуется услугами ОС, а потому может работать только под управлением той ОС, которая обеспечивает для нее услуги. Таким образом, выбор ОС очень важен, так как он определяет, с какими программами Вы сможете работать на своем компьютере. От выбора ОС зависит также производительность Вашей работы, степень защиты данных, необходимые аппаратные средства и т.д. Однако, выбор операционной системы также зависит от технических характеристик (конфигурации) компьютера. Чем более современнее операционная система, тем она не только предоставляет больше возможностей и более наглядна, но также тем больше она предъявляет требований к компьютеру (тактовая частота процессора, оперативная и дисковая память, наличие и разрядность дополнительных карт и устройств).Основная причина необходимости ОС состоит в том, что элементарные операции для работы с устройствами компьютера и управление его ресурсами – то операции очень низкого уровня, поэтому действия, которые необходимы пользователю и прикладным программам, состоят из нескольких сотен или тысяч таких элементарных операций.Операционная система скрывает от пользователя эти сложные и ненужные подробности и предоставляет ему удобный интерфейс для работы. Она выполняет различные вспомогательные действия, например, копирование и печать файлов.ОС осуществляет загрузку в оперативную память всех программ, передает им управление в начале их работы, выполняет различные действия по запросу выполняемых программ и освобождает занимаемую программами оперативную память при их завершении.ункции операционных систем (основные):Загрузка приложений в оперативную память и их выполнение;Стандартизированный доступ к периферийным устройствам;Управление оперативной памятью;Управление доступом к данным на энергонезависимых носителях;Пользовательский интерфейс;Сетевые операцииПараллельное или псевдопараллельное выполнение задач (многозадачность)Взаимодействие между процессами: обмен данными, взаимная синхронизацияРазграничение прав доступа и многопользовательский режим работы (авторизация, аутентификация)Основные классификации операционных системОперационные системы могут различаться особенностями реализаций внутренних алгоритмов управления основными ресурсами компьютера (процессорами, устройствами, памятью), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.Существует несколько классификаций операционных систем, в которых выделяют определенные критерии, отражающие разные существенные характеристики систем, рассмотрим наиболее часто встречающиесяПо назначению. Системы общего назначения,подразумевает ОС, предназначенные для решения широкого круга задач, включая запуск различных приложений, разработку и отладку программ, работу с сетью и мультимедиа .Системы реального времени.Предназначены для работы в контуре управления объектами.Прочие специализированные системы.Это различные ОС, ориентированные, прежде всего на эффективное решение определенного класса, с большим или меньшим ущербом для прочих задачПо характеру взаимодействия с пользователем Пакетные ОС, обрабатывающие заранее подготовленные задания Диалоговые ОС, выполняющие задания пользователя в интерактивном режимеОС с графическим интерфейсомВстроенные ОС, не взаимодействующие с пользователемПо числу одновременного выполнения задачОднозадачные ОС. В таких систем ах в каждый момент времени может существовать не более чем один пользовательский процесс. Однако, одновременно с этим, могут работать системные процессы Многозадачные ОС.Они обеспечивают параллельное выполнение некоторых пользовательских процессов. Реализация многозадачности требует значительного усложнения алгоритмов и структур данных, используемых в системе.По числу одновременных пользователейОднопользовательские ОС.Для них характерен полный пользовательский доступ к ресурсам. Подобные системы приемлемы в основном на изолированных компьютерах.Многопользовательские ОС.Их важной компонентой являются средства защиты данных и процессов каждого пользователя, основанные на понятии владельца ресурса и на точном указании прав доступа, предоставленных каждому пользователю системы.По аппаратурной основеОднопроцессорные ОС.Многопроцессорные ОС.В задачи такой системы входит эффективное распределение выполняемых заданий по процессорам и организация согласованной работы всех процессоров.Сетевые ОС.Они включают возможность доступа к другим компьютерам локальной сети, работы с файловыми и другими серверами.Распределенные ОС.Распределенная система, используя ресурсы локальной сети, представляет их пользователю как единую систему, не разделенную на отдельные машины.По способу построенияМикроядерныеМонолитные. Классификация операционных систем по семействамОперационные системы семейства OS/2 OS/2 – семейство многозадачных операционных систем с графическим интерфейсом, есть версии для многопроцессорных машин. OS/2 создавалась для собственных нужд и задач фирмы IMB. OS/2 использовалась IMB в качестве основы некоторого числа программных решений, таких как комментаторские системы олимпийских игр, программное обеспечение для банков. Под нее практически не существует программного обеспечения.Поддержка OS/2 до последнего времени осуществлялась выпуском версий OS/2 безо всяких кардинальных изменений и улучшений.Исторически сложилось такая ситуация, что в данный момент эта ОС на рынке программного обеспечения мало распространена. Существует несколько версий ОС OS/2 Warp Server, являющихся операционными системами для серверов.В рамках проекта Core/2 существуют два действующих направления по развитию OS/2:OS/4 - создание современного ядра методом реверс-инижиринга и полного переписывания кода на основе существующих ядер.osFree – создание всей операционной системы «с нуля» на основе современных микроядерных технологий и активного использования Open Source наработок.Операционные системы семейства UNIXПервая система UNIX была разработана в 1969 г. в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных UNIX-систем. Все ОС, относящиеся к этому семейству, являются многозадачными, многопользовательскими, с графическим интерфейсом, обеспечивают достаточную надежность и защиту данных. Эти ОС ставятся на различные аппаратные платформы (как на ПК, так и на большие машины такие как мэйнфреймы и суперЭВМ).Некоторые отличительные признаки UNIX-систем включают в себя:использование простых текстовых файлов для настройки и управление системой;широкое применение утилит, запускаемых в командной строке;взаимодействие с пользователем посредством виртуального устройства – терминалом;использование конвейеров из нескольких программ , каждая из которых выполняет одну задачу;предоставление физических и виртуальных устройств и некоторых средств межпроцессорного взаимодействия как файлов.Идеи, заложенные в основу UNIX, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время UNIX-системы признаны одними из самых исторически важных ОС.Совокупная доля различных UNIX-систем занимает значительную долю на рынке серверных программ. Ввиду большой надежности системы UNIX она широко используется для организации работы глобальной сети Internet.

Операционные системы семейства Linux Linux является одной из распространенных систем версий UNIX. Она может организовать работу как рабочих станций, так и сервера. Поддерживает технологию Plug & Play (стандарт аппаратной и программной архитектуры, который делает возможным распознавание устройств).Linux – это многозадачная и многопользовательская операционная система для бизнеса, образования и индивидуального программирования. Как и все UNIX-системы, она ориентирована на работу в сети.Одним из достоинств Linux можно считать высокую скорость работы. Эта ОС может работать на машинах не очень большой мощности. Второе достоинство заключается в том, что она может применяться как для различных типов серверов, так и для настольных компьютеров.В отличие от большинства других операционных систем, Linux не имеет единой «официальной» комплектации. Вместо этого Linux поставляется в большом количестве так называемых дистрибутивов, в которых ядро Linux соединяется с утилитами GNU и другими прикладными программами (например, X), делающими её полноценной многофункциональной операционной средой.Операционные системы семейства Windowsоперационный система интерфейсПлатформы операционных систем Windows NT и Windows 2000 представляют собой операционные системы для использования на самых разнообразных компьютерах. Все ОС семейства Windows являются многозадачными системами с графическим интерфейсом. Они работают на платформах x86, x86-64, IA-64, ARM. Существовали также версии для DEC Alpha, MIPS, PowerPC и SPARC.Одним из достоинств ОС семейства Windows является поддержка технологии Plug & Play. Эта технология упрощает для пользователя подключение разных внешних устройств.Еще одним достоинством этих ОС является их переносимость: за счет специальных модулей осуществляется связь ОС с разным аппаратным обеспечением.ОС семейства Windows реализует метод многозадачности с вытеснением. Это позволяет снять приложение в случае его зависания. Также эти ОС поддерживают технологию OLE (Object Linking Embedding). OLE – стандарт, позволяющий создавать различные составные документы: в документ, созданный одним приложением, можно внедрять объекты или ссылаться на те из них, которые созданы другими приложениями.В интерфейсе ОС семейства Windows реализована объектная модель. Также они поддерживают работу ПК в сети. Эта поддержка реализовывается в следующих ситуациях:В настоящее время Microsoft Windows установлена примерно на 92 % персональных компьютеров и рабочих станций. По данным компании Net Applications, в апреле 2010 года рыночная доля Windows составляла 91,5 %.

10 Электронные таблицы. Функции и возможностиСовременные технологии обработки информации часто приводят к тому, что возникает необходимость представления данных в виде таблиц. В языках программирования для такого представления служат двухмерные массивы. Для табличных расчетов характерны относительно простые формулы, по которым производятся вычисления, и большие объемы исходных данных. Такого рода расчеты принято относить к разряду рутинных работ, для их выполнения следует использовать компьютер. Для этих целей созданы электронные таблицы (табличные процессоры) — прикладное программное обеспечение общего назначения, предназначенное для обработки различных данных, представимых в табличной форме.Электронная таблица (ЭТ) позволяет хранить в табличной форме большое количество исходных данныхрезультатов, а также связей (алгебраических или логических соотношений) между ними. При изменении исходных данных все результаты автоматически пересчитываются и заносятся в таблицу. Электронные таблицы не только автоматизируют расчеты, но и являются эффективным средством моделирования различных вариантов и ситуаций. Меняя значения исходных данных, можно следить за изменением получаемых результатов и из множества вариантов решения задачи выбрать наиболее приемлемый.При работе с табличными процессорами создаются документы, которые также называют электронными таблицами. Такие таблицы можно просматривать, изменять, записывать на носители внешней памяти для хранения, распечатывать на принтере.Рабочим полем табличного процессора является экран дисплея, на котором электронная таблица представляется в виде прямоугольника, разделенного на строки и столбцы. Строки нумеруются сверху вниз. Столбцы обозначаются слева направо. На экране виден не весь документ, а только часть его. Документ в полном объеме хранится в оперативной памяти, а экран можно считать окном, через которое пользователь имеет возможность просматривать таблицу. Для работы с таблицей используется табличный курсор, — выделенный прямоугольник, который можно поместить в ту или иную клетку. Минимальным элементом электронной таблицы, над которым можно выполнять те или иные операции, является такая клетка, которую чаще называют ячейкой. Каждая ячейка имеет уникальное имя(идентификатор), которое составляется из номеров столбца и строки, на пересечении которых располагается ячейка. Нумерация столбцов обычно осуществляется с помощью латинских букв (поскольку их всего 26, а столбцов значительно больше, то далее идёт такая нумерация — AA, AB, ..., AZ, BA, BB, BC, ...), а строк — с помощью десятичных чисел, начиная с единицы. Таким образом, возможны имена (или адреса) ячеек B2, C265, AD11 и т.д.Следующий объект в таблице — диапазон ячеек. Его можно выделить из подряд идущих ячеек в строке, столбце или прямоугольнике. При задании диапазона указывают его начальную и конечную ячейки, в прямоугольном диапазоне — ячейки левого верхнего и правого нижнего углов. Наибольший диапазон представляет вся таблица, наименьший — ячейка. Примеры диапазонов — A1:A100; B12:AZ12; B2:K40.Если диапазон содержит числовые величины, то они могут быть просуммированы, вычислено среднее значение, найдено минимальное или максимальное значение и т.д.Иногда электронная таблица может быть составной частью листа, листы, в свою очередь, объединяются в книгу (такая организация используется в Microsoft Excel).Ячейки в электронных таблицах могут содержать числа (целые и действительные), символьные и строковые величинылогические величиныформулы (алгебраические, логи-ческие, содержащие условие).

В формулах при обращении к ячейкам используется два способа адресации — абсолютная и относительная адресации. При использовании относительной адресации копирование, перемещение формулы, вставка или удаление строки (столбца) с изменением местоположения формулы приводят к перестраиванию формулы относительно её нового местоположения. В силу этого сохраняется правильность расчётов при любых указанных выше действиями над ячейками с формулами. В некоторых же случаях необходимо, чтобы при изменении местоположения формулы адрес ячейки (или ячеек), используемой в формуле, не изменялся. В таких случаях используется абсолютная адресация. В приведенных выше примерах адресов ячеек и диапазонов ячеек адресация является относительной. Примеры абсолютной адресации (в Microsoft Excel): $A$10; $B$5:$D$12; $M10; K$12 (в предпоследнем примере фиксирован только столбец, а строка может изменяться, в последнем — фиксирована строка, столбец может изменяться).

Управление работой электронной таблицы осуществляется посредством меню команд.

Можно выделить следующие режимы работы табличного процессора:

  • формирование электронной таблицы;

  • управление вычислениями;

  • режим отображения формул;

  • графический режим;

  • работа электронной таблицы как базы данных.

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

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

Режим отображения формул задает индикацию содержимого клеток на экране. Обычно этот режим выключен, и на экране отображаются значения, вычисленные на основании содержимого клеток.

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

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

Основные возможности электронных таблиц:

  1. проведение однотипных сложных расчётов над большими наборами данных;

  2. автоматизация итоговых вычислений;

  3. решение задач путём подбора значений параметров;

  4. обработка (статистический анализ) результатов экспериментов;

  5. проведение поиска оптимальных значений параметров (решение оптимизационных задач);

  6. подготовка табличных документов;

  7. построение диаграмм (в том числе и сводных) по имеющимся данным;

  8. создание и анализ баз данных (списков).

Загрузку программы MS Excel можно выполнить следующими способами:

  1. Двойным щелчком по ярлыку Microsoft Excel на рабочем столе, если ярлык там находится.

  2. Выполнением последовательности команд Пуск, Программы, Стандартные, ярлык Microsoft Excel.

  3. Выполнением последовательности команд Пуск, Найти, Файлы и папки. В появившемся диалоговом окне в строке Имя ввести Microsoft Excel (имя файла ярлыка программы MS Excel) и щелкнуть по кнопке Найти. После окончания поиска выполнить двойной щелчок по ярлыку Microsoft Excel. По завершению загрузки MS Excel закрыть окно поиска.

11 Графические возможности программных пакетов оффисного назначения.Программы офисного назначения – это табличные процессоры, программы подготовки презентаций и всякие полезные мелочи – записные книжки, организаторы рабочего времени и т.д. Именно такой набор программ (иногда с небольшими вариациями) обычно входит в комплекты офисных программ Microsoft Office, Lotus SmartSuite, Perfect Office фирмы Corel и т.д.Редакторы документов – это наиболее широко используемый вид прикладных программ. Ведь практически каждый пользователь компьютера встречается с необходимостью подготовки тех или иных документов – писем, статей, служебных записок, отчетов и т.д. Редакторы документов позволяют делать это гораздо удобнее и со значительно лучшими результатами, чем с помощью пишущей машинки.Редакторы документов ориентированы на работу с документами, то есть с текстами, состоящими из разделов, страниц, абзацев, предложений, слов и т.д. Они позволяют использовать различные шрифты символов, абзацы произвольной формы, автоматически переносят слова на новую строку, позволяют делать сноски, включать рисунки, автоматически нумеруют страницы и сноски и т.д. Наиболее мощные редакторы документов позволяют проверять правописание, набирать тексты в несколько столбцов, создавать таблицы и диаграммы, строить оглавления, предметные указатели и т.д. Всего существует несколько сотен редакторов текстов, от самых простых до весьма мощных и сложных. При работе в DOS можно порекомендовать несложный, хотя и обладающий ограниченными возможностями, редактор ЛЕКСИКОН, а также более мощные редакторы Microsoft Word или WordPerfect фирмы Corel. При этом WordPerfect 6.0 работает в режиме WYSIWYNG (WYSIWYN – сокращение английской фразы «что Вы видите, то и получите», то есть что на экране, то и на печати), то есть выводит на экран страницу точно в том виде, в котором она будет печататься.При работе в Windows, Windows 95, Windows NT и OS/2 можно использовать очень мощные и удобные редакторы Microsoft Word и Corel WordPerfect. Они, естественно, работают в режиме WYSIWYNG, то есть могут выводить на экран страницу точно в том виде, в котором она будет печататься. По возможностям эти редакторы лишь немного уступают профессиональным издательским системам. Кроме того, эти редакторы содержат множество средств автоматизации делопроизводства – рассылку стандартных писем, заполнение бланков по шаблонам и т.д. Имеются и более простые редакторы документов – Word Pro фирмы Lotus, Just Write фирмы Symantec и др.Табличные процессоры обеспечивают работу с большими таблицами. При работе с табличным процессором на экран выводится прямоугольная таблица, в клетках которой могут находиться числа, пояснительные тексты и формулы для расчета значения в клетке по имеющимся данным. Все распространенные табличные процессоры позволяют перевычислять значения элементов таблиц по заданным формулам, строить по данным таблицы в таблице различные графики и т.д. Современные табличные процессоры поддерживают трехмерные таблицы, позволяют создавать собственные входные и выходные формы, включать в таблицы рисунки, использовать средства автоматизации – макрокоманды, работать с базами данных и т.д. Множество возможностей современных табличных процессоров носит чисто декоративный характер – включение звуковых эффектов, создание слайд-шоу и т.д., здесь фантазия разработчиков неисчерпаема. Наибольшей популярностью пользуются табличные процессоры Microsoft Excel (для Windows), Lotus 1 – 2 – 3 и Quattro Pro (для DOS и Windows).Программы подготовки презентаций у нас популярны гораздо меньше, чем на Западе, что отражает недостаточную развитость деловой культуры. На Западе же презентации применяются очень широко – на деловых совещаниях, в рекламе, при обучении и т.д. Программы подготовки презентаций могут оформлять слайды для презентаций, помещая туда красивые диаграммы, рисунки, надписи и т.д., после чего эти слайды можно напечатать на специальном слайд-принтере или же на обычном струйном или лазерном принтере, если Вы используете слайд-проектор большого формата. Но слайд-проектор применять не обязательно – программы подготовки презентаций позволяют, и показать презентацию с помощью компьютера (на мониторе большого размера или специальной демонстрационной панели). В этом случаи Вы можете управлять презентацией, выбирая те или иные варианты её продолжения, использовать заранее подготовленное звуковое сопровождение и т.д. Примером таких программ являются PowerPoint фирмы Microsoft, Freelance Graphics фирмы Lotus, Charisma фирмы Micrografx, Harvard Graphics фирмы Software Publishing.Программы планирования. При необходимости составлять планы работ, требующие координации многих людей и ресурсов (пример – планирование работ по постройке дома), используются специальные программы планирования типа Microsoft Projekt, TimeLine фирмы Symantec и др. Эти программы позволяют составлять планы в удобной и наглядной форме, учитывать множество ресурсов, необходимых для достижения поставленных целей, управлять несколькими задачами в рамках одного проекта, выводить разнообразные отчеты, диаграммы Гантта, календари, индивидуальные графики ресурсов, и т.д.

12 Базы данных и модели жизненного цикла.База данных (БД) - это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов, обладающих одинаковым набором свойств.База данных – это организованная структура, предназначенная для хранения информации. В современных базах данных хранятся не только данные, но и информация.Это утверждение легко пояснить, если, например, рассмотреть базу данных крупного банка. В ней есть все необходимые сведения о клиентах, об их адресах, кредитной истории, состояние расчетных счетов, финансовых операциях и т.д. Доступ к этой базе данных имеется у достаточно большого количества сотрудников банка, но среди них вряд ли найдется такое лицо, которое имеет доступ ко всей базе полностью и при этом способно единолично вносить в нее произвольные изменения. Кроме данных, база содержит методы и средства, позволяющие каждому из сотрудников оперировать только с теми данными, которые входят в его компетенцию. В  результате взаимоде-йствия данных, содержащихся в базе, с методами, доступными конкретным сотрудни-кам, образуется информация, которую они потребляют и на основании которой в пределах собственной компетенции производят ввод и редактирование данных.С понятием базы данных тесно связано понятие системы управления базой данных. Это комплекс программных средств, предназначенных для создания структуры новой базы, наполнение ее содержимым, редактирование содержимого и визуализации информации. Под визуализацией информации базы понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройства вывода или передачи по каналам связи.В мире существует множество систем управления базами данных. Несмотря на то что они могут по-разному работать с разными объектами и предоставляют пользователю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий. Это дает нам возможность рассмотреть одну систему и обобщить ее понятия, приемы и методы на весь класс СУБД. В качестве такого учебного объекта мы выберем СУБД Microsoft Access, входящую в пакет Microsoft Office.Одним из базовых понятий проектирования БД является понятие их жизненного цикла. Жизненный цикл БД включает жизненный цикл информации, жизненный цикл информационных продуктов (программного обеспечения) и услуг, а также жизненный цикл ИС.Жизненный цикл информации состоит из её появления, существования и исчезновения.Жизненный цикл информационных систем (как и использования компьютерных программ) – это различные их состояния, начиная с момента возникновения необходимости в данной ИС и заканчивая моментом её полного выхода из употребления у всех пользователей.Жизненный цикл существования программного продукта (БД) является непрерывным процессом. Разработка БД охватывает все работы по их созданию. Концепция жизненного цикла продукта, услуги или системы подразумевает, что они ограниченны, по крайней мере, во времени. Особенностью разработки программного продукта является принятие решений на начальных этапах с их реализацией на последующих этапах. При этом важно оценить необходимые для разработки программного продукта материальные, трудовые и финансовые ресурсы, ориен-тировочные длительности основных этапов его жизненного цикла.Традиционно выделяются следующие основные этапы жизненного цикла программного обеспечения:анализ требований,проектирование,кодирование (программирование),тестирование и отладка эксплуатация и сопровождение.Разработка БД охватывает все работы по их созданию.К основным этапам жизненного цикла БД относятся: отладка, тестирование, анализ требований, эксплуатация, кодирование, проектирование, сопровождение. При этом программный продукт может создаваться даже если на него нет заказа.Под моделью ЖЦ понимается структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении всего ЖЦ.К основным (базовым) моделям жизненного цикла относят модели: каскад («водопад»), поэтапная и спираль («водоворот»). Важным аспектом проектирования БД является возможность осуществлять тестирование системы непосредственно в процессе ее разработки. Не все модели жизненного цикла БД позволяют это делать.В каскадной модели переход на следующий этап означает полное завершение работ на предыдущем этапе.В спиральной модели переход на следующий этап означает создание прототипа разрабатываемого продукта, создание версии разрабатываемого продукта, уточнение характеристик предыдущего этапа.Наиболее короткий период разработки программного продукта имеет спиральная модель, а наиболее длительный период разработки БД имеет каскадная модель жизненного цикла.Каскадная модель применяется при разработке небольших проектов и при решении отдельных задач.Эксплуатация БД включает работы по ее внедрению в том числе конфигурирование БД и рабочих мест пользователей, обеспечение эксплуатационной документацией, проведение обучения персонала и т.д., и непосредственно эксплуатацию, в том числе локализацию проблем и устранение причин их возникновения, модификацию в рамках установленного регламента, подготовку предложений по совершенствованию, развитию и модернизации БД.Разработчики стремятся сделать максимально возможным период жизненного цикла информационных продуктов и услуг. Для большинства современных компьютерных программ длительность жизненного цикла равна двум–трём годам, хотя встречаются программы, существующие десять и более лет. Увеличить длительность жизненного цикла БД можно, если регулярно осуществлять маркетинговые мероприятия по её поддержке, изменения в БД и программных услугах; если уменьшить цену на БД, провести модификацию БД и др.Увеличить длительность жизненного цикла БД можно, если регулярно осуществлять маркетинговые мероприятия по её поддержке, изменения в БД и программных услугах; если уменьшить цену на БД, провести модификацию БД и др.

13 Классификация и типология баз данных.Не нашла!!!

14 СУБД. Классификация и основные функции.Систе́ма управле́ния ба́зами да́нных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных[1].Основные функции СУБДуправление данными во внешней памяти (на дисках);управление данными в оперативной памяти с использованием дискового кэша;журнализация измененийрезервное копирование и восстановление базы данных после сбоев;поддержка языков БД (язык определения данныхязык манипулирования данными).Обычно современная СУБД содержит следующие компоненты:ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБДа также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.

Классификации СУБД: Иерархические Сетевые Реляционные Объектно-ориентированные Объектно-реляционные]

По степени распределённостиЛокальные СУБД (все части локальной СУБД размещаются на одном компьютере)Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).

По способу доступа к БДФайл-серверные В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжностьвысокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД.На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком[2]. Примеры: Microsoft AccessParadoxdBaseFoxProVisual FoxPro.

Клиент-серверные Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжностьвысокая доступность и высокаябезопасность.Система управления базами данных - комплекс программных и лингвистических средств общего или специального назначения, реализующий поддержку создания баз данных, централизованного управления и организации доступа к ним различных пользователей в условиях принятой технологии обработки данных.СУБД характеризуется используемой моделью, средствами администрирования и разработки прикладных процессов.

СУБД обеспечивает:

- описание и сжатие данных;

- манипулирование данными;

- физическое размещение и сортировку записей;

- защиту от сбоев, поддержку целостности данных и их восстановление;

- работу с транзакциями и файлами;

- безопасность данных.

СУБД определяет модель представления данных.

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

15 Модель данных Модель данных – совокупность структур данных и операции их обработки.

Существует несколько видов моделей данных, к которым можно отнести:

- иерархическую;

- сетевую;

- реляционную;

- постреляционную;

- объектно–ориентированную;

- многомерную.

Иерархическая и сетевая модели данных стали применяться в системах управления БД в начале 60–х годов. В начале 70–х годов была предложена реляционная модель данных (Эдгар Кодд), которая является на сегодняшний момент самой распространенной.

В реляционной модели данных объекты и взаимосвязи между ними представляются с помощью таблиц, которые характеризуются следующими свойствами:

- каждый столбец имеет уникальное имя;

- одинаковые строки в таблице отсутствуют;

- порядок следования строк и столбцов может быть произвольным. Основное назначение модели данных состоит в том, чтобы дать возможность представить в целом информационную картину без отвлекающих деталей, связанных с особенностями хранения. Оно является инструментом, с помощью которого разрабатывается стратегия получения любых данных, хранящихся в базе данных.Существует несколько видом моделей данных, к которым можно отнести иерархическую, сетевую, реляционную, постреляционную и объектно–ориентированную модели данных.Иерархическая и сетевая модели данных стали применяться в системах управления базами данных в начале 60-х годов. В начале 70-х годов была предложена реляционная модель данных.

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

Основные понятия иерархической структуры:

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

- уровень;

- связь.

Основные операции манипуляции с БД: поиск элемента в БД; переход от одного дерева к другому; перемещение от записи к записи внутри дерева; вставка некоторой записи; удаление элемента.

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

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

 

Сетевая модель данных

Данные в такой модели представлены в виде коллекции записей, а связи – в виде наборов. Сетевая модель – это граф с записями в виде узлов графа и наборами в виде его ребер. В основу положены графы произвольной структуры, которые отражает взаимосвязи между данными в этой модели.

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

Основные операции манипуляции с БД: поиск элемента в БД; переход от предка к некоторому потомку; переход от потомка к предку; вставка новой записи; удаление записи и др.

Достоинства: эффективное использование затрат памяти (ресурсы) при манипулировании данными; использовать для решения многих задач из–за различных связей.

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

 

Реляционная модель данных

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

Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами: все столбцы в таблице – однородные (имеют одинаковый тип); каждый столбец имеет уникальное имя; одинаковые строки в таблице отсутствуют; порядок следования строк и столбцов может быть произвольным. Отношения представлены в виде таблиц, строки которых соответствуют кортежам или записям, а столбцы –атрибутам отношений, доменам, полям.

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

Достоинства: простота моделирования и физическая реализация, высокая эффективность обработки данных.

Недостатки: отсутствие стандартных средств идентификации каждой отдельной записи.

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

Постреляционная модель данных

Классическая реляционная модель предлагает неделимость данных хранящихся в полях записей таблиц.

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

В этой модели, в отличие от реляционной, данные хранятся более эффективно и не требуется выполнять операции соединения двух таблиц.

Достоинства: обеспечивает высокую наглядность представления информации и повышенную эффективность ее обработки.

Недостатки: трудоемкий процесс обеспечения целостности и непротиворечивости данных, которые хранятся в базе данных.

 

Объектно–ориентированная модель

Моделью данных, привлекающей нарастающее внимание с конца 80-х гг., является объектная, или объектно-ориентированная модель. Основные понятия, с которыми оперирует эта модель:

- объекты, обладающие внутренней структурой и однозначно идентифицируемые уникальным внутрисистемным ключом;

- классы, являющиеся, по сути, типами объектов;

- операции над объектами одного или разных типов, называемые «методами»;

- инкапсуляция структурного и функционального описания объектов, позволяющая разделять внутреннее и внешнее описания;

- наследуемость внешних свойств объектов на основе соотношения «класс–подкласс».

Данная модель связана с развитием Интернет–технологий. Эта модель характеризуется следующими свойствами: базовыми примитивами являются объекты и литералы; каждый объект имеет уникальный идентификатор, а литерал его не имеет; объекты и литералы различаются по типу; объект на который можно установить ссылку называется экземпляром и хранит определенный набор данных; состояние объекта определяется набором значений; поведение объекта определяется набором операций, которые могут быть выполнены над ними. Также к свойствам можно отнести инкапсуляция, полиморфизм, наследование.

Достоинства:

- возможность для пользователя системы определять свои сколь угодно сложные типы данных;

- наличие наследуемости свойств объектов;

- повторное использование программного описания типов объектов при обращении к другим типам, на них ссылающимся.

Недостатки:

- эта модель не исследована столь тщательно математически, как реляционная;

- невозможно перенести объекты в другую базу данных.