Рефераты
 

Программное обеспечение ЭВМ и языки программирования

сохранение документов в формат PDF;

- арифметические расчёты и другие формулы в таблицах;

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

- возможность защиты отдельных частей документов (разделов) и отдельных ячеек таблиц от изменений;

- поддержка стилей страниц.

Writer позволяет сохранять документы в различных форматах, включая Microsoft Word, RTF, XHTML и OASIS Open Document Format, который является форматом, используемым по умолчанию начиная с версии OpenOffice.org 2.0, а также в формате предыдущих версий Writer. В отличие от таких редакторов, как Microsoft Word и Abiword, в Writer отсутствует проверка грамматики, хотя и присутствует проверка орфографии.

Angel Writer - свободно распространяемый текстовый редактор, позволяющий работать как с простыми текстами, так и с текстами в формате Rich Text. Обладая приятным и интуитивно понятным интерфейсом, Angel Writer компактен и быстр. Он незаменим в повседневной работе над небольшими документами! При работе с записями программа предоставляет в распоряжение настоящий Rich Text - редактор с возможностью чтения, записи и печати текстовых документов в форматах *.txt и *.rtf. Кроме того, реализованы все основные возможности редактирования и форматирования текста. Для облегчения и ускорения работы все команды продублированы "горячими клавишами". Начать работу в редакторе можно без предварительного обучения, так как он разработан в соответствии со стандартами Microsoft Office.

Редакционно-издательские системы (верстка) должны обеспечивать все функции текстового процессора, а также:

воспринимать тексты, созданные в различных текстовых редакторах;

воспринимать отсканированные или нарисованные в графических редакторах иллюстрации, созданные на разных платформах ПК, и корректировать их цвета;

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

возможность для различного "обтекания" рисунка текстом;

обеспечивать автоматическое составление оглавления текста, автоматическое оптимальное размещение текста на странице;

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

Полнофункциональные издательские системы - Microsoft Publisher, Corel Ventura и Adobe PageMaker, FrameMaker, QuarkXPress, Ventura Publisher. Издательские системы незаменимы для компьютерной верстки и графики.

1.4.2. Программные средства для вычислительных работ

Электронные таблицы, пакеты прикладных программ (ППП) для статистической обработки данных, специализир
ованные математические ППП. Электронные таблицы (SuperCalc, Excel, Lotus, Quattro Pro, SDSS Spreadsheet, VistaCalc, GS-Calc и др.) относятся к классу систем обработки числовой информации, называемых Spreadsheet. Буквальный перевод термина "spreadsheet" c английского языка означает "расстеленный лист (бумаги)". Области применения электронных таблиц: бухгалтерский и банковский учет; планирование распределения ресурсов; проектно-сметные работы; инженерно-технические расчеты; статистическая обработка больших массивов информации; исследование динамических процессов.

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

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

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

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

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

Самые популярные табличные процессоры - Microsoft Excel, Access и Lotus 1-2-3. В Microsoft Excel автоматизированы многие рутинные операции, специальные шаблоны помогают создавать отчёты, импортировать данные и многое другое.

Lotus 1-2-3 - профессиональный процессор электронных таблиц. Широкие графические возможности и удобный интерфейс пакета позволяют быстро ориентироваться в нём. С его помощью можно создать любой финансовый документ, отчёт для бухгалтерии, составить бюджет, а затем разместить все эти документы в базах данных.

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

Элементами таблицы являются столбцы, строки, ячейки, блоки ячеек. Чаще всего строки пронумерованы (1, 2, 3, 4, ...), а столбцы поименованы латинскими буквами и комбинациями букв (А, В, С, ..., АА, АВ,..., IV). Элемент, находящийся на пересечении столбца и строки, называется ячейкой (клеткой).

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

Каждая ячейка таблицы имеет следующие характеристики: адрес; содержимое; изображение; формат; комментарий.

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

Содержимым ячейки может быть: число (целое со знаком или без (-345), дробное с фиксированной точкой (253,62) или с плавающей точкой (2,5362е + 2)); текст; формула.

Формула - всегда начинается со знака "=" и может содержать числовые константы, абсолютные или относительные ссылки на адреса ячеек, встроенные функции. Аргументы функций всегда заключаются в круглые скобки.

Формат ячейки - определяется форматом чисел, шрифтом, цветом символов, видом рамки, цветом фона, выравниванием по границам ячейки, наличием защиты ячейки.

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

Преимущества использования ЭТ при решении задач:

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

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

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

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

Помимо рассмотренных выше коммерческих продуктов существует альтернативное свободное программное обеспечение для работы с электронными таблицами: OpenOffice.org Calc, Gnumeric.

