Классификация компьютеров
план-конспект занятия по информатике и икт на тему

Сафарова Любовь Васильевна

Краткий обзор истории развития компьютерной техники.

Скачать:


Предварительный просмотр:

КЛАССИФИКАЦИЯ КОМПЬЮТЕРОВ

КРИТЕРИИ КЛАССИФИКАЦИИ КОМПЬЮТЕРОВ

Существуют различные классификации компьютерной техники:

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

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

КЛАССИФИКАЦИЯ ПО ПОКОЛЕНИЯМ

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

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

ИСТОРИЧЕСКАЯ СПРАВКА

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

Около 500 г. н.э. Изобретение счётов (абака) – устройства, состоящего из набора костяшек, нанизанных на стержни.

1614 г. Шотландец Джон Непер изобрёл логарифмы. Вскоре после этого Р. Биссакар создал логарифмическую линейку. 


Блез Паскаль

1642 г. Французский ученый Блез Паскаль приступил к созданию арифметической машины – механического устройства с шестернями, колёсами, зубчатыми рейками и т.п. Она умела "запоминать" числа и выполнять элементарные арифметические операции.


Перфокарта

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

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

1876 г. Английский инженер Александер Белл изобрёл телефон. 

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

1892 г. Американский инженер У. Барроуз выпустил первый коммерческий сумматор. 

1897 г. Английский физик Дж. Томсон сконструировал электронно-лучевую трубку.

1901 г. Итальянский физик Гульельмо Маркони установил радиосвязь между Европой и Америкой.

1904–1906 гг. Сконструированы электронные диод и триод. 

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


Алан Тьюринг

1936 г. Английский математик Алан Тьюринг и независимо от него Э. Пост выдвинули и разработали концепцию абстрактной вычислительной машины. Они доказали принципиальную возможность решения автоматами любой проблемы при условии возможности её алгоритмизации.

1938 г. Немецкий инженер Конрад Цузе построил первый чисто механический компьютер. 


Конрад Цузе

1938 г. Американский математик и инженер Клод Шеннон показал возможность применения аппарата математической логики для синтеза и анализа релейно-контактных переключательных схем. 

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


Компьютер "Марк—1"

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

1944 г. Под руководством американского математика Говарда Айкена создана автоматическая вычислительная машина "Марк—1" с программным управлением. Она была построена на электромеханических реле, а программа обработки данных вводилась с перфоленты.


Джон фон Нейман

1945 г. Джон фон Нейман в отчёте "Предварительный доклад о машине Эдвак" сформулировал основные принципы работы и компоненты современных компьютеров. 


Компьютер "Эниак", 1946 г.

1946 г. Американцы Дж. Эккерт и Дж. Моучли сконструировали первый электронный цифровой компьютер "Эниак" (Electronic Numerical Integrator and Computer). Машина имела 20 тысяч электронных ламп и 1,5 тысячи реле. Она работала в тысячу раз быстрее, чем "Марк—1", выполняя за одну секунду 300 умножений или 5000 сложений.


Транзистор

1948 г. В американской фирме Bell Laboratories физики Уильям Шокли, Уолтер Браттейн и Джон Бардин создали транзистор. За это достижение им была присуждена Нобелевская премия.

1948 г. Норберт Винер (Norbert Wiener) опубликовал книгу "Кибернетика", оказавшую влияние на все последующие исследования в области искусственного интелекта.

1949 г. В Англии под руководством Мориса Уилкса построен первый в мире компьютер с хранимой в памяти программой EDSAC. 

1951 г. В Киеве построен первый в континентальной Европе компьютер МЭСМ (малая электронная счетная машина), имеющий 600 электронных ламп. Создатель С.А. Лебедев. 

1951—1955 гг. Благодаря деятельности российских ученых С.А. Лебедева, М.В. Келдыша, М.А. Лаврентьева, И.С. Брука, М.А. Карцева, Б.И. Рамеева, В.С. Антонова, А.Н. Невского, Б.И. Буркова и руководимых ими коллективов Советский Союз вырвался в число лидеров вычислительной техники, что позволило в короткие сроки решить важные научно-технические задачи овладения ядерной энергией и исследования Космоса.

1952 г. Под руководством С.А. Лебедева в Москве построен компьютер БЭСМ—1 (большая электронная счетная машина) — на то время самая производительная машина в Европе и одна из лучших в мире.

1953 г. Джей Форрестер реализовал оперативную память на магнитных сердечниках (сore memory), которая существенно удешевила компьютеры и увеличила их быстродействие. Память на магнитных сердечниках широко использовалась до начала 70-х годов. На смену ей пришла память на полупроводниковых элементах.

1955—1959 гг. Российские ученые А.А. Ляпунов, С.С. Камынин, Э.З. Любимский, А.П. Ершов, Л.Н. Королев, В.М. Курочкин, М.Р. Шура-Бура и др. создали "программирующие программы" — прообразы трансляторов. В.В. Мартынюк создал систему символьного кодирования — средство ускорения разработки и отладки программ.

1955—1959 гг. Заложен фундамент теории программирования (А.А. Ляпунов, Ю.И. Янов, А.А. Марков, Л.А. Калужин) и численных методов (В.М. Глушков, А.А. Самарский, А.Н. Тихонов). Моделируются схемы механизма мышления и процессов генетики, алгоритмы диагностики медицинских заболеваний (А.А. Ляпунов, Б.В. Гнеденко, Н.М. Амосов, А.Г. Ивахненко, В.А. Ковалевский и др.).


Джон Бэкус


Интегральная схема

1958 г. Джек Килби из фирмы Texas Instruments создал первую интегральную схему. 

1957 г. Первое сообщение о языке Фортран (Джон Бэкус).

1957 г. Американской фирмой NCR создан первый компьютер на транзисторах. 

1959 г. Под руководством С.А. Лебедева создана машина БЭСМ–2 производительностью 10 тыс. опер./с. С ее применением связаны расчеты запусков космических ракет и первых в мире искусственных спутников Земли.


С.А. Лебедев

1959 г. Создана машина М–20, главный конструктор С.А. Лебедев. Для своего времени одна из самых быстродействующих в мире (20 тыс. опер./с.). На этой машине было решено большинство теоретических и прикладных задач, связанных с развитием самых передовых областей науки и техники того времени. На основе М–20 была создана уникальная многопроцессорная М–40 – самая быстродействующая ЭВМ того времени в мире (40 тыс. опер./с.). На смену М–20 пришли полупроводниковые БЭСМ–4 и М–220 (200 тыс. опер./с.).

1959 г. Первое сообщение о языке Алгол, который надолго стал стандартом в области языков программирования.

1961 г. Фирма IBM Deutschland реализовала подключение компьютера к телефонной линии с помощью модема. 

1964 г. Начат выпуск семейства машин третьего поколения – IBM/360. 

1965 г. Дж. Кемени и Т. Курц в Дортмундском колледже (США) разработали язык программирования Бейсик. 


                          БЭСМ—6

1965 г. Сеймур Пейперт (Seymour Papert) разработал язык LOGO – компьютерный язык для детей.

1967 г. Под руководством С.А. Лебедева организован крупно-серийный выпуск шедевра отечественной вычислительной техники – миллионника БЭСМ–6, – самой быстродействующей машины в мире. За ним последовал "Эльбрус" – ЭВМ нового типа, производительностью 10 млн. опер./с.


Никлаус Вирт

1968 г. Основана фирма Intel, впоследствии ставшая признанным лидером в области производства микропроцессоров и других компьютерных интегральных схем.

1970 г. Швейцарец Никлаус Вирт разработал язык Паскаль. 

1971 г. Эдвард Хофф разработал микропроцессор Intel–4004, состоящий из 2250 транзисторов, размещённых в кристалле размером не больше шляпки гвоздя. Этот микропроцессор стал поистине революционным изобретением, открывшем путь к созданию искусственных интеллектуальных систем вообще и персонального компьютера в частности.

1971 г. Французский учёный Алан Колмари разработал язык логического программирования Пролог (PROgramming in LOGic).


Деннис Ритчи

1972 г. Деннис Ритчи из Bell Laboratories разработал язык Си. 

1973 г. Кен Томпсон и Деннис Ритчи создали операционную систему UNIX. 

1973 г. Фирма IBM (International Business Machines Corporation) сконструировала первый жёсткий диск типа "винчестер". 

1974 г. Фирма Intel разработала первый универсальный восьмиразрядный микропроцессор 8080 с 4500 транзисторами.


        Альтаир

1974 г. Эдвард Робертс, молодой офицер ВВС США, инженер-электронщик, построил на базе процессора 8080 микрокомпьютер Альтаир, имевший огромный коммерческий успех, продававшийся по почте и широко использовавшийся для домашнего применения. Компьютер назван по именю звезды, к которой был запущен межпланетный корабль "Энтерпрайз" из телесериала "Космическая одиссея".


   Билл Гейтс
   и Пол Аллен

 

1975 г. Молодой программист Пол Аллен и студент Гарвардского университета Билл Гейтс реализовали для Альтаира язык Бейсик. Впоследствии они основали фирму Майкрософт (Microsoft), являющуюся сегодня крупнейшим производителем программного обеспечения.

1975 г. Фирма IBM начала продажу лазерных принтеров.


Apple–1

1976 г. Студенты Стив Возняк и Стив Джобс, устроив мастерскую в гараже, реализовали компьютер Apple–1, положив начало корпорации Apple.


Стивен Джобс и
Стефан Возняк

1978 г. Фирма Intel выпустила микропроцессор 8086. 

1979 г. Фирма Intel выпустила микропроцессор 8088. Корпорация IBM приобрела крупную партию этих процессоров для вновь образованного подразделения по разработке и производству персональных компьютеров.

1979 г. Фирма SoftWare Arts разработала первый пакет деловых программ VisiCalc (Visible Calculator) для персональных компьютеров.

1980 г. Корпорация Control Data выпустила суперкомпьютер Cyber (Сайбер) 205. 

1980 г. Японские компании Sharp, Sanyo, Panasonic, Casio и американская фирма Tandy вынесли на рынок первый карманный компьютер, обладающий всеми основными свойствами больших компьютеров.

1981 г. Фирма IBM выпустила первый персональный компьютер IBM PC на базе микропроцессора 8088.

1982 г. Фирма Intel выпустила микропроцессор 80286, содержащий 134 000 транзисторов и способный выполнять любые программы, написанные для его предшественников. С тех пор такая программная совместимость остается отличительным признаком семейства микропроцессоров Intel.

1982 г. Митч Капор (Mitch Kapor) представил систему Lotus 1-2-3, которая победила в конкурентной борьбе Visicalc.


Lisa

1983 г. Корпорация Apple Computers построила персональный компьютер Lisa – первый офисный компьютер, управляемый манипулятором мышь.

1983 г. Гибкие диски получили распространение в качестве стандартных носителей информации.


Андерс Хейльсберг

1983 г. Фирмой Borland выпущен в продажу компилятор Turbo Pascal, разработанный Андерсом Хейльсбергом (Anders Hejlsberg).

1984 г. Создан первый компьютер типа Laptop (наколенный), в котором системный блок объединен с дисплеем и клавиатурой в единый блок.

1984 г. Фирмы Sony и Phillips разработали стандарт записи компакт-дисков CD-ROM. 


Macintosh

1984 г. Корпорация Apple Computer выпустила компьютер Macintosh на 32-разрядном процессоре Motorola 68000 – первую модель знаменитого впоследствии семейства Macintosh c удобной для пользователя операционной системой, развитыми графическими возможностями, намного превосходящими в то время те, которыми обладали стандартные IBM-совместимые ПК с MS-DOS. Эти компьютеры быстро приобрели миллионы поклонников и стали вычислительной платформой для целых отраслей, таких например, как издательское дело и образование.

1984 г. Появилась некоммерческая компьютерная сеть FIDO. Ее создатели Том Дженнингс и Джон Мэдил. В 1995 году в мире насчитывалось около 20 тысяч узлов этой сети, объединяющих 3 млн. человек.

1985 г. Фирма Intel выпустила микропроцессор 80386,, насчитывающий уже 275000 транзисторов. Этот 32-разрядный "многозадачный" процессор обеспечивал возможность одновременного выполнения нескольких программ.

1985 г. Бьярн Страуструп из Bell Laboratories опубликовал описание созданного им объектно-ориентированного языка С++. 

1989 г. Американская фирма Poquet Computers Corporation представила новый компьютер класса Subnotebook – Pocket PC. 

1989 г. Тим Бернерс-Ли предложил язык гипертекстовой разметки HTML (HyperText Markup Language) в качестве одного из компонентов технологии разработки распределенной гипертекстовой системы World Wide Web. 

1989 г. Фирма Intel выпустила микропроцессор Intel 486 DX. Поколение процессоров i486 ознаменовало переход от работы на компьютере через командную строку к режиму "укажи и щелкни". Intel 486 стал первым микропроцессором со встроенным математическим сопроцессором, который существенно ускорил обработку данных, выполняя сложные математические действия вместо центрального процессора. Количество транзисторов – 1,2 млн.

Корпорация Microsoft выпустила графическую оболочку MS Windows 3.0. 

1990 г. Выпуск и ввод в эксплуатацию векторно-конвейерной суперЭВМ "Эльбрус 3.1". Разработчики – Г.Г. Рябов, А.А. Соколов, А.Ю. Бяков. Производительность в однопроцессорном варианте – 400 мегафлопов.


