С. В. Ченцова. В. Чубарьинформатикакрасноярск 2002 введение
Скачать 0.92 Mb.
|
синтаксиса и семантики. Переход от языковых конструкций к машинным командам осуществляет транслятор. Языки высокого уровня можно также разделить на декларативные (Пролог, ЛИСП) и процедурно-ориентированные (СИ, Бэйсик, Паскаль, Ада). Процедурно-ориентированные языки развиваются в объектно-ориентированные. 53 Декларативные языки программирования построены на предварительном описании данных и явном указании того, что должно получиться в результате. В основу процедурно-ориентированных языков положен принцип действий: ”Что надо сделать, чтобы решить задачу”. Действия записываются и выполняются операторами. Процедурные языки можно в свою очередь разделить на простые (Бэйсик, ФОРТРАН, Кобол)и модульные (Паскаль, Модула-2, СИ). Процедурные языки называют также операторными или оперативными. Ни один из рассмотренных языков не обладает заметным преимуществом при решении простых вычислительных задач. Преимущество проявляется тогда, когда придется обратиться к библиотеке программ. Лучшим будет тот язык, который обеспечит решение конкретной задачи за минимальное число обращений к памяти и не потребует высокой квалификации пользователя. Как видим: все зависит от задачи, пользователя, организации библиотеки программ, самого компьютера, его внешней памяти и многих других обстоятельств. Так что нельзя предугадать, какой язык лучше, - все зависит от обстоятельств. Это и гарантирует каждому языку широкую область применения. 9.3. Компиляторы и интерпретаторы языков программирования Важно различать язык программирования и реализацию этого языка. Сам язык – это система записи, набор правил, определяющих синтаксис программы. Реализация этого языка – это программа, которая преобразует запись высокого уровня в последовательность машинных команд. Имеются два основных вида средств реализации языка: компиляторы и интерпретаторы. Компиляторы транслируют весь текст программы, написанной на языке высокого уровня в машинный код в ходе одного непрерывного процесса. При этом создается полная программа, в машинных кодах, которую затем можно выполнять без участия компилятора. Работа с компилятором состоит из трех этапов: сначала текст программы создается при помощи редактора текстов или какой-либо другой программы текстовой обработки, затем текст компилируется, и наконец, скомпилированная программа выполняется. Первая программа-компилятор была создана полковником ВВС США Грейс Хоппер в 1951году. Интерпретаторы переводят на машинный язык по одному предложению программы по ходу ее выполнения. Работа компиляторов и интерпретаторов отличается как работа переводчиков иностранного текста, написанного на бумаге и синхронного переводчика живой речи. Переводчик с листа выдает полный перевод написанного сразу, а синхронный переводчик переводит фразу за фразой. 54 9.4. Лингвистическое обеспечение современных ЭВМ. Языки высокого уровня были большим шагом вперед в предоставлении возможности работы на ЭВМ не только программистами высокого уровня, но и рядовыми пользователями. По мере развития ВТ круг задач, решаемых ЭВМ расширяется, и в настоящее время не только решают математические задачи, большей частью они теперь обрабатывают информацию различного вида. Поэтому современная ВТ требует соответствующего лингвистического обеспечения. Для лингвистического обеспечения современных вычислительных систем и их программного обеспечения служат формальные языки различного изобразительного уровня и назначения. Их можно разбить на пять уровней: Программное обеспечение Языки работы с программами Уровни Сети ЭВМ - Операционные оболочки (ОО) – Операционные системы – Прикладное ПО (ППО) - Инструментальное ПО - Сетевые командные языки – Языки работы с оболочкой – Языки работы с операционными системами - Языки прикладного ПО – Языки программирования высокого уровня V IV III II I В локальных и/или глобальных вычислительных сетях функцию общения с их ресурсами выполняют сетевые командные языки -V, позволяющие инициировать работу в сети (определение режимов доступа к ресурсам, начальных установок и др.), управлять работой сети, использовать ресурсы сети (конфигурация сети, электронная почта, управление печатью и др.) и т.д. Интерфейс ОО обеспечивают языки графического, командного, табличного типов, типа меню или смешанного типа -IV. В качестве лингвистического обеспечения ОС выступают языки командного типа и языки управления заданиями - III. Например, MS DOS и OS/2 используют языки командного типа. Языки ОС позволяют использовать и управлять вычислительными ресурсами ЭВМ. Средства ППО располагают собственными языками - II, обеспечивающими как интерфейсные функции (инсталляции, запроса обслуживающих функций, управление режимами, выполнение работ в среде пакета, инструментальные (например, разработку документов в среде пакета)). И, последнее: инструментальное ПО включает современные языки программирования различного типа и назначения - I, это ЯВУ о которых мы уже говорили. 55 9.5. Этапы разработки программ для ЭВМ Решение задачи с помощью ЭВМ, подразумевает не только написание и выполнение программы, процесс решения проходит целый ряд стадий и этапов. Первый этап решения задачи это постановка задачи - выбор подхода к решению, определение того, каким целям решение должно служить и при каких условиях оно будет существовать. Второй этап - построение математической модели, рассматриваемого объекта или явления, т.е. описание его закономерностей с помощью математических формул. Однако, лишь в редких случаях математическая модель может служить расчетной схемой. Поэтому, для решения задачи необходимо выбрать метод ее численного решения, сводящий решение к последовательности арифметических и логических операций. На основе численного метода составляется алгоритм - т.е. последовательность решения задачи виде словесного описания, математических формул или блок-схем. Затем, основываясь на алгоритме, пишется программа на одном из языков программирования, которая записывается в оперативную память ЭВМ. Так как при программировании и вводе программы в ЭВМ могут быть допущены ошибки, их обнаружение и устранение выполняют на этапе отладки и испытания программы. Когда все ошибки программы устранены, наступает следующий этап решение задачи на ЭВМ. Последним этапом решения задачи является анализ результатов. На этом этапе, полученные результаты сравниваются с теми данными, которые хотелось бы получить. Как видим: несмотря на огромную помощь ЭВМ в решении задач, роль человека остается главной. Следует также отметить, что при использовании соответствующих современных программных средств, значительно облегчающих решение технических задач (это и моделирующие пакеты, и всевозможные САПРы и пакеты для математических исследований, и широко применяемые рядовыми пользователями табличные процессоры), алгоритм действия программиста остается примерно тем же. Контрольные вопросы и задания: 1. Дайте определение слову «программа». 2. Что такое машинный язык и чем он отличается от языка высокого уровня? 3. Зачем нужны компиляторы и интерпретаторы? Чем их работа отличается друг от друга? 4. Что понимается под лингвистическим обеспечением современных ЭВМ? 5. Каким образом происходит общение с компьютером в среде различного программного обеспечения? 56 6. Из каких этапов состоит решение технической задачи с помощью ЭВМ? 10. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СОВРЕМЕННЫХ ЭВМ 10.1. Роль программного обеспечения Общая архитектура ЭВМ образуется из аппаратной (Hardware) и программной (Software) сред. Программная среда или программное обеспечение (ПО) - это совокупность программных средств и их систем любого класса и типа, обеспечивающих функционирование, диагностику и тестирование их аппаратных средств, а также разработку, отладку и выполнение любых задач пользователя с соответствующим документированием, где в качестве пользователя может выступать как человек, так и любое вычислительное устройство, подключенное к ЭВМ и нуждающееся в вычислительных ресурсах. Состав программных средств приведен в таблице 3. Системные программы выполняют различные вспомогательные функции, такие как проверку работоспособности компьютера, создание копий, используемой информации и выдачу справочной информации о компьютере. В состав системных программ входит операционная система ОС, программа, которая загружается вместе с включением компьютера. С помощью ОС осуществляется диалог пользователя с компьютером, она запускает также и другие (прикладные) программы выполнения. К системным программам относятся такие программы-драйверы, которые расширяют возможности DOS (дисковой операционной системы) по управлению устройствами ввода-вывода, оперативной памятью и позволяет подключать к компьютеру новые устройства или по-новому использовать старые. Более удобный способ общения с DOS предоставляют программы- оболочки. Они позволяют общаться с DOS не набирая ее команды. К таким оболочкам относятся Norton Comander, XTree, Pro Gold, PC Shell из комплекта PC Tools. На компьютере с большой оперативной памятью, начиная с AT/386 (4 Мбайт), можно установить также так называемые операционные оболочки, которые дают пользователю более наглядные средства для выполнения действий и представляют новые возможности для запускаемых программ (мультипрограммирование, т.е. выполнение нескольких программ, расширения информации и т.д.). Операционными оболочками являются Microsoft Windows, DesqView, GEM и GeoWorks. К системным программам относятся также программы, называемые утилитами. Утилиты часто объединяются в комплексы, такие как Norton Utilities, PC Tools, Deluxe и Mace Utilities. Остановимся на некоторых из них: Программы-упаковщики - сжимают информацию на дисках, т.е. создают копии файлов меньшего размера (PKZIP/UNZIP и ARJ). 56 57 Таблица 10.1. С и ст ем н ое Программы Пояснения Б аз ов ое Операционные системы (ОС) Система программ, распределяющих ресурсы и организующих работу других программ Операционные оболочки Программы, облегчающие общение пользователя с командами операционной системы С ер ви сн ое Программы диагностики работоспособности компьютера Проверяют работу основных элементов компьютера Антивирусные программы Программы обнаружения компьютерных вирусов и средства «лечения» Программы обслуживания дисков Проверка целостности файловой системы, поиск испорченных блоков на диске, дефрагментация Программы архивированных данных Упаковка файлов или группы файлов для уменьшения места, занимаемого на диске П ри к л ад н ое Текстовые процессоры Позволяют создавать, редактировать и оформлять текстовые документы Табличные процессоры Позволяют выполнять многочисленные операции над данными в табличной форме Средства создания презентаций Позволяют создавать и демонстрировать наборы слайдов (возможно со звуковым сопровождением) Средства распознавания символов Позволяют автоматизировать ввод в компьютер типографских и машинописных текстов Средства машинного перевода Позволяют автоматически переводить тексты с одного языка на другой Средства компьютерной графики и анимации Позволяют создавать неподвижные и движущиеся изображения Программные средства мультимедиа Позволяют объединить тексты, графику, звук и движущиеся изображения ( в т.ч. видеофильмы) САПР – системы автоматизированного проектирования Позволяют проектировать на компьютере электронные схемы, машины, механизмы Средства автоматизации производства Позволяют применять компьютер на разных стадиях производственного процесса Настольные издательские системы Позволяют выполнять компьютерную верстку для подготовки изданий к тиражированию Коммуникационные пакеты Предназначены для общения с удаленными абонентами и информационными ресурсами сети Информационные системы Используются для обработки больших массивов данных (ввод, поиск, размещение и выдача информации) Обучающие программы Помогают изучать иностранные языки, историю, химию, физику, математику и мн. др. Игры (имитационные, ролевые, логические, стратегические, приключенческие) Используются для организации досуга, обучения, решения производственных, военных и научных задач И н ст р ум ен та л ьн ое Трансляторы Переводят программы с языков программирования в машинные коды Отладчики Позволяют отслеживать выполнение создаваемых программ для поиска и исправления ошибок Интегрированные среды разработки приложений Объединяют разные средства разработки программ: редактор, транслятор, отладчик Средства создания информационных систем Объединяют средства разработки программ и технологии работы с базами данных 58 Программы для создания резервных копий информации на дисках позволяют быстро копировать информацию с жесткого диска на дискеты (Norton Backup, Fast Back Plus). Антивирусные программы служат для предотвращения заражения компьютерным вирусом. Инструментальное ПО. Когда пользователю необходимы собственные программы, он пишет их на одном из языков не понятных машине, а системы программирования предоставляют ему компилятор, преобразовывающий язык программы в программу в машинных кодах или интерпретатор, осуществляющий непосредственное выполнение текста программы на языке программирования высокого уровня; библиотеки программ − заранее подготовленные программы, к которым может обращаться пользователь; вспомогательные программы отладчики. Для языков высокого уровня имеется множество систем программирования − Turbo C, Turbo C++, Turbo Pascal, Microsoft C, Microsoft Basic, они отличаются тем, какие языки программирования они реализуют. Средства тестирования, диагностики и отладки предназначены для проверки работоспособности, наладки и технической эксплуатации, используются инженерно-техническим персоналом, обслуживающим ВТ. ПС тестирования ПК являются, например, CheckIt и Crosh-Chex, представляющие наглядную информацию о состоянии узлов ПК. Прикладное программное обеспечение − непосредственно обеспечивают выполнение необходимых пользователю работ. Пакеты прикладных программ (ППП) общего назначения ориентированы на широкий круг пользователей в различных областях. К пакетам этого типа относятся: текстовые редакторы (Лексикон, ChiWriter, MS Word и др.); электронные таблицы (MS Exell, QuatroPro, SuperCalc); СУБД (dBase, Reflex, Clipper); деловая графика (MS Chart, Chart Master, Graf, Lotus); телекоммуникационные (ProComm, Telix, SmartCom, Telemate). Проблемно-ориентированные ППП используют особые методы представления и обработки информации к ним относятся: графический (Paint Brush, CorelDraw, HardGrafics); математические (MathCAD, Reduce, Mathematica); прикладной математики (Optinet, LP-16, FP-16); статистические (StatGraf, StatWare, Statistica); моделирования (DSIM-16, GRAMOS); экспертные системы (METHODS, MYCIN); издательские системы (AMS-TeX, PageMaker) и другие. 10.2. Понятие об операционной системе Операционная система (ОС) − это комплекс программ, предназначенный для наиболее эффективного использования всех средств ЭВМ в процессе решения задачи, для повышения удобства работы с компьютером. Уже упоминалось, что ОС входит в состав системных программ. Она загружается вместе с включением компьютера. Благодаря ОС пользователь может вести диалог с компьютерном на понятном пользователю языке приближенном к естественному, тем самым, освобождая пользователя от 59 многих рутинных и довольно нудных операций, связанных с использованием аппаратных средств компьютера: процессора, оперативной памяти, печатающего устройства и т.д. Операционная система является программным продолжением управляющего устройства. ОС система состоит из следующих частей: Базовая система ввода-вывода (BIOS) − находится в ПЗУ. Эта часть ОС является «встроенной». Кроме простой операции ввода-вывода содержит тест функционирования компьютера и программу вызова загрузчика ОС. Загрузчик ОС − находится в первом секторе каждой дискеты с операционной системой DOS, завершает процесс загрузки ОС. Командный процессор DOS обрабатывает команды пользователя, он находится в дисковом файле COMMAND.COM на диске, с которого загружается ОС. Внешние команды DOS − поставляются вместе с ОС в виде отдельных файлов. Они выполняют действия обслуживающего характера: форматирование дискет, проверку дисков и т.д. Драйверы устройств − специальные программы, дополняющие систему ввода-вывода, позволяют добавлять новые внешние устройства. Хранятся в специальном файле CONFIG.SYS. 10.3. Основные задачи, решаемые ОС ПЭВМ 1. Организация связи, общение человека-пользователя с ПЭВМ в целом и с отдельными ее устройствами - устройствами печати, внешней памяти и т.д. Общение с ПЭВМ обеспечивается с помощью системных команд. Каждая команда представляет собой краткое предписание, определяющее, какую операцию и над каким объектом (программой, файлом) ОС должна выполнить. 2. Организация взаимодействия всех блоков ПЭВМ в процессе выполнения программы, и в частности: • размещение в ОЗУ данных и результатов решения задач; • при использовании в программе файлов данных - размещение их на диске в соответствии с требованием программы и т.д.; • своевременное включение различных блоков и устройств ПЭВМ по требованию программы и прочее. То есть, при выполнении программы, ОС играет роль диспетчера вычислительного процесса. Основные функции ОС: ведение файловой системы, распределение оперативной памяти, динамическая компоновка (метод подключения к исполняемой программе стандартных функций и/или данных в момент обращения к ним с помощью их вызова из специальной библиотеки DLL (Dinamy Link Library − динамическая компилируемая библиотека), выполняемых программ), обработка прерываний и обеспечение многозадачной работы. |