Gnumeric - это свободный табличный процессор, поддерживается на GNU/Linux, Mac OS, Microsoft Windows и других ОС. Gnumeric является частью GNOME Office, набора офисных приложений с некоторой долей интеграции. Разработчики стараются обеспечить поддержку полнофункциональных электронных таблиц и простой переход для пользователей и организаций с несвободных программ. Некоторые специалисты утверждают, что он обеспечивает больше функций и намного большую точность вычислений, чем Microsoft Excel. Gnumeric поддерживает систему подключаемых модулей, позволяющая расширять функциональность - добавлять функции, использовать иные форматы ввода-вывода и возможности обработки данных в реальном времени.

OpenOffice.Calc - похож на Microsoft Excel и функциональность этих редакторов примерно равна. Если Calc сравнивать с Excel, то в последнем работать удобнее и быстрее. При работе с программой Calc следует отметить один важный момент: функции в программе названы на английском языке в любой локализованной версии, тогда как в продукте от Microsoft - на русском в русскоязычной и на английском в англоязычной. При работе с диаграммами, во-первых, несмотря на отличную совместимость со многими документами MS Office, Calc отображает диаграммы и графики, созданные в Excel, некорректно. Во-вторых некоторые параметры для редактирования диаграмм недоступны - в частности это касается заливки. Для непосредственно самих полос графика можно задавать заполнение сплошным цветом, градиентом, штриховкой и каким-либо рисунком, но градиент можно выбрать только из предуставленных разработчиками - это достаточно серьёзная недоработка, но с другой стороны, для графиков можно включить прозрачность и тени. Кроме того, можно создавать трёхмерные диаграммы, где позволяется задать любой угол наклона и даже рассчитывается освещение для каждой полоски графика.

Минус программ OpenOffice - некоторая «заторможенность» при сохранении больших документов: виной всему формат файлов этого пакета. Все они сохраняются в виде XML, запакованного в ZIP-архив - преобразование и упаковка занимают достаточно долгое время.

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

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

Математические пакеты (Eureka, Mathcad, Mathcad Professional, Matlab, Maple, Mathematica и др.) позволяют решить практически любую математическую задачу и представить результаты расчетов в табличном или графическом виде. Многие математические пакеты имеют развитые средства построения трехмерных поверхностей, задаваемых с помощью функций.

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

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

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

Отличительной чертой Mathcad является использование в ней общепринятых в математике символов для обозначения операций интегрирования, дифференцирования, вычисления рядов и т.д. возможность использования латинских, греческих букв, верхних и нижних индексов позволяет получать формулы в привычном виде. Mathcad является интегрирующей системой, позволяющей создавать проекты, в которых данных циркулируют по системе Matlab, электронным таблицам MS Excel b пакету научной графики Axum.

1.4.3. Программные средства работы с графикой

Это обширный класс программ, предназначенных для воздания и (или) обработки графических изображений: графические редакторы, графические процессоры, аниматоры; программные средства для работы с трехмерной графикой; средства деловой графики; средства для создания презентаций, средства моделирования и проектирования.

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

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

программы двумерной компьютерной живописи - графические редакторы;

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

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

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

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

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

программы для научной визуализации.

Графические редакторы (Painter, Corel Draw, FreeHand, Picture Man и др.) предназначены преимущественно для просмотра, создания и редактирования плоскостных (двумерных) статичных изображений.

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

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

В данном классе различают следующие категории:

растровые редакторы,

векторные редакторы

3D - редакторы - программные средства для создания и обработки трехмерной графики.

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

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

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

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

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

Редакторы трехмерной графики используют для создания трехмерных композиций. Имеют 2 характерные особенности:

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

во-вторых, позволяют создавать трехмерную анимацию.

Поэтому редакторы трехмерной графики нередко называют также 3D-аниматорами.

Программы аниматоры (Animator Pro, PowerAnimator, Animation Works Interactive, Animo и др.) могут создавать и работать как с двумерными, так и с трехмерными изображениями. В отличие от традиционной анимации, где каждый кадр рисуется вручную, в компьютерной двумерной анимации значительную часть рутинной работы берет на себя программа. Используя специальные инструменты пользовательского меню таких программ, можно задать движение по определенной траектории (автоматически будут созданы соответствующие промежуточные кадры) или плавно изменить палитру в течение нескольких кадров (например, постепенно затемнить изображение или убрать часть цветов).