Линус Торвальдс

1991 г. Финский студент Линус Торвальдс (Linus Torvalds) распространил среди пользователей Интернет первый прототип своей операционной системы Linux. Заинтересованные в этой работе программисты стали поддерживать Linux, добавляя драйверы устройств, разрабатывая разные продвинутые приложения и др. Атмосфера работы энтузиастов над полезным проектом, а также свободное распространение и использование исходных текстов стали основой феномена Linux. В настоящее время Linux – очень мощная система, к тому же – бесплатная.

1992 г. В этом году начался бурный рост популярности Internet и World Wide Web в связи с появлением web-браузера Mosaic, разработанного в Национальном центре по приложениям для суперкомпьютеров в Университете штата Иллинойс. Разработчики Эрик Бина и Марк Андриссен. 

1993 г. Фирма Intel выпустила микропроцессор Pentium, который научил компьютеры работать с атрибутами "реального мира" – такими, как звук, голосовая и письменная речь, фотоизображения.

1994 г. Начало выпуска фирмой Power Mac серии фирмы Apple Computers – Power PC. 

1994 г. Компания Netscape Communication выпустила браузер Netscape Navigator. 

1995 г. Фирма Microsoft выпустила в свет операционную систему Windows 95. 

1995 г. Фирма Microsoft выпустила браузер Internet Explorer. Началась война браузеров, в которой пока побеждает Internet Explorer.

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

1997 г. Фирма Intel выпустила микропроцессор Pentium II, насчитывающий 7,5 миллионов транзисторов. Процессор Pentium II использует технологию Intel MMX, обеспечивающую эффективную обработку аудио, визуальных и графических данных. Кристалл и микросхема высокоскоростной кэш-памяти помещены в корпус с односторонним контактом, который устанавливается на системной плате с помощью одностороннего разъема – в отличие от прежних процессоров, имевших множество контактов. Процессор дает пользователям возможность вводить в компьютер и обрабатывать цифровые фотоизображения, создавать и редактировать тексты, музыкальные произведения, сценки для домашнего кино, передавать видеоизображения по обычным телефонным линиям.

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

1998 г. Выпуск в свет операционной системы Windows 98. 

1999 г. Появление 64-разрядного микропроцессора Mersed. 

2000 г. Появление 64-разрядных микропроцессоров Itanium и AMD. 

2000 г. Выпуск в свет операционной системы Windows 2000.

КОМПЬЮТЕРЫ ПЕРВОГО ПОКОЛЕНИЯ

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


Электронная
лампа


Компьютер "Эниак".
Первое поколение

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

Быстродействие порядка 10-20 тысяч операций в секунду.

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


Перфокарта

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

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

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


ЭВМ "Урал"

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

Отечественные машины первого поколения: МЭСМ (малая электронная счётная машина), БЭСМ, Стрела, Урал, М–20.

КОМПЬЮТЕРЫ ВТОРОГО ПОКОЛЕНИЯ


БЭСМ—6. Второе поколение


Транзистор

Второе поколение компьютерной техники – машины, сконструированные примерно в 1955–65 гг. Характеризуются использованием в них как электронных ламп, так и дискретных транзисторных логических элементов. Их оперативная память была построена на магнитных сердечниках. В это время стал расширяться диапазон применяемого оборудования ввода-вывода, появились высокопроизводительные устройства для работы с магнитными лентами, магнитные барабаны и первые магнитные диски.


Память на магнитных
сердечниках

Быстродействие – до сотен тысяч операций в секунду, ёмкость памяти – до нескольких десятков тысяч слов.

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

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

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

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

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

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

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

КОМПЬЮТЕРЫ ТРЕТЬЕГО ПОКОЛЕНИЯ


Компьютер IBM—360.
Третье поколение

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


Интегральная схема

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

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

Примеры машин третьего поколения – семейства IBM–360, IBM–370, ЕС ЭВМ (Единая система ЭВМ), СМ ЭВМ (Семейство малых ЭВМ) и др.

Быстродействие машин внутри семейства изменяется от нескольких десятков тысяч до миллионов операций в секунду. Ёмкость оперативной памяти достигает нескольких сотен тысяч слов.

КОМПЬЮТЕРЫ ЧЕТВЁРТОГО ПОКОЛЕНИЯ

Четвёртое поколение – это теперешнее поколение компьютерной техники, разработанное после 1970 года.

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

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

C точки зрения структуры машины этого поколения представляют собой многопроцессорные и многомашинные комплексы, работающие на общую память и общее поле внешних устройств. Быстродействие составляет до нескольких десятков миллионов операций в секунду, ёмкость оперативной памяти порядка 1 – 64 Мбайт.

Для них характерны:

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

КОМПЬЮТЕРЫ ПЯТОГО ПОКОЛЕНИЯ

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

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

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

Архитектура компьютеров будущего поколения будет содержать два основных блока. Один из них – это традиционный компьютер. Но теперь он лишён связи с пользователем. Эту связь осуществляет блок, называемый термином "интеллектуальный интерфейс". Его задача – понять текст, написанный на естественном языке и содержащий условие задачи, и перевести его в работающую программу для компьютера.

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

ДЕЛЕНИЕ КОМПЬЮТЕРОВ ПО УСЛОВИЯМ ЭКСПЛУАТАЦИИ

По условиям эксплуатации компьютеры делятся на два типа:

  • офисные (универсальные);
  • специальные.

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


Индустриальный компьютер

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

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


Ergotouch

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

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

ДЕЛЕНИЕ КОМПЬЮТЕРОВ ПО ПРОИЗВОДИТЕЛЬНОСТИ
И ХАРАКТЕРУ ИСПОЛЬЗОВАНИЯ

По производительности и характеру использования компьютеры можно условно подразделить на:

  • микрокомпьютеры, в том числе – персональные компьютеры;
  • миникомпьютеры;
  • мэйнфреймы (универсальные компьютеры);
  • суперкомпьютеры.

Микрокомпьютеры – это компьютеры, в которых центральный процессор выполнен в виде микропроцессора.

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

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

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

Персональные компьютеры (ПК) – это микрокомпьютеры универсального назначения, рассчитанные на одного пользователя и управляемые одним человеком.

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

Пеpсональный компьютеp должен удовлетворять следующим требованиям:

  • стоимост от нескольких сотен до 5 – 10 тыс. долларов;
  • наличие внешних ЗУ на магнитных дисках;
  • объём оперативной памяти не менее 32 Мбайт;
  • наличие операционной системы;
  • способность работать с программами на языках высокого уровня;
  • ориентация на пользователя-непрофессионала (в простых моделях).

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

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

Централизованная обработка данных на мэйнфрейме обходится примерно в 5 – 6 раз дешевле, чем распределённая обработка при клиент-серверном подходе.

Известный мэйнфрейм S/390 фирмы IBM обычно оснащается не менее чем тремя процессорами. Максимальный объём оперативного хранения достигает 342 Терабайт.

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

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


Суперкомпьютер CRAY —1

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

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

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

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

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

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

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

В качестве примера рассмотрим характеристики многоцелевого массово-параллельного суперкомпьютера среднего класса Intel Pentium Pro 200. Этот компьютер содержит 9200 процессоров Pentium Pro на 200 Мгц, в сумме (теоретически) обеспечивающих производительность 1,34 Терафлоп (1 Терафлоп равен 1012 операций с плавающей точкой в секунду), имеет 537 Гбайт памяти и диски ёмкостью 2,25 Терабайт. Система весит 44 тонны (кондиционеры для неё – целых 300 тонн) и потребляет мощность 850 кВт.

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

Элементная база — микросхемы сверхвысокой степени интеграции.

ТИПЫ ПОРТАТИВНЫХ КОМПЬЮТЕРОВ

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

Основные разновидности портативных компьютеров:


Laptop

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


Notebook

Notebook (блокнот, записная книжка). По размерам он ближе к книге крупного формата. Имеет вес около 3 кг. Помещается в портфель-дипломат. Для связи с офисом его обычно комплектуют модемом. Ноутбуки зачастую снабжают приводами CD–ROM.

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


Palmtop


Персональный
цифровой помощник

Palmtop (наладонник) – самые маленькие современные персональные компьютеры. Умещаются на ладони. Магнитные диски в них заменяет энергонезависимая электронная память. Нет и накопителей на дисках – обмен информацией с обычными компьютерами идет линиям связи. Если Palmtop дополнить набором деловых программ, записанных в его постоянную память, получится персональный цифровой помощник (Personal Digital Assistant).


Карманный компьютер
iPAQ 3150

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



Предварительный просмотр:

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРОВ

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

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

К программному обеспечению (ПО) относится также вся область деятельности по проектированию и разработке ПО: 

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

Программное обеспечение – неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкректного компьютера определяется созданным для него ПО.

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

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

КАК КЛАССИФИЦИРУЕТСЯ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ?

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

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


Категории программного обеспечения

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

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

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

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

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

На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения: 

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

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

КАКИЕ ПРОГРАММЫ НАЗЫВАЮТ ПРИКЛАДНЫМИ?

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

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

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

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

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

КАКОВА РОЛЬ И НАЗНАЧЕНИЕ СИСТЕМНЫХ ПРОГРАММ?

Системные программы выполняются вместе с прикладными и служат для управления ресурсами компьютера – центральным процессором, памятью, вводом-выводом. 

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


Структура программного обеспечения компьютера

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

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

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

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

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

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

ЧТО ТАКОЕ ОПЕРАЦИОННАЯ СИСТЕМА?

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

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

Операционная система обычно хранится во внешней памяти компьютера – на диске. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ.

Этот процесс называется загрузкой операционной системы. 

В функции операционной системы входит:

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

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

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

  1. однопользовательские однозадачные, которые поддерживают одну клавиатуру и могут работать только с одной (в данный момент) задачей;
  2. однопользовательские однозадачные с фоновой печатью, которые позволяют помимо основной задачи запускать одну дополнительную задачу, ориентированную, как правило, на вывод информации на печать. Это ускоряет работу при выдаче больших объёмов информации на печать;
  3. однопользовательские многозадачные, которые обеспечивают одному пользователю параллельную обработку нескольких задач. Например, к одному компьютеру можно подключить несколько принтеров, каждый из которых будет работать на "свою" задачу;
  4. многопользовательские многозадачные, позволяющие на одном компьютере запускать несколько задач нескольким пользователям. Эти ОС очень сложны и требуют значительных машинных ресурсов.

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

Операционная система для персонального компьютера, ориентированного на профессиональное применение, должна содержать следующие основные компоненты:

  • программы управления вводом/выводом;
  • программы, управляющие файловой системой и планирующие задания для компьютера;
  • процессор командного языка, который принимает, анализирует и выполняет команды, адресованные операционной системе.

Каждая операционная система имеет свой командный язык, который позволяет пользователю выполнять те или иные действия:

  • обращаться к каталогу;
  • выполнять разметку внешних носителей;
  • запускать программы;
  • ... другие действия.

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

Для управления внешними устройствами компьютера используются специальные системные программы — драйверы. Драйверы стандартных устройств образуют в совокупности базовую систему ввода-вывода (BIOS), которая обычно заносится в постоянное ЗУ компьютера.

ЧТО ТАКОЕ ФАЙЛОВАЯ СИСТЕМА ОС?

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

Файловая система – это средство для организации хранения файлов на каком-либо носителе.

Файлы физически реализуются как участки памяти на внешних носителях – магнитных дисках или CD-ROM. Каждый файл занимает некоторое количество блоков дисковой памяти. Обычная длина блока – 512 байт.

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

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

Каталог может иметь собственное имя и храниться в другом каталоге наряду с обычными файлами: так образуются иерархические файловые структуры. Пример такой структуры – на рисунке.


Дерево каталогов на диске

Что происходит, когда пользователь подает операционной системе команду "открыть файл ...", в которой указано имя файла и имя каталога, в котором размещён этот файл?

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

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

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

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

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

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

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

КАКОВА СТРУКТУРА ОПЕРАЦИОННОЙ СИСТЕМЫ MS DOS?

Операционная система MS DOS (Microsoft Disk Operating System) – самая распространенная ОС на 16-разрядных персональных компьютерах. Она состоит из следующих основных модулей:

  • базовая система ввода/вывода (BIOS);
  • блок начальной загрузки (Boot Record);
  • модуль расширения базовой системы ввода/вывода (IO.SYS);
  • модуль обработки прерываний (MSDOS.SYS);
  • командный процессор (COMMAND.COM);
  • утилиты MS DOS.

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


Состав операционной системы MS-DOS

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

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

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

Модуль обработки прерываний реализует основные высокоуровневые услуги DOS, поэтому его и называют основным.

Командный процессор DOS обрабатывает команды, вводимые пользователем.

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

ЧТО ТАКОЕ ПРОГРАММЫ-ОБОЛОЧКИ?

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

Самая популярная у пользователей IBM-совместимого ПК оболочка — пакет программ Norton Commander. Он обеспечивает:

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

В начале 90-х годов во всем мире огромную популярность приобрела графическая оболочка MS-Windows 3.х, преимущество которой состоит в том, что она облегчает использование компьютера, и её графический интерфейс вместо набора сложных команд с клавиатуры позволяет выбирать их мышью из меню практически мгновенно. Операционная среда Windows, работающая совместно с операционной системой DOS, реализует все свойства, необходимые для производительной работы пользователя, в том числе — многозадачный режим.

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

6.9. ЧТО СОБОЙ ПРЕДСТАВЛЯЮТ ОПЕРАЦИОННЫЕ СИСТЕМЫ WINDOWS, UNIX, LINUX ?

Операционные системы Windows

В настоящее время большинство компьютеров в мире работают под управлением той или иной версии операционной среды Windows фирмы Microsoft. Охарактеризуем наиболее распространенные версии.

Windows NT (NT — англ. New Technology) — это операционная система, а не просто графическая оболочка. Она использует все возможности новейших моделей персональных компьютеров и работает без DOS. Windows NT — 32-разрядная ОС со встроенной сетевой поддержкой и развитыми многопользовательскими средствами. Она предоставляет пользователям истинную многозадачность, многопроцессорную поддержку, секретность, защиту данных и многое другое. Эта операционная система очень удобна для пользователей, работающих в рамках локальной сети, для коллективных пользователей, особенно для групп, работающих над большими проектами и обменивающихся данными.

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

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

Пользовательский интерфейс Windows 95 прост и удобен. В отличие от оболочки Windows 3 эта операционная система не нуждается в установке на компьютере операционной системы DOS. Она предназначена для установки на настольных ПК и компьютерах блокнотного типа с процессором 486 или Pentium. Рекомендуемый размер оперативной памяти 32—128 Мбайт. После включения компьютера и выполнения тестовых программ BIOS операционная система Windows 95 автоматически загружается с жесткого диска. После загрузки и инициализации системы на экране появляется рабочий стол, на котором размещены различные графические объекты. Пользовательский интерфейс спроектирован так, чтобы максимально облегчить усвоение этой операционной системы новичками и создать комфортные условия для пользователя.

Windows 98 отличается от Windows 95 тем, что в ней операционная система объединена с браузером Internet Explorer посредством интерфейса, выполненного в виде Web-браузера и оснащенного кнопками "Назад" и "Вперед" для перехода на предыдущую и последующую Web-страницы. Кроме этого, в ней улучшена совместимость с новыми аппаратными средствами компьютера, она одинаково удобна как для использования на настольных, так и на портативных компьютерах.

Windows 2000 Professional — операционная система нового поколения для делового использования на самых разнообразных компьютерах — от портативных до серверов. Эта ОС является наилучшей для ведения коммерческой деятельности в Интернете. Она объединяет присущую Windows 98 простоту использования в Интернете, на работе, в пути с присущими Windows NT надежностью, экономичностью и безопасностью.

Windows CE 3.0 — операционная система для мобильных вычислительных устройств, таких, как карманные компьютеры, цифровые информационные пейджеры, сотовые телефоны, мультимедийные и развлекательные приставки, включая DVD проигрыватели и устройства целевого доступа в Интернет.
    Операционная система
Windows CE — 32-разрядная, многозадачная, многопоточная операционная cистема, имеющая открытую архитектуру, разрешающую использование множеств устройств. Windows CE позволяет устройствам различных категорий "говорить" и обмениваться информацией друг с другом, связываться с корпоративными сетями и с Интернет, пользоваться электронной почтой.
   
Windows CE компактна, но высоко производительна. Это мобильная система, функционирующая с микропроцессорами различных марок и изготовителей. Для нее есть программы Word и Excel, которые совместимы с их настольными аналогами. Имеет интегрированную систему управления питанием.

Операционная система Unix

Операционная система Unix была создана в Bell Telephone Laboratories. С краткой историей ее создания можно ознакомиться здесь. Unix — многозадачная операционная система, способная обеспечить одновременную работу очень большого количество пользователей. Ядро ОС Unix написано на языке высокого уровня C и имеет только около 10 процентов кода на ассемблере. Это позволяет за считанные месяцы переносить ОС Unix на другие аппаратные платформы и достаточно легко вносить в нее серьезные изменения и дополнения. UNIX является первой действительно переносимой операционной системой. В многочисленные существующие версии UNIX постоянно вносятся изменения. С одной стороны, это расширяет возможности системы, делает ее мощнее и надежнее, с другой — ведет к появлению различий между существующими версиями. В связи с этим возникает необходимость стандартизации различных свойств системы. Наличие стандартов облегчает переносимость приложений между различными версиями UNIX и защищает как пользователей, так и производителей программного обеспечения. Поэтому в 80-х годах разработан ряд стандартов, оказывающих влияние на развитие UNIX. Сейчас существуют десятки операционных систем, которые можно объединить под общим названием UNIX. В основном, это коммерческие версии, выпущенные производителями аппаратных платформ для компьютеров своего производства. Причины популярности UNIX: 

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

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

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

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

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

  Очень большое количество приложений, в том числе свободно распространяемых, начиная от простейших текстовых редакторов и заканчивая мощными системами управления базами данных.
(По материалам пособия "ОС UNIX", http://base1.spiiras.nw.ru/univer/unix)
 

Операционная система Linux

Начало созданию системы Linux положено в 1991 г. финским студентом Линусом Торвальдсом (Linus Torvalds). В сентябре 1991 года он распространил по e-mail первый прототип своей операционной системы, и призвал откликнуться на его работу всех, кому она нравится или нет. С этого момента многие программисты стали поддерживать Linux, добавляя драйверы устройств, разрабатывая разные продвинутые приложения и др. Атмосфера работы энтузиастов над полезным проектом, а также свободное распространение и использование исходных текстов стали основой феномена Linux. В настоящее время Linux — очень мощная система, но самое замечательное то, что она бесплатная (free).


      Линус Торвальдс
      с символом
Linux 
        —"пингвином"

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

Феномен Linux вызвал к жизни разговоры о том, что родилась новая философия программирования, принципиально отличающаяся от того, что было раньше. Традиционные стадии жизненного цикла программного продукта таковы: анализ требований, разработка спецификаций, проектирование, макетирование, написание исходного текста, отладка, документирование, тестирование и сопровождение. Главное, что отличает этот подход, — централизация управления разными стадиями и преимущественно "нисходящая" разработка (то есть постоянная детализация). Однако Linux создавалась по-иному. Готовый работающий макет постоянно совершенствовался и развивался децентрализованной группой энтузиастов, действия которых лишь слегка координировались. Налицо анархичный характер и "восходящая" разработка: сборка все более крупных блоков из ранее созданных мелких. Здесь можно отметить и другое. При традиционной разработке в основу кладется проектирование и написание текстов, при разработке по методу Linux — макетирование, отладка и тестирование. Первые два этапа распараллелить сложно, а с отладкой и тестированием дело обстоит полегче. Иными словами, разработка по методу Linux — это метод проб и ошибок, построенный на интенсивном тестировании. На любом этапе система должна работать, даже если это мини-версия того, к чему стремится разработчик. Естественный отбор оставляет только жизнеспособное. О том, что такое программирование — наука, искусство или ремесло, — спорят уже давно. И если в основе традиционной разработки ПО лежит прежде всего ремесло, то при разработке методом компьютерного дарвинизма — несомненно искусство.

Нетрудно заметить, что "восходящая" разработка характеризует так называемое исследовательское программирование, когда система строится вокруг ключевых компонентов и программ, которые создаются на ранних стадиях проекта, а затем постоянно модифицируются. Отсутствие четкого плана, минимальное управление проектом, большое число сторонних территориально удаленных разработчиков, свободный обмен идеями и кодами — все это атрибуты нового программирования. Об особенностях исследовательского программирования написано немало статей. Так, швейцарские профессора А.Киральф, К.Чен и Й.Нивергельт выделили следующие важные моменты:

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

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

  разработка не поддается детальному планированию, она ведется методом проб и ошибок;

  такие работы связаны с конкретными исполнителями и отражают их личностные качества.

6.10. ЧТО ТАКОЕ ТРАНСЛЯТОР, КОМПИЛЯТОР, ИНТЕРПРЕТАТОР?

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

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

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

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

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

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

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

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

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

6.11. ЧТО ТАКОЕ СИСТЕМЫ ПРОГРАММИРОВАНИЯ?

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

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

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

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

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


 
                  Borland Delphi 3.0

  • пакет Borland Delphi (Дельфи) — блестящий наследник семейства компиляторов Borland Pascal, предоставляющий качественные и очень удобные средства визуальной разработки. Его исключительно быстрый компилятор позволяет эффективно и быстро решать практически любые задачи прикладного программирования.
  • пакет Microsoft Visual Basic — удобный и популярный инструмент для создания Windows-программ с использованием визуальных средств. Содержит инструментарий для создания диаграмм и презентаций.
  • пакет Borland C++ — одно из самых распространённых средств для разработки DOS и Windows приложений.

Ниже для иллюстрации приведены на языках Бейсик, Паскаль и Си программы решения одной и той же простой задачи — вычисления суммы S элементов одномерного массива A=(a1, a2, ..., an).

      Язык Бейсик (BASIC — Beginners All-purpose Symbolic Instruction Code — универсальный символьный код для начинающих) был создан в 1965 г. Дж. Кемени и Т.Курцем как язык, облегчающий написание простых программ. Cейчас все чаще пишут Basic вместо BASIC, придавая другую трактовку названию: Basic — основной, базовый.
      Существует много различных версий Бейсика — от очень простых до усовершенствованных, содержащих множество дополнительных языковых конструкций. Наибольшее распространение имеют следующие версии:
QuickBasic (QBasic) 4.5 для DOS и Visual Basic 3.0-6.0 для Windows.
     
QuickBasic 4.5 фирмы Microsoft — это очень простой, но в то же время эффективный язык, унаследовавший от раннего Бейсика все его достоинства, но избавившийся от всех его недостатков и впитавший целый ряд передовых идей начала 90-х годов. Еще QuickBasic очень привлекателен своей средой программирования. Одна из удач — это использование своеобразного режима работы. Для быстрой работы в среде используется режим интерпретатора, а для окончательного перевода отлаженных программ на машинный язык используется компилятор. Из QBasic компилятор исключен. QBasic входит в минимальный комплект поставки программного обеспечения компьютера. Бейсик очень популярный язык программирования.

Программа на Бейсике 
INPUT "N = "; N   :   DIM A(N)
FOR I = 1 TO N
      PRINT "A("; I; ") =";
      INPUT A(I)
NEXT I
S = 0
FOR I = 1 TO N
      S = S + A(I)
NEXT I
PRINT "Сумма ="; S
END
 


  Окно среды программирования Quick Basic

Программа на Паскале 
Program Summa; 
  Type Mas = Array [1 .. 100] of Real;
  Var A   : Mas;
          i, n: Integer;
          S   : Real;
BEGIN
    Write('n = ');   ReadLn(n);
    For  i : = 1 to n do
        begin
          Write('A[', i, '] = ');
          ReadLn(A[i]);
        end;

    S : = 0;
    For  i : = 1 to n do
          S : = S + A[i];
    WriteLn('S = ', S:8:2);
END.

   Язык Паскаль был разработан в 1970 г. Никласом Виртом как язык обучения студентов программированию. Паскаль вырабатывает навыки соблюдения хорошего строгого стиля программирования, упрощающего разработку сложных программ.
    Основные привлекательные черты Паскаля —
логичность, поддержка концепций структурного и процедурного программирования, работа с динамической памятью, возможность создания своих типов данных. В Паскале программист должен всегда явно указывать, с какими конкретными переменными он желает работать и каковы типы этих переменных. Строгая типизация данных позволяет резко снизить количество ошибок, появляющихся в программе вследствие невнимательности или опечаток.
    В своем первоначальном виде Паскаль имел довольно ограниченные возможности, но расширенный вариант этого языка —
Turbo Pascal, является очень мощным языком программирования. Интегрированная оболочка Turbo Pascal, разработанная фирмой Borland (ныне Inprise), включающая в себя редактор, компилятор, компоновщик и отладчик, вместе с интерактивной справочной системой сделали разработку программ на Паскале делом простым и приятным.

 

    Язык Си разработан Деннисом Ритчи в 1972 г. как язык, пригодный для программирования новой операционной системы UNIX.

Операционные системы ради повышения скорости работы традиционно писались на языке низкого уровня — ассемблере, но язык Си настолько хорошо зарекомендовал себя, что на нем было написано более 90% всего кода ОС UNIX. Язык СИ обрел популярность как так называемый язык среднего уровня, в котором удобство, краткость и мобильность языков высокого уровня сочетаются с возможностью непосредственного доступа к аппаратуре компьютера, что обычно достигаются только при программировании на языке Ассемблера.

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

Программа на СИ 
# include
# include
main()

float a[100], s; int i, n;
clrscr(); printf("n=");
scanf("%i", &n);
for (i = 1; i <= n; i++) {
     printf("a[%i]=", i);
     scanf("%f", &a[i]);}
s=0;
for (i = 1; i <= n; i++)
     s = s + a[i];
printf("s = % f \ n", s);
return 0;
}

6.12. ДЛЯ ЧЕГО НУЖНЫ ИНСТРУМЕНТАЛЬНЫЕ ПРОГРАММЫ?

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

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

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

Инструментальные программные средства могут оказать помощь на всех стадиях разработки ПО.

6.13. ЧТО ТАКОЕ ТЕКСТОВЫЙ РЕДАКТОР?

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

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

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

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

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


 
         Окно редактора Microsoft Word
 
 