Программы двумерного и трехмерного моделирования (AutoCAD, Sketch!, Ray Dream Designer, Crystal 3D Designer, AutoStudio и др.) применяются для дизайнерских и инженерных разработок инженерами-конструкторами, архитекторами, технологами и др.

Программы для научной визуализации (Surfer, Grapher, IRIS Explorer, PV-Wave, Khronos, Data Visualizer, MapViewer и др.) могут быть предназначены для различных целей - от решения проблем муниципального планирования до визуализации солнечных взрывов.

Наиболее часто они применяются для создания поверхностей, описываемых функциями типа z=f(x, y), для построения топографических карт и карт тех процессов, для создания моделей погодных условий и океана и т.п.

1.4.4. Программные средства работы со звуком

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

С появлением в 1989 г. звуковых карт, перед пользователями открылись новые возможности. И дело даже не в том, что на порядок улучшилось качество звука. Появилась звуковая подсистема - комплекс программно-аппаратных средств, предназначенный для:

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

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

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

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

микширования (смешивания) при записи или воспроизведении сигналов от нескольких источников;

управления панорамой стереофонического звукового сигнала (кажущимся расположением источников звука) и уровнем сигнала в каждом канале при записи и воспроизведении;

управления работой внешних электронных музыкальных инструментов через специальный интерфейс MIDI (Musical Instrument Device Interface);

управление компьютером и ввод текста с помощью микрофона.

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

Наиболее популярными программными средствами для синтеза, обработки и воспроизведения звука являются Adagio, TiMidity, Playmidi, Tracker, Gmod, MikMod, XAudio, S3mod, Nspmod, Yampmod и др.

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

Программы обработки цифрового звука (Cool Editor, Sound Forge, Samplitude, Software Audio Workshop) дают возможность прослушивать выбранные участки, делать вырезки и вставки, амплитудные и частотные преобразования, звуковые эффекты (эхо, реверберацию, фленжеp, дистошн), наложение других оцифровок, изменение частоты оцифровки, генерировать различные виды шумов, синтезировать звук.

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

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

Частотные (спектральные) преобразования, например, фильтрация - усиление или ослабление определенных полос частот.

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

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

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

Обработка речевой информации включает в себя синтез речи и автоматическое распознавание речи.

В настоящее время сфера применения синтезаторов речи непрерывно расширяется: используются различные автоматизированные информационно-справочные системы, системы автоматизированного контроля, способные голосом предупредить человека о состоянии контролируемого объекта, другие системы.

Разработаны устройства, позволяющие преобразовать письменный текст в соответствующее ему фонемное представление, что позволяет воспроизводить в виде речи произвольный текст, хранящийся в памяти компьютера. Немало усилий было положено на то, чтобы снабдить программы и операционные системы графическим интерфейсом пользователя. Сейчас развивается новое направление - речевой интерфейс пользователя. Голосовые навигаторы (PilotVoice, Listen, Just Voice, Speech Recognizer, QwickSwitchBitWare) управляют программами, в какой-то мере заменяя клавиатуру и мышь.

Растет популярность средств автоматического распознавания речи (Automated Speech Recognition, ASR). Системы ASR (программы диктовки DragonDictate, Office TalkKolvox Communication) преобразуют речь в закодированный "письменный" текст. Для этого производится спектральный анализ оцифрованной речи и определяются при помощи специальных математических методов минимальные звуковые единицы языка - фонемы.

1.4.5. Базы данных

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

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

База данных - множество данных, организованных для быстрого и удобного способа поиска и извлечения [4].

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

В состав СУБД входят:

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

обрабатывающие программы, включая трансляторы с языков описания данных, языков запросов и языков программирования, редакторы, отладчики;

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

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

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

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

Для любой базы данных можно говорить о ее логической организации и о ее физической организации.

Физическая организация - это способ представления, размещения и хранения данных на носителе.

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

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

Системы управления базами данных обычно поддерживают какую-нибудь одну из моделей организации данных, т.е. с их помощью можно создать базу данных вполне определенного типа. Наиболее распространены реляционные СУБД. Это такие известные программные средства, как dBASE, Ребус, Lotus, FoxPro, Clipper, Access, Paradox и многие другие.

К СУБД иерархического типа можно отнести многие системы управления файлами, в частности Norton Commander, Far Manager, Диспетчер файлов и пр. Большинство СУБД, предназначенных для создания и ведения библиотечных баз данных, также иерархического типа.

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

2. ЯЗЫКИ ПРОГРАММИРОВАНИЯ

2.1. Языки программирования

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

- машинные;

- машинно-ориентированные (ассемблеры);

- машинно-независимые (языки высокого уровня).

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

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