Наиболее известный текстовый редактор — Microsoft Word.

Полнофункциональные издательские системы — Microsoft Publisher, Corel Ventura и Adobe PageMaker. Издательские системы незаменимы для компьютерной верстки и графики. Значительно облегчают работу с многостраничными документами, имеют возможности автоматической разбивки текста на страницы, расстановки номеров страниц, создания заголовков и т.д. Создание макетов любых изданий — от рекламных листков до многостраничных книг и журналов — становится очень простым, даже для новичков.

6.14. ЧТО ТАКОЕ ГРАФИЧЕСКИЙ РЕДАКТОР?

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


 
        Рисунок, полученный с
        помощью Corel Draw!
       
Увеличить изображение

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

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

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

6.15. КАКОВЫ ВОЗМОЖНОСТИ СИСТЕМ ДЕЛОВОЙ И НАУЧНОЙ ГРАФИКИ?


              Круговые и столбиковые диаграммы

Системы деловой графики дают возможность выводить на экран различные виды графиков и диаграмм: >гистограммы; круговые и секторные диаграммы и т.д.

Эти системы позволяют наглядно представлять на экране различные данные и зависимости.
 

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


 
          Чертеж с нанесенными изолиниями

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

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

Существуют остроумные способы визуализации наиболее простых многомерных объектов — множеств точек. Один из них носит название "лица Чернова" (Чернов — современный американский математик).


            "Лица Чернова"


  Этим способом можно отображать 10-20-мерные множества. Суть способа такова: каждому из измерений сопоставляется один из параметров схематически изображённого человеческого лица, например, первое измерение дает отношение высоты лица к ширине, второе — размер носа,третье — расстояние между глазами и т.д.

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

6.16. ЧТО ТАКОЕ ТАБЛИЧНЫЙ ПРОЦЕССОР?

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

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

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


 
                 Электронная таблица
                Microsoft Excel

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

Графам и строкам можно присваивать наименования. Экран монитора трактуется как окно, через которое можно рассматривать таблицу целиком или по частям.

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

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

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

Самые популярные табличные процессоры — Microsoft Excel (Эксель) и Lotus 1—2—3.

В Microsoft Excel автоматизированы многие рутинные операции, специальные шаблоны помогают создавать отчёты, импортировать данные и многое другое.

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

6.17. ЧТО ТАКОЕ СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ?

База данных — это один или несколько файлов данных, предназначенных для хранения, изменения и обработки больших объемов взаимосвязанной информации.

В базе данных предприятия, например, может храниться:

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

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

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

Базы данных используются под управлением систем управления базами данных (СУБД).

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


 
    Окно СУБД Access

Системы управления базами данных позволяют объединять большие объемы информации и обрабатывать их, сортировать, делать выборки по определённым критериям и т.п.

Современные СУБД дают возможность включать в них не только текстовую и графическую информацию, но и звуковые фрагменты и даже видеоклипы.

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

СУБД обеспечивают правильность, полноту и непротиворечивость данных, а также удобный доступ к ним.

Популярные СУБД — FoxPro, Access for Windows, Paradox. 

Для менее сложных применений вместо СУБД используются информационно-поисковые системы (ИПС), которые выполняют следующие функции:

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

6.18. ЧТО ТАКОЕ БИБЛИОТЕКИ СТАНДАРТНЫХ ПОДПРОГРАММ?

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

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

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

6.19. ЧТО ТАКОЕ ПАКЕТЫ ПРИКЛАДНЫХ ПРОГРАММ?

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

В зависимости от характера решаемых задач различают следующие разновидности ППП:

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

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

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

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

Часто пакеты прикладных программ располагают базами данных для хранения данных и передачи их прикладным программам.

6.20. ЧТО ТАКОЕ ИНТЕГРИРОВАННЫЕ ПАКЕТЫ ПРОГРАММ?

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

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

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

Пример: интегрированный пакет для написания книг, содержащих иллюстрации. Он содержит:

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

Наиболее известные интегрированные пакеты:

Microsoft Office. В этот мощный профессиональный пакет вошли такие необходимые программы, как текстовый редактор WinWord , электронная таблица Excel, программа создания презентаций PowerPoint, СУБД Access, средство поддержки электронной почты Mail. Мало того, все части этого пакета составляют единое целое, и даже внешне все программы выглядят единообразно, что облегчает как их освоение, так и ежедневное использование.

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

6.21. ЧТО ТАКОЕ ОРГАНАЙЗЕРЫ?

Органайзеры — это программы — электронные секретари.


                            Lotus Organizer

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

Lotus Organizer — блокнот, разбитый по секциям: календарь, список дел, адресная и телефонная книга, планировщик, записная книжка, список памятных дат.

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

6.22. ЧТО ТАКОЕ СЕТЕВОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ?

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

Функции и характеристики сетевых операционных систем (ОС)

(по материалам www-сайта Омского государственного технического университета http://edu.omgtu.omskelecom.ru)

К основным функциям сетевых ОС относят:

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

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

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

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

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

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

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

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

В настоящее время наибольшее распространение получили три основные сетевые ОС — UNIX,   Windows NT   и   Novell Netware. 

ОC UNIX применяют преимущественно в крупных корпоративных сетях, поскольку эта система характеризуется высокой надежностью, возможностью легкого масштабирования сети. В Unix имеется ряд команд и поддерживающих их программ для работы в сети. Во-первых, это команды ftp, telnet, реализующие файловый обмен и эмуляцию удаленного узла на базе протоколов TCP/IP. Во-вторых, протокол, команды и программы UUCP, разработанные с ориентацией на асинхронную модемную связь по телефонным линиям между удаленными Unix-узлами в корпоративных и территориальных сетях.

ОС Windows NT включает серверную (Windows NT Server) и клиентскую (Windows NT Workstation) части и, тем самым, обеспечивает работу в сетях "клиент/сервер". Windows NT обычно применяют в средних по масштабам сетях.

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

6.23. Вопросы для самоконтроля.

6.1. Что такое программа?

6.2. Что включает в себя понятие "программное обеспечение"?

6.3. Назовите и характеризуйте основные категории программного обеспечения.

6.4. В чем отличие прикладных программ от системных и инструментальных?

6.5. Что входит в системное программное обеспечение?

6.6. В чем состоит назначение операционной системы?

6.7. Характеризуйте основные классы операционных систем.

6.8. Опишите процесс начальной загрузки операционной системы в оперативную память компьютера.

6.9. Что такое файл?

6.10. Как организована файловая система?

6.11. Какой модуль операционной системы осуществляет обслуживание файлов?

6.12. Приведите пример иерархической файловой структуры.

6.13. Что такое базовая система ввода-вывода (BIOS), и в каком разделе памяти она размещается?

6.14. Из каких основных модулей состоит операционная система MS-DOS?

6.15. Назовите основные разновидности программ-утилит и дайте им краткую характеристику.

6.16. К каким категориям программного обеспечения относятся программные пакеты:

— Norton Commander;
— MS-DOS;
— Windows 3.x;
— Windows-NT, Windows 95;
— Microsoft Word;
— Adobe PageMaker;
— Turbo Bascal, Turbo Basic;
— Microsoft Excel, Lotus;
— FoxPro, Access for Windows;
— Microsoft Office, Microsoft Works?

6.17. Для чего предназначен пакет программ Norton Commander?

6.18. Какой вид интерфейса удобнее для пользователя — командный или графический?

6.19. Чем объясняется широкая популярность пакета Norton Commander?

6.20. Что такое компьютерные вирусы, в чем состоят их вредные действия?

6.21. Какие существуют средства борьбы с компьютерными вирусами?

6.22. В чем суть процесса сжатия информации?

6.23. Характеризуйте основные особенности операционных систем Windows-NT и Windows 95.

6.24. Какие языки и системы программирования вы знаете и в чем их особенности?

6.25. В чем отличие процесса интерпретации от процесса компиляции?

6.26. Назовите основные функции текстовых редакторов.

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

6.28. Назовите функциональные возможности табличного процессора.

6.29. Какие виды входных данных могут быть введены в клетки электронных таблиц?

6.30. Дайте определение и опишите назначение базы данных.

6.31. Приведите пример возможного наполнения базы данных вашего учебного заведения.

6.32. Каковы основные функциональные возможности систем управления базами данных?

6.33. Что такое информационно-поисковые системы?

6.34. Дайте определение пакета прикладных программ.

6.35. Каково назначение библиотек стандартных программ?

6.36. Дайте определения интегрированного пакета программ.

6.37. Каково назначение сетевого программного обеспечения?



Предварительный просмотр:

  1. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ.
    ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
  1. ПОНЯТИЕ АЛГОРИТМА И ЕГО СВОЙСТВА

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

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

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

Значение слова «алгоритм» очень схоже со значениями слов «рецепт», «метод», «процесс». Однако, в отличие от рецепта или процесса, алгоритм характеризуется следующими свойствами:

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

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

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

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

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

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

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

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

Блок, характеризующий начало/конец алгоритма (для подпрограмм – вызов/возврат):

Блок – процесс, предназначенный для описания отдельных действий:

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

Блок – ввода/вывода с неопределенного носителя:

Блок – ввод с клавиатуры:

Блок – вывод на монитор:

Блок – вывод на печатающее устройство:

С Начало   j  (    Конец   J

<Действие>

Г/

Блок – решение (проверка условия или условный блок):

Блок, описывающий цикл с параметром:

Нет

Да

<тело цикла>

Блок — границы цикла, описывающий циклические процессы типа: «цикл с предусловием», «цикл с постусловием»:

<тело цикла>

Соединительные блоки

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

Программа – описание структуры алгоритма на языке алгоритмического программирования. С другой стороны, понятие «программа» нельзя трактовать только таким образом, как уже говорилось в главе 5 (п. 5.5.2), программа на языке декларативного программирования представляет собой совокупность описанных знаний и не содержит явного алгоритма исполнения.

  1. ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКИИИ

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

  1. Линейная алгоритмическая конструкция

Линейной называют алгоритмическую конструкцию, реализованную в виде последовательности действий (шагов), в которой каждое действие (шаг) алгоритма выполняется ровно один раз, причем после каждого i-го действия (шага) выполняется (i+1)-е действие (шаг), если i-е действие – не конец алгоритма.

  1. Разветвляющаяся алгоритмическая конструкция

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

Действия 2

L

Ложь (Нет) /         \^    Истина (Да)

Условие

Действия 1

Рис. 6.2. Полное ветвление

на одной ветви (то), вторая ветвь отсутствует, т.е. для одного из результатов проверки никаких действий выполнять не надо, управление сразу переходит к точке слияния (рис. 6.3).

Пример 6.2.

Вывести значение наибольшего из двух чисел. Псевдокод:

1.  Ввод двух чисел а, Ь.

2.  ЕСЛИ а > Ъ, ТО «выводим а»,

ИНАЧЕ «выводим Ь».

3.  Конец.

297

Ложь (Нет)

Рис. 6.3. Неполное ветвление

(    Начало     J

I

/Ввод     /

/      «■*    /

Нет

Да

Рис. 6.4. Блок-схема к примеру 6.2

В данном примере реализовано полное ветвление. ЕСЛИ значения входных данных таковы, что а > Ь, ТО выполняется линейный алгоритм:

1.  Ввод двух чисел а, Ь.

2.  Вывод а.

ИНАЧЕ, когда а <Ь, выполняется линейный алгоритм:

298

1.  Ввод двух чисел а, Ь.

2.  Вывод Ь.

Вывод: алгоритм является разветвляющимся и состоит из двух ветвей.

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

Пример 6.3.

Заданы три числа. Найти значение наименьшего из них.

Заданные числа обозначим: а, Ь, с; результирующее наименьшее — тт. На рис. 6.5 представлена блок-схема алгоритма реше-            рИс. 6.5. Алгоритм поиска ния данной задачи.                                    наименьшего значения

среди трех заданных

299

КолланЭа «Выбор»

Часто при выборе одного из возможных вариантов действий приходится проверять значение выражения на принадлежность заданному набору данных. Для этого существует команда «Выбор». При ее исполнении сначала вычисляется значение некоторого выражения Z. Затем последовательно проверяются условия VI, V2, ..., V« относительно Z, начиная с первого, до тех пор, пока не встретится условие, принимающее значение ИСТИНА. Далее выполняется соответствующее этому условию действие (или серия действий), после чего команда выбора завершается. Если ни одно из условий не является истинным, то выполняется действие (или набор действий), идущее по ветви ЛОЖЬ для каждого из условий. На рис. 6.6 представлена блок-схема команды «Выбор» для п = 3.

Правило изменения параметра и

i = TV, К, h                     означает

1-й шаг цикла

/ = N

2-й шаг цикла

/ = N + h

3-й шаг цикла и т.д.

/ = N + 2h

последний шаг

г = К

Рис. 6.6. Команда «выбор»

  1. Алгоритмическая конструкция «Цикл»

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

Рассмотрим три типа циклических алгоритмов: цикл с параметром (который называют арифметическим циклом), цикл с предусловием и цикл с постусловием (их называют итерационными).

Арифметический цикл

В арифметическом цикле число его шагов (повторений) однозначно определяется правилом изменения параметра, которое задается с помощью начального (N) и конечного (К) значений параметра и шагом (h) его изменения. Т.е., на первом шаге цикла значение параметра равно N, на втором - N + h, на третьем - N + 2h и т.д. На последнем шаге цикла значение параметра не больше К, но такое, что дальнейшее его изменение приведет к значению, большему, чем К.

Пример 6.4.

Вывести 10 раз слово «Привет!».

Параметр цикла обозначим /, он будет отвечать за количество выведенных слов. При / = 1 будет выведено первое слово, при / = 2 будет выведено второе слова и т.д. Так как требуется вывести 10 слов, то последнее значение параметра / = 10. В заданном примере требуется 10 раз повторить одно и то же действие: вывести слово «При-

300

301вет!». Составим алгоритм, используя арифметический цикл, в котором правило изменения параметра / = 1,10,1. Т.е. начальное значение параметра /= 1; конечное значение/= 10; шаг изменения И = 1. На рис. 6.7 представлена блок-схема алгоритма решения данной задачи.

 Привет!   J (   Конец J

Рис. 6.7. Блок-схема к примеру 6.4

Цикл с предусловием

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

1

^^ Условие ^^>

Условие      |

+ |

Да

Тело цикла

Тело цикла

1

а

1

б

Рис. 6.8. Блок-схема цикла с предусловием

302

Блок-схема данной конструкции представлена на рис. 6.8'двумя способами: с помощью условного блока а и с помощью блока границы цикла б.

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

Пример 6.5.

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

Рис. 6.9. Блок-схема алгоритма Евклида

303Опишем его на псевдокоде:

1.  Ввод натуральных чисел тип.

2.  Пока т t- n делать.

2.1.  Если т>п, то т=т — п, иначе п— п — т .

2.2.  Переход к шагу 2.

3.  Вывод т (найденный наибольший общий делитель).

4.  Конец.

Цикл с постусловием

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

Тело цикла

I

Условие

а

Рис. 6.10. Блок-схема цикла с постусловием

304

Пример 6.6.

Составим алгоритм игры «Угадай число». Первый игрок вводит задуманное число от 1 до 50. Второй (угадывающий) вводит другое число и получает один из ответов: «Ваше число меньше», «Ваше число больше» или «Вы угадали». Игра продолжается до тех пор, пока второй игрок не угадает задуманное число.

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

С   Начало   J

I / Ввод х  /

Рис. 6.11. Блок-схема игры «Угадай число» (пример 6.6)

305Рассмотрим стандартные циклические алгоритмы, такие как вычисление суммы и подсчет количества элементов, удовлетворяющих некоторому признаку.

Суммирование.

Пример 6.7.

Для заданного натурального числа N вычислить сумму

2    3            N

Подсчет суммы осуществляется следующим образом. Сначала счи-  ' таем, что сумма S есть первое слагаемое (S = 1). Далее к первому сла-

1 гаемому прибавляем второе, получаем новую сумму   5 = 1 + — . Но

на предыдущем шаге S = 1, поэтому можно записать S = S + — . к сумме двух первых слагаемых прибавляем третье 5 = 1 + — + -. Но на

1                                                                 1 предыдущем шагу 5 = 1 + — , поэтому можно записать S = S + - и т.д.

2                                                                3

Получили следующую последовательность шагов: 1)      S = 1.

2)

3)

2" 3'

Запишем /-и шаг, опираясь на два предыдущих:

1

i

Выясним правило изменения номера шага /. В описанной последовательности / = 1, 2, 3 и т.д. В сумме N слагаемых, поэтому последним значением / будет N. Отсюда нашли правило изменения / = 1, N, 1.

306

Сверяя инструкции каждого шага, находим, что выражение на первом шаге отличается от других (однотипных). Чтобы оно стало таким как все, в сумму надо добавить S, т.е. записать: S = S + 1 (учи-

1 тываем, что 1 = 7)- Отсюда для S возникает необходимость задания

начального значения, но такого, чтобы S + 1 = 1 (таким должно быть выражение для / = 1), этим числом является нуль, при сложении с нулем сумма не меняется.

Так как известно число шагов цикла, то для построения алгоритма используем цикл с параметром /.

Алгоритм на псевдокоде:

1.  Ввод N.                                                                                   .

2.  S = 0.                                                                                      "

3.  Для / = 1, N, 1 повторить:

3.1. S =

4.  Вывод S.

5.  Конец.

Блок-схема алгоритма приведена на рис. 6.12.

Сформулируем правило суммирования:

•    начальное значение суммы S = 0;

•    в теле некоторой циклической конструкции выполнить команду:

S = S + <слагаемое>.

Упражнения для самостоятельной работы:

Для заданного натурального числа N вычислите суммы N-сла-гаемых:

12    3

1.  - + - + - + ...; 2     3    4

12    3

2.  - + - + - + ...; 2    4    6

3073.

sin 1

 sin 2

 sin3

+  1 + 2    1+2+3

+ ...

(       Начало      J

S = 0

s = s + -

(       Конец       j

Рис. 6.12. Алгоритм вычисления суммы

Подсчет количества элементов. Произведем счет: 1, 2, 3, 4, 5 и т.д., этот процесс является циклическим, так как каждый раз мы совершаем одно и то же действие: предыдущее натуральное число увеличиваем на единицу. Обозначив через К - счетчик искомых элементов, легко получить правило счетчика: К = К + 1 (на очередном шаге цикла). Но при первом подсчете должны получить значение К, равное единице, а до начала счета счетчик должен быть пуст, следовательно, начальное значение счетчика равно нулю.

Правило счетчика:

•    начальное значение счетчика К = 0;

•    в теле некоторой циклической конструкции выполнить команду:

К = К + 1.

Пример 6.8

Задано 20 чисел. Сколько среди них чисел, больших 10? Псевдокод:

1.  К = 0 {Счетчик чисел, больших 10}.

2.  Повторить 20 раз (для / = 1, 20, 1).

2.1.  Ввод числа х.

2.2.  Если х > 10, то К = К+ 1.

3.  Вывод К.

4.  Конец.

Блок-схема алгоритма приведена на рис. 6.13. Замечание: в фигурных скобках {....} принято помещать комментарии к алгоритму.

Рис. 6.13. Алгоритм примера 6.8

308

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

а - последовательные         б — вложенные             в - запрещенные

Рис. 6.14. Расположение циклов

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

  1. Рекурсивный алгоритм

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

  1. ПРОСТЫЕ ТИПЫ ЗОННЫМ: ПЕРЕМЕННЫЕ И КОНСТАНТЫ

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

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

•   используемый способ записи информации в ячейки памяти;

•   необходимый объем памяти для ее хранения.

Объем памяти для каждого типа определяется таким образом, чтобы в него можно было поместить любое значение1 из допустимого диапазона значений данного типа. Например, тип «байт» может принимать значения от 0 до 255, что в двоичном коде (255(10) = = 11111111 2) соответствует ячейке памяти длиной в 8 бит (или 1 байт).

В описанных выше алгоритмах (примеры 6.1 - 6.8) все данные хранятся в виде переменных. Например, инструкция «Ввод двух чисел а, Ь» означает введение пользователем значений двух переменных, а инструкция «К=К+1» означает увеличение значения переменной К на единицу.

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

Все остальные данные в программе, значения которых не изменяются на протяжении ее работы, называют константами или постоянными. Константы, как и переменные, имеют тип. Их можно указывать явно, например, в инструкции «К = К + 1» 1 есть константа, или для удобства обозначать идентификаторами: pi = 3,1415926536. Только значение pi нельзя изменить, так как это константа, а не переменная.

310

3116.5. Структурированные Зонные и алгоритмы ин обработки

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

Массивом называется упорядоченная совокупность однотипных величин, имеющих общее имя, элементы которой адресуются (различаются) порядковыми номерами (индексами). В качестве иллюстрации можно представить шкаф, содержащий множество пронумерованных ящиков (совокупность — «Ящик № 1», «Ящик № 2», «Ящик № 3» и т.д.; «Ящик» - общее имя всех ее элементов). Доступ к содержимому конкретного ящика (элементу массива) осуществляется после выбора ящика по его номеру (индексу). Элементы массива в памяти компьютера хранятся по соседству, одиночные элементы простого типа такого расположения данных в памяти не предполагают. Массивы различаются количеством индексов, определяющих их элементы.

Одномерный массив (шкаф ящиков в один ряд) предполагает наличие у каждого элемента только одного индекса. Примерами одномерных массивов служат арифметическая (а.) и геометрическая (Ь) последовательности, определяющие конечные ряды чисел. Количество элементов массива называют размерностью. При определении одномерного массива его размерность записывается в круглых скобках, рядом с его именем. Например, если сказано: «задан массив А(10)», это означает, что даны элементы: ар а2, ... , а]0. Рассмотрим алгоритмы обработки элементов одномерных массивов.

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

312

Псевдокод:

1. Повторить 10 раз (для i = 1, 10, 1): 1.1. Вввод а.

Блок-схема

Рис. 6.15. Ввод элементов одномерного массива А( 10)

Пример 6.9.                                                             

Рассмотрим алгоритм вычисления среднего арифметического положительных элементов числового массива А(10).

Среднее арифметическое есть отношение суммы к числу ее слагаемых, т.е.

среднее арифметическое —

Алгоритм решения задачи (рис. 6.16) будет содержать подсчет суммы (обозначим ее S), включающей положительные элементы массива ( а. > 0), и количества (обозначим N) ее слагаемых.

Псевдокод:

1.  Повторить 10 раз (для i = 1, 10, 1). 1.1. Ввод а.

2.  Начальное значение суммы: S = 0.

3.  Начальное значение счетчика: N = 0.

4.  Повторить 10 раз (для /= 1, 10, 1):

4.1. ЕСЛИ а. > 0, ТО S = S + а. ; N = N + 1.

5.  ЕСЛИ N > 0, ТО вычисление среднего арифметического SA = S/N; вывод SA.

ИНАЧЕ: вывод «Положительных элементов в массиве нет».

6.  Конец.

313С     Начало     1

" '■'»■■

>-;

S = 0

N = 0

10, 1

ч"1.

У

>        | Да

Нет

S = S +я,

i

N = N+1

1

Нет

Да

Положительных элементов нет

Рис. 6.16.   Блок-схема задачи «подсчета среднего арифметического положительных элементов массива» (пример 6.9)

(    Начало    J

щ

т= 1

X^i = 2,10,

Пример 6.10.

В заданном числовом массиве А( 10) найти наибольший элемент и его индекс, при условии, что такой элемент в массиве существует, и единственный.

Обозначим индекс наибольшего элемента т. Будем считать, что первый элемент массива является наибольшим (т = 1). Сравним поочередно наибольший с остальными элементами массива. Если оказывается, что текущий элемент массива о. (тот, с которым идет сравнение) больше выбранного нами наибольшего а , то считаем его наибольшим (т = i) (рис. 6.17).

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

индекса а.., первый индекс / определяет номер строки, в которой находится элемент (координата по горизонтали), а второй j — номер столбца (координата по вертикали). Двумерный массив характеризуется двумя размерностями N и М, определяющими число строк и столбцов соответственно (рис. 6.18).

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

ат

(

 Конец

Рис 6.17. Алгоритм поиска

наибольшего элемента массива

и его индекса (пример 6.10)

314

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

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

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

  1. Понятие «Язык программирования»

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

Языки программирования — это формальные искусственные языки. Как и естественные языки, они имеют алфавит, словарньш'запас, грамматику и синтаксис, а также семантику.                              '

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

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

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

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

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

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

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

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

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

  1. Компиляторы и интерпретаторы

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

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

Компиляторы полностью обрабатывают весь текст программы (его называют исходным кодом или source code). Они осуществляют поиск синтаксических ошибок, выполняют семантический аналиЪ и только затем, если текст программы в точности соответствует правилам языка, его автоматически переводят (транслируют) на машинный язык (говорят: генерируют объектный код или object code). Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы. Сгенерированный объектный код обрабатывается специальной программой - сборщиком или редактором связей, который производит связывание объектного и машинного кодов. Текст программы преобразуется в готовый к исполнению ЕХЕ-файл (исполнимый код), его можно сохранить в памяти компьютера или на диске. Этот файл имеет самостоятельное значение и может работать под управлением операционной системы. Его можно перенести на другие компьютеры с процессором, поддерживающим соответствующий машинный код.

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

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

II Информатика

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

об ошибках.

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

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

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

•   Составление исходного кода программы (рис. 6.21) на языке программирования.

•   Этап трансляции, необходимый для создания объектного кода

программы.

•   Построение загрузочного модуля, готового к исполнению.

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

Исходны!П|  Трансляция  ЦрбГектныйЦ    Редактор      II Загрузочный

^'         """         Ч                            ~                 II         МОДУЛЬ

код

код

связей

модуль

Рис. 6.21. Процесс создания программы, готовой к исполнению Совокупность этих программных средств входит в состав системы программирования:

•   Текстовый редактор (необходимый для создания и редактирования исходного кода программы на языке программирования).

•   Компилятор.

•   Редактор связей.

•   Отладчик.

322

•   Библиотеки функций.

•   Справочная система.

  1. Классификация и обзор в программирования

Современное состояние языков программирования можно представить в виде следующей классификации (рис. 6.22).

языки

ПРОГРАММИРОВАНИЯ

Процедурные (императивные)

Объектно-ориентрованные

Онсрацион-ные

Структурные

Объектные

Визуальные

Декларативные

Функциональные

Логические

Рис. 6.22. Классификация языков программирования

Процедурное программирование

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

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

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

Одним из первых процедурных языков программирования высокого уровня стал Фортран (FORmula ZR/LVslation), созданный в начале 50-х гг. в США фирмой IBM. Первая публикация о нем появилась в 1954 г. Основное назначение языка – программирование научно-технических задач. Объектами языка являются целые и вещественные числа и числовые переменные. Выражения в нем формируются с помощью четырех арифметических действий: возведения в степень, логических операций И, ИЛИ, НЕ, операций отношения и круглых скобок. Основные операторы Фортрана – ввод, вывод, присваивание, условный и безусловный переход, цикл, вызов подпрограмм. Долгие годы он был одним из самых распространенных языков в мире. За это время накоплена огромная библиотека программ, написанных на Фортране. И сейчас ведутся работы над очередным стандартом Фортрана. В 2000 г. была реализована версия Фортран F2k, имеется стандартная версия HPF (High Performance Fortran) для параллельных суперкомпьютеров. Многие средства Фортрана использованы в языках PL-1 и Бейсик.

Кобол (COmmon business Oriented .Language – общепринятый деловой язык) – язык программирования, ориентированный на решение задач обработки данных. Широко используется для решения учетно-экономических и управленческих задач. Разработан в США в 1958–1960 гг. Программа на Коболе имеет вид ряда предложений на английском языке и напоминает обычный текст. Группы последовательно записанных операторов объединяются в предложения, предложения – в параграфы, параграфы – в секции. Программист присваивает параграфам и секциям имена (метки), что облегчает непосредственное обращение к нужному участку программы. В СССР был принят русский вариант языка. В Коболе были реализованы мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях. На этом языке создано много приложений, некоторые из них активно эксплуатируются и сейчас. Достаточно сказать, что одной из высокооплачиваемых категорией граждан в США являются программисты на Коболе.

Алгол (/itGOrithmic .Language) разработан группой зарубежных специалистов в 1960 г., явился результатом международного сотрудничества конца 50-х гг. (Алгол-60). Алгол предназначался для записи алгоритмов, построенных в виде последовательности процедур, применяемых при решении поставленных задач. Специалисты–практики воспринимали этот язык неоднозначно, но тем не менее, он как признанный международный язык сыграл большую роль в становлении основных понятий программирования и для обучения программистов. В нем впервые введены понятия «блочная структура программы», «динамическое распределение памяти». Внутри блока в Алголе можно вводить локальные обозначения, которые не зависят от остальной части программы. Несмотря на свое интернациональное происхождение, Алгол-60 получил меньшее распространение, чем Фортран. Например, не на всех зарубежных ЭВМ имелись трансляторы с Алгола-60. В 1968 г. в результате дальнейшего развития и усовершенствования Алгола-60 была создана версия Алгол-68. Это многоцелевой универсальный расширенный язык программирования. Последнее свойство позволяло с помощью одной и той же программы транслятора осуществлять трансляцию с различных расширенных версий языка без дополнительных затрат на приспособление этого языка к различным категориям пользователей, на получение проблемно-ориентированных диалектов языка. По своим возможностям Алгол-68 и сегодня опережает многие языки программирования, однако из-за отсутствия эффективных компьютеров для него не удалось своевременно создать хорошие компиляторы. В нашей стране в те годы под руководством академика Андрея Петровича Ершова был создан транслятор Альфа, который представлял достаточно удачную русифицированную версию Алгола.

В середине 60-х гг. сотрудники математического факультета Дартмутского колледжа Томас Курц и Джон Кемени создали специализированный язык программирования, который состоял из простых английских слов. Новый язык назвали универсальным символическим кодом для начинающих (beginners ЛИ-purpose Symbolic /nstruction Code) или сокращенно BASIC (Бейсик). 1964 г. считают годом рождения этого языка. Он получил самое широкое распространение при работе на персональных компьютерах в режиме интерактивного диалога. Популярность Бейсика объясняется как простотой его освоения, так и наличием достаточно мощных универсальных средств, пригодных для решения научных, технических и экономических задач, а также задач бытового характера, игровых и т.д. Согласно концепциям, заложенным в Бейсике, в нем широко распространены различные правила умолчания, что считается плохим тоном в большинстве языков программирования подобного типа. Возникло множество версий языка, зачастую мало совместимых друг с другом. Однако, зная одну из версий, можно без особого труда освоить любую другую. Бейсик активно поглощает многие концепции и новинки из других языков. Первоначально интерактивный режим осуществлялся с использованием интерпретатора, в настоящее время для этого языка имеются также и компиляторы.

В начале 60-х гг. каждый из существующих языков программирования был ориентирован на разные классы задач, но в той или иной мере привязан к конкретной архитектуре ЭВМ. Были предприняты попытки преодолеть этот недостаток путем создания универсального языка программирования. ПЛ/1 (PL/1 - Programming Language One) — первый многоцелевой универсальный язык, разработан в США фирмой IBM в 1963—1966 гг. Это один из наиболее распространенных универсальных языков, он хорошо приспособлен для решения задач в области вычислительной техники: исследования и планирования вычислительных процессов, моделирования, решения логических задач и исследования логических схем, разработки систем математического обеспечения. При разработке PL/1 были широко использованы основные понятия и средства языков Фортран, Алгол-60, Кобол. PL/1 — богатый и гибкий язык, дает возможность производить вставки, исправлять текст программы в процессе ее отладки. Язык получил широкое распространение, трансляторы с него имеются для многих типов компьютеров. Компания IBM и сегодня продолжает поддерживать этот язык.

Паскаль (Pascal) является одним из наиболее популярных процедурных языков программирования, особенно для персональных компьютеров. Созданный как учебный язык программирования в 1968-1971 гг. Никлаусом Виртом в Высшей технической школе (ЕТН) в Цюрихе (Швейцария), он был назван в честь французского математика и философа Блеза Паскаля (1623-1662). Целью работы Н. Вирта было создание языка, который

•   строился бы на небольшом количестве базовых понятий;

•   имел простой синтаксис;

•   допускал перевод программ в машинный код простым компилятором.

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

326

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

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

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

Период с конца 60-х до начала 80-х гг. характеризуется бурным ростом числа различных языков программирования, сопровождавшим, как это ни парадоксально, кризис программного обеспечения. Этот кризис особенно остро переживало военное ведомство США. В январе 1975 г. Пентагон решил навести порядок среди бесчисленного множества трансляторов и создал комитет для разработки одного универсального языка. На конкурсной основе комитет рассмотрел сотни проектов и выяснил, что ни один из существующих языков не может удовлетворить их требованиям, для окончательного рассмотрения было оставлено два проекта. В мае 1979 г. был объявлен победитель - группа ученых во главе с Жаном Ихбиа. Победивший язык назвали АДА, в честь Ады Лавлейс, дочери великого поэта Байрона. Она в юности была увлечена идеями Чарльза Бэббиджа и помогала ему составлять описание машины, а в начале 40-х гг. XIX в. разработала первую в мире программу для вычислительной машины. Язык АДА - прямой наследник Паскаля. Он предназначен для создания и длительного сопровождения больших программных систем, управления процессами в реальном масштабе времени. В языке четко выражена модульность его конструкций, причем обеспечивается удобство организации разнообразных связей между модулями. Важным его достоинством является возможность параллельного программирования ветвей программы, которые затем могут реализоваться

327на многопроцессорных компьютерах. Язык АДА сложен для изучения.

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

Функциональное программирование

Суть функционального (аппликативного) программирования определена А.П. Ершовым как «способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части является введение имени функции, а единственным правилом композиции - оператор суперпозиции функций. Никаких ячеек памяти, ни операторов присваивания, ни циклов, ни, тем более, блок-схем, ни передачи управления».

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

•   классы констант, которыми могут манипулировать функции;

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

•   правила построения новых функций из базовых;

•   правила формирования выражений на основе вызовов функций. Программа представляет собой последовательность описаний

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

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

Первым таким языком стал Лисп (LISP, LISt Processing — обработка списков), созданный в 1959 г. Джоном Маккарти. Этот язык ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации. Существенная черта языка — унификация программных структур и структур.данных: все выражения записываются в виде списков.

Логическое программирование

Создание языка искусственного интеллекта Пролог (PROLOG, Programming in LOGic — программирование в терминах логики) в 1973 г. французским ученым Аланом Кольмероэ открыло новую область - логическое или реляционное программирование.

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

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

Объектно-ориентрованное программирование (ООП)

Пионером данного направления явился язык Смолток (Smalltalk), первоначально предназначенный для реализаций функций машинной графики. Работа над языком началась в 1970 г. в исследовательской лаборатории XEROX (США), а закончилась в 1980 г. окончательным вариантом интерпретатора Smalltalk-80. Данный язык оригинален тем, что его синтаксис очень компактен и базируется исключительно на понятии объекта. В нем отсутствуют операторы или данные, все, что входит в Смолток, является объектами, а объекты общаются друг с другом исключительно с помощью сообщений. В настоящее время версия VisualAge for Smalltalk активно развивается компанией IBM.

Основой объектно-ориентированного программирования (ООП) является понятие объект. Его сущность выражается формулой «объект = данные + процедуры». Каждый объект содержит некоторую структуру данных и доступные только ему процедуры (методы) обработки этих данных. Используя эту методологию, можно создать свой собственный абстрактный тип и отобразить проблемную область в эту созданную абстракцию вместо традиционного ее отображения в предопределенные управляющие структуры и структуры данных языка программирования. Объединение данных и свойственных им процедур обработки в одном объекте называется инкапсуляцией и присуще ООП.

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

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

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

К наиболее современным объектно-ориентированным языкам программирования относятся C++ и Java.

Язык C++ был разработан в начале 80-х гг. Бьярном Страустру-пом в лаборатории Bell корпорации AT&T. Им была создана компактная компилирующая система, в основе которой лежал язык С, дополненный элементами языков BCPL, Simula-67 и Алгол-68. Более ранние версии языка были известны как «С с классами». В июле 1983 г. C++ был впервые использован за пределами исследовательской группы автора, однако тогда еще многие особенности языка не были придуманы. К 1990 г. была выпущена третья версия языка C++, стандартизированная американским государственным комитетом стандартов ANSI. В 1990 г. сотрудник корпорации Sun Д. Гослинг на основе расширения C++ разработал объектно-ориентированный язык Oak, основным достоинством которого было обеспечение сетевого взаимодействия различных по типу устройств. Новая интегрируемая в Internet версия языка получила название Java. С января 1995 г. Java получает распространение в Internet.

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

Синтаксис языков C++ и Java практически полностью совпадает. Принципиальным различием является то, что язык C++ компилируемый в машинный код, a Java — в платформо-независимый байт-код (каждая команда занимает один байт), этот байт-код может выполняться с помощью интерпретатора - виртуальной Java-машины (Java Virtual Machine), версии которой созданы сегодня для любых платформ. С точки зрения возможностей объектно-ориентируемых средств, Java имеет ряд преимуществ перед C++. Язык Java имеет более гибкую и мощную систему инкапсуляции информации. Механизм наследования, реализованный в Java, обязывает к более строгому подходу к программированию, что способствует надежности и читабельности кода. Язык C++ обладает сложной неадекватной и трудной для понимания системой наследования. Возможности динамического связывания объектов одинаково хорошо представлены в обоих языках, но синтаксическая избыточность C++ и здесь принуждает к выбору языка Java. Сегодня Java по популярности занимает второе место в мире после Бейсика.

Идеи ООП проникли во многие процедурные языки. Например, в состав интегрированной системы программирования Паскаль (корпорации Borlahd International), начиная с версии 5.5, входит специальная библиотека ООП Turbo Vision.

С середины 90-х гг. многие объектно-ориентированные языки реализуются как системы визуального программирования. Такие системы имеют интерфейс, позволяющий при составлении текста программы видеть те графические объекты, для которых она пишется. Отличительной особенностью этих систем является наличие в них среды разработки программ из готовых «строительных блоков», позволяющих создавать интерфейсную часть профаммного продукта в диалоговом режиме, практически без написания профаммньгх операций. Система берет на себя значительную часть работы по управлению компьютером, что делает возможным в простых случаях обходиться без особых знаний о деталях ее работы. Она сама пишет значительную часть текста программы: описания объектов, заголовки процедур и многое другое. Программисту остается только вписать необходимые строчки, определяющие индивидуальное поведение программы, которые система не в состоянии предвидеть. Но даже в этих случаях система сама указывает место для размещения таких строк. К объектно-ориентированным системам визуального проектирования относятся: Visual Basic, Delphi, C++ Builder, Visual C++. Это системы программирования самого высокого уровня.

VBA (Visual Basic for Application) является общей языковой платформой для приложений Microsoft Office (Excel, Word, Power Point и др.). VBA соблюдает основной синтаксис и правила программирования языков Бейсик-диалектов. VBA помогает довольно сильно расширить возможности приложений за счет написания макросов -программ, предназначенных для автоматизации выполнения многих операций. VBA позволяет создавать объекты управления фафичес-кого интерфейса пользователя, задавать и изменять свойства объектов, подключать к ним необходимый для конкретного случая программный код. С помощью VBA можно производить интеграцию между различными профаммными продуктами. Профаммы на языке VBA для приложений создаются двумя способами: в автоматическом режиме как результат построения клавишной макрокоманды или путем написания программного кода.

Языки программирования баз данных

Эти языки отличаются от алгоритмических прежде всего своим функциональным назначением. При работе с базами данных (БД) наиболее часто выполняются следующие операции: создание, преобразование, удаление таблиц в БД; поиск, отбор, сортировка по запросам пользователя; добавление новых записей или модификация существующих; удаление записей и др. Для обработки больших массивов информации и выборки записей по определенным признакам был создан структурированный язык запросов SQL (Stractured Query Language). Он был впервые создан фирмой IBM в начале 70-х гг., назывался Structured English Query Language (SEQUEL) и предназначался для управления прототипом реляционной базы данных IBM -System R. В дальнейшем SQL стал стандартом языка работы с реляционными базами данных, что зафиксировано американским национальным комитетом стандартов ANSI в 1986 г.

Практически в каждой СУБД имеется свой универсальный язык, ориентированный на ее особенности. Сегодня в мире ведущие производители СУБД: Microsoft (SQL Server), IBM (DB2), Oracle, Software AG (Adabas), Informix и Sybase. Их продукты предназначены для совместной параллельной работы тысяч пользователей в сети, а базы данных могут храниться в распределенном виде на нескольких серверах. В Oracle имеется встроенный язык PL/SQL, в Informix -INFORMIX 4GL, в Adabas - Natural и т.д.

Языки программирования для компьютерным сетей

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

HTML (Hyper Text Markup Language) - универсальный язык раз-

334

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

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

Tcl/Tk. В конце 80-х гг. Джон Аустираут придумал скрипт-язык Tel и библиотеку Tk. Tel - это попытка создания идеального скрипт-языка. Он ориентирован на автоматизацию рутинных операций и состоит из мощных команд, выполняющих обработку нетипизирован-ных объектов.

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

Языки моделирования

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

  1. ЭТАПЫ ПОДГОТОВКИ И РЕШЕНИЙ НА КОМПЬЮТЕРЕ

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

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

2.  Формальное построение модели задачи – предполагает построение модели с характеристиками, адекватными оригиналу, на основе какого-либо его физического или информационного принципа; анализируется характер и сущность величин, используемых в задаче.

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

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

5.  Построение алгоритма — на данном этапе составляется алгоритм решения задачи, в соответствии с выбранным методом решения. Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки, определяется последовательность выполнения этих блоков.

336

6.  Составление программы — алгоритм решения переводится на конкретный язык программирования.

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

• или целых фрагментов программы, вывод промежуточных результатов, изменение значений заданных переменных и др.

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

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

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



Предварительный просмотр:

  1. КОМПЬЮТЕРНАЯ ГРАФИКА
  1. ОСНОВНЫЕ ПОНЯТИЯ

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

  1. ФОРМА ПРЕДСТАВЛЕНИЯ

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

  1. Растровое представление

Растр, или растровый массив (bit map – массив битов) – это совокупность битов, расположенных на сетчатом поле.

Графический объект в растровом представлении называется растровой графикой.

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

Рис. 10.1

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

Чем больше точек и чем они мельче, тем визуально качественнее изображение (и больше размер файла). Одна и та же картинка может быть представлена с лучшим или худшим качеством в соответствии с разрешением, т.е. количеством точек на единицу длины. Разрешение обычно измеряется в точках на дюйм – dpi или в пикселях на дюйм – ppi.

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

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

  1. Векторное представление

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

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

  1. Сравнение форм представления графической информации

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

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

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

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

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

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

  1. Цвет в машинной графике

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

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

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

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

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

В этой системе используются три основных цвета: красный, зеленый и синий (RGB). Если смешивать их в равной пропорции, то образуется белый цвет (рис. 10.2), а при смешивании в разных пропорциях – любой другой.

Рис. 10.2

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

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

Взаимосвязь между базовыми цветами аддитивной и субтрактивной систем теоретически может быть представлена следующими зависимостями. Если положить, что каждый цвет определяется восемью битовыми плоскостями, то есть, может иметь 256 градаций, то тогда Cyan = 256 - Red; Magenta = 256 - Green и Yellow = 256 – Blue.

  1. СЖАТИЕ ИЗОБРАЖЕНИЙ

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

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

  1. Групповое сжатие

Рис. 10.3. Растровое изображение в полном представлении (36 элементов)
и с использованием группового сжатия (15 элементов)

Один из самых простых способов сжатия файлов – групповое кодирование (RLE – run length encoding). В соответствии с этой схемой серии повторяющихся величин (например, значение пиксела) заменяется единственной величиной и количеством (рис. 10.3). Подход просто реализуется и хорошо работает с длинными сериями повторяющихся величин. Изображения с большими областями постоянной яркости или цвета, подобные тем, что обычно создаются любыми «рисовальными» программами очень удобно сжимать таким способом. На рис. 10.3 коэффициент сжатия составляет 2,4.

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

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

  1. Кодирование методом Хаффмана

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

Эффективность сжатия по схеме Хаффмана изменяется с точностью алгоритма и типом изображения. Алгоритм меняется в зависимости от формата, но достигает сжатия, несколько превышающего 8:1. Схема Хаффмана работает не так хорошо для файлов, содержащих длинные последовательности повторяющихся величин пикселов, которые могут быть сжаты лучше с использованием групповой или какой-нибудь другой схемы кодирования.

  1. Схема сжатия LZW

LZW – более современный алгоритм сжатия, названный по первым буквам авторов метода (Lempel и Ziv) и алгоритма (Welch). Алгоритм имеет несколько вариаций, многие из которых запатентованы, поэтому их полная реализация не раскрывается.

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

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

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

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

  1. Арифметическое сжатие

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

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

  1. Сжатие методом JPEG

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

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

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

Первоначально изображение RGB преобразуется в пространство цвета освещенность/цветовая насыщенность (luminance/chrominance), после чего получается базовое изображение в градациях серого плюс два канала информации о различиях цветов. Затем используется дискретное косинусоидальное преобразование (DCT) для преобразования растровых данных в информацию об интенсивности изменений. Квантование округляет результаты DCT, приводя их в меньший диапазон величин. На этом шаге формируются потери, так как коэффициент квантования определяет количество теряемых данных и, следовательно, определяет диапазон сжатия и качество восстановленного изображения. Для получения окончательного результата выходные данные квантования сжимаются с использованием либо кодирования Хаффмана, либо арифметического кодирования.

  1. ГРАФИЧЕСКИЕ РЕДАКТОРЫ

  1. ЗАКЛЮЧЕНИЕ

Таким образом, выбор растрового или векторного формата зависит от целей и задач работы с изображением. Если нужна фотографическая точность цветопередачи, то предпочтительнее растр. Логотипы, схемы, элементы оформления удобнее представлять в векторном формате. Понятно, что и в растровом и в векторном представлении графика (как и текст) выводятся на экран монитора или печатное устройство в виде совокупности точек. В Интернете графика представляется в одном из растровых форматов, понимаемых браузерами без установки дополнительных модулей – GIF, JPG, PNG.

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

С некоторыми особенностями работы с простым векторным редактором Microsoft Draw мы познакомились в разделе 4.2.3 «Создание рисунка». Этот редактор встроен в офисный интегрированный пакет программ MS Office.

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

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



Предварительный просмотр:

МИНИСТЕРСТВО ОБРАЗОВАНИЯ САРАТОВСКОЙ ОБЛАСТИ

Государственное бюджетное образовательное учреждение Саратовской области

среднего профессионального образования

«Саратовский архитектурно-строительный колледж»

Комплект контрольно-оценочных средств

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

ОП.10. Информационные технологии в профессиональной деятельности (ИТПД)

образовательной программы среднего профессионального образования

по специальности 270839 «Монтаж и эксплуатация внутренних сантехнических устройств, кондиционирования воздуха и вентиляции»

Саратов, 2012


Комплект контрольно-оценочных средств разработан на основе рабочей программы учебной дисциплины «Информационные технологии в профессиональной деятельности» в соответствии с требованиями Федерального государственного образовательного стандарта среднего  профессионального образования по специальности СПО 270839 «Монтаж и эксплуатация внутренних сантехнических устройств, кондиционирования воздуха и вентиляции» базовой подготовки

Разработчик:

ГБОУ СО СПО «САСК» преподаватель специальных дисциплин Сафарова Л.В..

Одобрено на заседании предметно-цикловой комиссии

математических и естественнонаучных дисциплин

Протокол №_______ от «_____» _________ 2012 г.

Председатель ПЦК ___________ /Дерябина Н.И./

Одобрено учебно-методическим советом колледжа

Протокол №_______ от «_____» _________ 2012 г.


I. Паспорт комплекта контрольно-оценочных средств

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

В результате освоения учебной дисциплины «Информационные технологии в профессиональной деятельности» обучающийся должен обладать предусмотренными  ФГОС по специальности среднего профессионального образования СПО 270839 «Монтаж и эксплуатация внутренних сантехнических устройств, кондиционирования воздуха и вентиляции» следующими умениями и знаниями, которые формируют элементы профессиональных (ПК 1.1 – 3.3) и общих компетенций (ОК 1- 10).

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

знать/понимать:

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

З 2 базовые системные программные продукты и пакеты прикладных программ;

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

З.4 технологию поиска информации.

уметь:

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

Студент        должен        обладать        общими        компетенциями,

включающими в себя способность:

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

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

ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность.

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

ОК 5. Использовать информационно-коммуникационные технологии в профессиональной деятельности.

ОК 6. Работать в коллективе и в команде, эффективно общаться с коллегами, руководством, потребителями.

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

ОК 8. Самостоятельно определять задачи профессионального и личностного развития, заниматься самообразованием, осознанно планировать повышение квалификации.

ОК 9. Ориентироваться в условиях частой смены технологий в профессиональной деятельности.

 

Таблица №1

Распределение оценивания результатов обучения по видам контроля

Наименование элемента умений или знаний

Виды аттестаций

Текущий контроль

Промежуточная аттестация

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

Опрос

Практическая работа

Зачет

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

Опрос

Практическая работа

Зачет

З. 2 базовые системные программные продукты и пакеты прикладных программ;

Опрос

Практическая работа

Зачет

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

Опрос

Практическая работа

Зачет

З.4 технологию поиска информации.

Опрос

Практическая работа

Зачет


Таблица 2

Объекты оценивания

Показатели

Критерии

Тип задания;

№ задания

Форма аттестации

(в соответствии с учебным планом)

Уметь:

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

- Создание текстового документа.

- Форматирование шрифтов и абзацев.

- Создание и форматирование таблиц в текстовом редакторе.

- Работа с редактором формул MS Equation.

- Создание списков.

- Создание и работа с многостраничным документом.

- Работа с графическими примитивами.

- Создание презентаций с помощью программы PowerPoint.

- Создание  электронных документов.

- Организация вычислений и использование встроенных функций.

- Использование деловой графики для анализа числовой информации.

- Использование логических встроенных функций.

- Создание контактов, Встреч, работа с календарём, обмен сообщениями в программе MS Outlook.

- текстовые документы, электронные документы, презентации, графические объекты созданы и отформатированы в соответствии с заданием

- деловая графика для анализа числовой информации использована в полном объёме, в соответствии с задание

- вычисления в программе Excel произведены верно по формулам, в соответствии с заданием;

- задание выполнено верно  с использованием объектов MS Outlook

ТЗ и ПР

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

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

Зачёт

З 1 основные понятия автоматизированной обработки информации, общий состав и структуру электронно-вычислительных машин и вычислительных систем

-- отличительные характеристики автоматических и автоматизированных информационных систем.

- архитектура компьютера

- Состав системного блока

- Внешние устройства.

- Устройство и виды памяти.

- Единицы измерения памяти

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

- состав системного блока назван верно, в соответствии с задание;

- основные виды внешних устройств и памяти определены верно на примере;

- названы единицы измерения памяти

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

З. 2 базовые системные программные продукты и пакеты прикладных программ 

-классы программного обеспечения.

- определения и назначения операционной системы

- определения и назначения прикладных программ.

-  назначения пакета прикладных программ MS Office.

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

-определение и назначение операционной системы определены верно, приведены примеры;

- класс прикладных программ определён верно. Приведены  примеры.

- назначение и возможности пакета прикладных программ MS Office определены верно, в соответствии с заданием.

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

- технические и программные средства телекоммуникационных  технологий

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

З.4 технологию поиска информации

- поисковые системы, о работе с Интернет- объектами

- верно дано определение браузера;

- приёмы поиска информации в Интернете  перечислены верно

Общие компетенции:

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

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

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

Портфолио

Зачет

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

- самостоятельно организует собственную деятельность;

- выбирает методы и способы выполнения профессиональных задач;

- выполняет профессиональные задачи и оценивает их эффективность и качество

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

-оценивает эффективности и качества выполнения согласно заданной ситуации;

ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность.

-демонстрирует способность принимать решение стандартных и нестандартных ситуациях и нести за них ответственность;

- стандартные и нестандартные профессиональные задачи решены  в соответствии с заданной ситуацией;

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

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

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

ОК 5. Использовать информационно-коммуникационные технологии в профессиональной деятельности.

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

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

ОК 6. Работать в коллективе и в команде, эффективно общаться с коллегами, руководством, потребителями.

- демонстрирует способность  работать в коллективе и в команде;

- эффективно общается с коллегами, руководством, потребителями

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

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

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

-демонстрирует собственную деятельность в роли руководителя команды в соответствии с заданными условиями.

ОК 8. Самостоятельно определять задачи профессионального и личностного развития, заниматься самообразованием, осознанно планировать повышение квалификации.

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

- принял участие в подготовке профессионально значимом мероприятии

ОК 9. Ориентироваться в условиях частой смены технологий в профессиональной деятельности

- анализирует инновации в области профессиональной деятельности;

- осваивает программы, необходимые для профессиональной деятельности

- инновационные программы освоены и использованы в соответствии с заданием


2. Комплект контрольно-оценочных средств

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

Промежуточная аттестация.

Для проведения зачёта предусмотрено выполнение теоретических заданий в форме тестирования (с использованием программного комплекса АСТ-тест).

Раздел 1. Автоматизированные рабочие места для решения профессиональных задач. (Тема 1.1. Состав современных технических средств. Тема 1.2. Программное обеспечение) – 18 тестовых заданий закрытого типа, 1 тестовое задание открытого типа, 1 тестовое задание на установление правильной последовательности, 1 тестовое задание на установление соответствия;

Тема 2.1. Архитектура компьютеров

Процессор – 3 тестовых задания закрытого типа;

Память – 8 тестовых заданий закрытого типа;

Внешние устройства – 3 тестовых задания закрытого типа, 3 тестовых задания на установление соответствия

Тема 2.2. Программное обеспечение – 21 тестовое задание закрытого типа, 1 тестовое задание на установление соответствия;

Тема 3.1. Возможности программ по созданию и обработке текстовых документов – 13 тестовых заданий закрытого типа, 8 тестовых заданий на установление соответствия;

Тема 3.2. Создание презентаций с помощью программы PowerPoint – 14 тестовых заданий закрытого типа;

Тема 3.2. Возможности электронных таблиц – 20 тестовых заданий закрытого типа, 5 тестовых заданий открытого типа;

Тема 4.1. Виды компьютерной графики – 6 тестовых заданий закрытого типа, 1 тестовое задание открытого типа.

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

Процедура компьютерного тестирования

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

Каждый аттестуемый имеет право пройти тест только один раз. По истечении 30 минут компьютерная программа автоматически завершает процедуру тестирования и выдает на экран монитора итоговый результат. Аттестуемый может претендовать на оценку «отлично», если он выполнил более 85% предъявленных заданий (22-25 заданий - 44-50 баллов), 85 – 70% предъявленных заданий (18-21 задание - 36-43 балла) – на оценку « хорошо», 69 – 50 % (12-17 заданий - 24-35 баллов) - «удовлетворительно».

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

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

Генерация теста осуществлена следующим образом:

Раздел 1. Информация и информационные процессы – 4 задания;

Тема 2.1. Архитектура компьютеров3 задания;

Тема 2.2. Программное обеспечение – 4 задания;

Тема 3.1. Возможности программ по созданию и обработке текстовых документов – 4 задания;

Тема 3.2. Создание презентаций с помощью программы PowerPoint – 3 задания;

Тема 3.2. Возможности электронных таблиц – 5 заданий;

Тема 4.1. Виды компьютерной графики – 2 задания.

Практическая часть зачета

Проводится по теме 3.1. Возможности программ по созданию и обработке тестовых документов.

Практические задания представлены в 10 вариантах (Приложение 1).

Условия выполнения задания

1. Место выполнения задания – компьютерный зал;

2. Максимальное время выполнения задания: 1 час.

Критерии оценки:

Сохранение документа – 2 балла

Титульный лист:

Установлены поля документа 2 балла

Правильно подобран стиль 3 балла

Правильно подобран размер шрифта 3 балла

Правильно подобрано начертание шрифта 3 балла

Установлен разреженный интервал 2 балла

Установлено выравнивание текста относительно листа 3 балла

Установлена табуляция 4 балла

Общий вид документа соответствует образцу 3 балла

Установлен разрыв страницы 2 балла

Формула:

Формула набрана с помощью редактора формул 2 балла

Формула соответствует образцу 4 балла

Графический объект:

Правильно выбраны фигуры 3 балла

Правильно установлен тип линий 3 балла

Правильно установлена толщина линий 2 балла

Использована заливка в соответствии с образцом 3 балла

Добавлены надписи, установлены объем или тень 3 балла

Рисунок полностью соответствует образцу 3 балла

Оценка «удовлетворительно» выставляется, если выполнено 50-70% работы (25-35 баллов).

Оценка «хорошо» выставляется, если выполнено 71-90% работы (36-45 баллов)

Оценка «отлично» выставляется, если выполнено 91-100% работы (46-50 баллов).

Итоговая оценка:

Зачет выставляется, если суммарно студент набрал 50-100 баллов.

Оперативный контроль

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

Раздел 1. Автоматизированные рабочие места для решения профессиональных задач.

Тема 1.1. Состав современных технических средств. ПРИЛОЖЕНИЕ 2.

Урок №1. Установка, конфигурирование и модернизация аппаратного обеспечения АРМ специалиста. Вопросы для проведения фронтального устного опроса

Тема 1.2. Программное обеспечение. ПРИЛОЖЕНИЕ 2.

Урок №2. Базовое программное обеспечение. Современные операционные системы. Их возможности и отличия. Программное обеспечение прикладного характера (пакеты прикладных программ для решения профессиональных задач. Вопросы для проведения фронтального устного опроса. Проверка и оценка реферат - обзора на тему: «Многообразие внешних устройств, подключаемых к компьютеру». Проверка и оценка блок-схемы; «Состав программного обеспечения». Проверка и оценка сравнительной таблицы «Современные операционные системы»

Раздел 2. Программный сервис ПК

Тема 2.1. Файловая структура. Сервисные программы для работы с файлами. ПРИЛОЖЕНИЕ 2.

Урок №3. Организация хранения информации на внешних носителях. Вопросы для проведения фронтального устного опроса

Тема 2.2. Работа с накопителями информации. ПРИЛОЖЕНИЕ 2.

Урок №4. Накопители на жёстких дисках. Устройства оптического хранения. Обслуживание дисковых накопителей информации. Вопросы для проведения фронтального устного опроса. и по изучению проблемы «Компьютерные вирусы и антивирусные программы».

Тема 2.3. Ввод информации с внешних устройств. ПРИЛОЖЕНИЕ 2.

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

Тема 2.4. Компьютерные сети. ПРИЛОЖЕНИЕ 2.

Урок №6. Локальные и глобальные сети. Вопросы для проведения фронтального устного опроса

Урок №7. Выполнение подключения к глобальной сети Интернет. Поиск информации. Проверка и оценка практической работы.

Раздел 3. Операционная система Windows

Тема 3.1. Проводник. Окно. Работа с файлами и папками. ПРИЛОЖЕНИЕ 2.

Урок №8. Окно программы. Поиск информации. Создание папок и ярлыков. Запуск программ. Копирование, перемещение и удаление папок и документов. Вопросы для проведения фронтального устного опроса

Урок №9. Программа Проводник. Поиск необходимой информации. Операции с файлами и папками. Настройка свойств папки. Проверка и оценка практической работы.

Тема 3.2. Рабочий стол. ПРИЛОЖЕНИЕ 2.

Урок №10. Рабочий стол. Команда «Пуск». Панель задач. Вопросы для проведения фронтального устного опроса

Урок №11. Оформление Рабочего стола. Настройка Панели задач. Работа с командой Пуск. Проверка и оценка практической работы.

Раздел 4. Технологии обработки и преобразования информации

Тема 4.1. Профессиональное использование MS Office. MS Word.  ПРИЛОЖЕНИЕ 1.

Урок №12. Профессиональное использование Word, Excel, Access, PowerPoint, Outlook, Internet Explorer. Форматирование. Структура документа, таблицы, шаблоны, поля, списки. Вопросы для проведения фронтального устного опроса

Урок №13 Создание и форматирование документа в текстовом редакторе MS Word. Изменение структуры документа. Проверка и оценка практической работы.

Урок №14. Создание и форматирование таблиц в текстовом редакторе MS Word. Проверка и оценка практической работы.

Урок №15. Создание шаблонов для создания документов. Создание и форматирование списков. Проверка и оценка практической работы.

Урок №16. Использование графических возможностей текстового редактора MS Word при создании текстовых документов. Проверка и оценка практической работы.

Тема 4.2. MS Excel. ПРИЛОЖЕНИЕ 3.

Урок №17. База данных. Понятие. Структура. Анализ информации. Вопросы для проведения фронтального устного опроса и по изучению проблемы «Базы данных и программы управления ими».

Урок №18. Создание базы данных. Проверка и оценка практической работы.

Урок №19 Сортировка базы данных и её анализ с помощью автофильтра. Проверка и оценка практической работы.

Урок №20. Анализ базы данных с помощью расширенного фильтра. Проверка и оценка практической работы.

Урок №21 Использование вычисляемых условий для работы с расширенным фильтром. Проверка и оценка практической работы.

Тема 4.3. MS Access. ПРИЛОЖЕНИЕ 4.

Урок №22. Назначение программы и её возможности. Вопросы для проведения фронтального устного опроса.

Урок №23. Интерфейс программы. Объекты программы и режимы работы с ними. Вопросы для проведения фронтального устного опроса. Проверка и оценка справки на тему: «Режимы создания объектов в программе Access»

Урок №24 Создание структуры базы даны и связей между таблицами. Проверка и оценка практической работы.

Тема 4.4. MS PowerPoint. ПРИЛОЖЕНИЕ 5.

Урок №25. Назначение программы MS PowerPoint, ее возможности. Вопросы для проведения фронтального устного опроса.

Урок №26. Создание презентаций. Оформление слайдов и анимации. Проверка и оценка практической работы.

Тема 4.5. MS Outlook. E-mail – электронная почта. ПРИЛОЖЕНИЕ 2

Урок №27. Назначение программы, её возможности. Вопросы для проведения фронтального устного опроса. Проверка и оценка конспекта на тему: «Виды запросов в программе Access и способы их создания».

Урок №28. Папки программы MS Outlook. Создание Контактов, работа с календарём, отправка сообщений. Проверка и оценка практической работы.

Тема 4.6. Изучение и работа с пакетом прикладных программ по профилю специальности. ПРИЛОЖЕНИЕ 2

Урок №29. Возможности решения профессиональных задач с использованием пакета прикладных программ. Вопросы для проведения фронтального устного опроса.

Урок №30. Зачётное занятие. Тестирование. Проверка и оценка практической работы.

Зачёт


Таблица  3

Распределение типов контрольных заданий по элементам знаний и умений

Содержание

Тип контрольного задания

У 1

З 1

З 2

З.3

З.4

Тема 1.1

Состав современных технических средств

У

Тема 1.2

Программное обеспечение

Р

У

Тема 2.1

Файловая структура. Современные программы для работы с файлами.

У

Тема 2.2

Работа с накопителями информации

У, ИП

Тема 2.3

Ввод информации с внешних устройств

У

У

Тема 2.4

Компьютерные сети

П

У

У, Р

Тема 3.1

Проводник. Окно. Работа с файлами и папками.

П

У

Тема 3.2

Рабочий стол

 П

У

Тема 4.1

Профессиональное использование MS Office, MS Word

П

У

У

Тема 4.2

MS Excel

П

У, ИП

Тема 4.3

MS Access.

П

У, С

Тема 4.4

MS PowerPoint.

П

У

Тема 4.5. MS

Outlook. E-mail - Электронная почта

П

У

У

Тема 4.6

Изучение и работа с пакетом прикладных программ по профилю специальности

П

У

У – устный ответ

Т – тестирование

ИП – изучение проблемы

П – практическое

Р – реферат

С - справка


По теме: методические разработки, презентации и конспекты

Классификация компьютеров

Тема: «Классификация компьютеров по функциональным возможностям»Раздел программы: Аппаратное обеспечение информационных технологийТип занятия: изучение нового материалаЦели:1.    ...

« Классификация веществ по составу на простые и сложные. Классификация простых веществ на металлы и неметаллы. Кислород и водород – представители неметаллов, их характеристика как химических элементов и простых веществ».

Модульный урок по химии в 8 классе по теме « Классификация веществ по составу на простые и сложные.Классификация простых веществ на металлы и неметаллы. Кислород и водород – представители неметал...

Элективный курс "Технический английский". Методические и дидактические материалы урока "Классификация компьютеров" (10 класс).

Элективный курс "Технический английский" разработан автором на базе предмета "Основы технического перевода", который автор вёл на протяжении многих лет в 9, 10 и 11 классах. Этот курс имеет метапредме...

Классификация компьютеров. История развития компьютерной техники.

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

Классификация современных компьютеров

Презентация "Классификация современных компьютеров" выполнена в MS PowerPoint 2003 и позволяет систематизировать знания об использующихся в настоящее время терминах для обозначения разновидностей совр...

Классификация программного обеспечения. Роль ПО в организации работы компьютера.

Цель: Объяснить, что такое программное обеспечение и зачем оно существует. Научить различать системное, прикладное ПО....

Классификация устройств компьютера

Презентация на тему:"Классификация устройств компьютера" прекрасно подходит для урока в 8 классе...