Языки высокого уровня делятся на [3]:

- алгоритмические (Basic, Рascal, C и др.), которые предназначены для однозначного описания алгоритмов;

- логические (Рrolog, Lisр и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания.

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

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

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

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

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

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

Транслятор (англ. translator - переводчик) - это программа-переводчик, которая преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд [2].

Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.

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

Компилятор (англ. compiler - составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется [2].

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

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

Интерпретатор (англ. interpreter - истолкователь, устный переводчик) переводит и выполняет программу строка за строкой [2].

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

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

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

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

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

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

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

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

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

2.2. Системы программирования

Система программирования - это система для разр
аботки новых программ на конкретном языке программирования

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

1. компилятор или интерпретатор;

2. интегрированная среда разработки;

3. средства создания и редактирования текстов программ;

4. обширные библиотеки стандартных программ и функций;

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

6. "дружественная" к пользователю диалоговая среда;

7. многооконный режим работы;

8. мощные графические библиотеки; утилиты для работы с библиотеками

9. встроенный ассемблер;

10. встроенная справочная служба;

11. другие специфические особенности.

Популярные системы программирования - Turbo Basic, Quick Basic, Turbo Pascal, Turbo C.

В последнее время получили распространение системы программирования, ориентированные на создание Windows-приложений:

1. пакет Borland Delphi (Дельфи) - блестящий наследник семейства компиляторов Borland Pascal, предоставляющий качественные и очень удобные средства визуальной разработки. Его исключительно быстрый компилятор позволяет эффективно и быстро решать практически любые задачи прикладного программирования.

2. пакет Microsoft Visual Basic - удобный и популярный инструмент для создания Windows-программ с использованием визуальных средств. Содержит инструментарий для создания диаграмм и презентаций.

3. пакет Borland C++ - одно из самых распространённых средств для разработки DOS и Windows приложений.

4. система программирования на Java, позволяющая компилировать программы для компьютерной платформы, на которой она стоит в том же ключе как и любая другая,. В этом случае главными отличиями Java-программ или Java-applications является использование библиотеки Java-классов, которые обеспечивают разработку безопасных, распределенных систем. Язык Java предназначен для составления программ, которые работают в сетях. Программы, написанные на языке Java, часто используются для создания динамической рекламы в глобальной сети, которые «оживляют» статические картинки Web-страниц и тем самым привлекают внимание пользователей. Достоинством языка является то, что он независим от конкретной архитектуры ЭВМ, и Java-приложения могут работать на различных типах ЭВМ, под управлением различных операционных систем. При работе интерпретатора языка Java исходные тексты транслируются в псевдокод виртуальной Java-машины, который чаще всего называют байт-кодом.

ЛИТЕРАТУРА

1. Акулов О.А. Информатика: учебник / О.А. Акулов, Н.В. Медведев. - М.: Омега-П, 2007. - 270 с.

2. Алексеев А.П. Информатика 2007 / А.П. Алексеев. - М.: СОЛОН-ПРЕСС, 2007. - 608 с.

3. Вьюхин В.В. Информатика и вычислительная техника: учеб. пособие для инженерных специальностей / В.В. Вьюхин; под ред. В.Н. Ларионова. - М.: Дрофа, 1992. - 286 с.

4. Гейн А.Г. Основы информатики и вычислительной техники / А.Г. Гейн. - М.: Просвещение, 1992. - 245 с.

5. Информатика: практикум по технологии работы на компьютере / под ред. Н.В. Макаровой. - 2-е изд. - М.: Финансы и статистика, 1998. - 384 с.

6. Макарова Н.В. Информатика: практикум по технологии работы на компьютере / Н.В. Макарова, С.Н. Рамин. - М.: Академия, 1997. - 384 с.

7. Макарова Н.В. Информатика: учеб. пособие для вузов / Н.В. Макарова, Н.В. Бройдо. - М.: Академия, 2003. - 768 с.

8. Могилев А.В. Информатика: учеб. пособие для вузов / А.В. Могилев, Н.И. Пак, Е.К. Хеннер; под ред. Е.К. Хеннера. - М.: Академия, 2000. - 346 с.

9. Острейковский В.А. Информатика / В.А. Острейковский. М.: Высш. шк., 2000. - 235 с.

10. Угринович Н.Д. Практикум по информатике и информационным технологиям: учеб. пособие для общеобразовательных учреждений / Н.Д. Угринович,

11. Л.Л. Босова, Н.И. Михайлова. - М.: Бином, 2002. - 400 с.

Страницы: 1, 2


© 2010 BANKS OF РЕФЕРАТ