Реферат: Программирование и достижения компьютерной техники
Идея переложить на ЭВМ функции составителей алгоритмов и программистов дала новые возможности развитию сферы искусственного интеллекта, которая должна была создавать методы автоматического решения интеллектуальных задач. Формализация знаний, которые есть у профессионалов в разных областях, накопление их в базах знаний, реализованных на ЭВМ, стали основанием для создания экспертных систем. На основе баз знаний работают и ЭВМ V поколения, и интеллектуальные роботы, и экспертные системы. Эти системы могут не только найти решение той или иной задачи, но и объяснить, как оно получено. Появилась возможность манипулировать знаниями, иметь знания о знаниях — метазнания. Знания, хра-няшиеся в системе, стали объектом ее собственных исследований.
Независимость языков высокого уровня от ЭВМ вовлекла в сферу алгоритмизации задач специалистов различных отраслей знаний, позволила использовать многочисленные стандартные типовые программы, а программистам — устранять дублирование в написании программ для различных типов ЭВМ и значительно повысить производительность труда.
В конце 1980-х гг. в Японии и США появились проекты ЭВМ V поколения, реализованные в конце 1990-х гг. Прогресс в программировании связан с прогрессом в архитектуре вычислительных систем, отходом от фон-неймановской концепции, с достижениями в области искусственного интеллекта. Революционные изменения в элементной базе ЭВМ связываются с исследованиями по биоэлектронике.
На современном этапе программирование включает комплекс вопросов, связанных с написанием спецификаций (условий задач), проектированием, кодированием, тестированием и функционированием программ для ЭВМ. Современное ПО для ЭВМ имеет сложную структуру и включает, как правило, ОС, трансляторы с различных языков, текстовые программы контроля и диагностики, набор обслуживающих программ. Например, японские ученые для проектирования систем ПО разрабатывают идею «кольцевой структуры» шести уровней: 1-й (внутренний) — программы для аппаратуры; 2-й — ядро ОС; 3-й — программы сопряжения; 4-й — часть ОС, ориентированная на пользователя; 5-й — системы программирования; 6-й (внешний) — программы пользователя.
Согласно этим проектам научных исследований планируется упростить процесс создания программных средств путем автоматизации синтеза по спецификациям исходных требований на естественных языках. В последнее время в Японии удалось создать робота-переводчика, переводящего английскую речь на японский язык и наоборот, осуществляя это голосом человека. Во всех развитых странах работают над комплексами программ для создания роботов. Для многих сфер человеческой деятельности.
Широкое применение структурных и объектно-ориентированных методов программирования с использованием графических моделей объединялось отсутствием инструментальных средств. Это породило потребность в программно-технологических средствах специального класса — CASE (ComputerAidedSoftwareEngineering), реализующих технологию создания и сопровождения ПО различных систем. Предпосылки для появления CASE-технологий возникли к концу 1980-х гг. Первоначально термин «CASE» применялся только к вопросам автоматизации разработки ПО, теперь программная инженерия имеет более широкое значение для разработки систем в целом. В CASE-технологии входит разработка и внедрение языков высокого уровня, методов структурного и модульного программирования, языков проектирования и средств их поддержки, формальных и неформальных языков описания системных требований.
В начале XXв. с созданием пишущей механической машинки появилась возможность общедоступного создания печатного текста, хотя внесение изменений в такой текст (исправление ошибок) было достаточно трудоемкой работой. Затем появились электрические пишущие машинки. С появлением персональных компьютеров подготовка печатного текста стала гораздо совершеннее. В последние два десятилетия прошлого века уже разрабатывается множество комплексов программ для обработки текстов, которые сначала получили название текстовых редакторов, а по мере расширения их функциональных возможностей — текстовых процессоров.
В начале этого столетия текстовые процессоры стали более совершенными. Наряду с более простыми (например ProfessionalWrite и др.) появились такие мощные, как MSWinWord (см. рис. 21), WordPerfectWordStar 2000 и др. Из отечественных широкое распространение получил текстовый процессор Лексикон.
С начала 1980-х гг. для подготовки и обработки числовой информации стали использоваться табличные процессоры. В 1979 г. Д. Брикклин предложил первую программу для работы с электронными таблицами VisiCalc. В 1981 г. была разработана система SuperCalc фирмы «ComputerAssociates», в 1982 г. — Multiplan фирмы «Microsoft», далее — пакет для IBMPCLotusl-2-3 фирмы «LotusDevelopment», русифицированные пакеты АБАК, ДРАКОН и др. В 1985 г. появился табличный процессор Excel фирмы «Microsoft» первоначально для персонального компьютера Macintosh, а затем для совместимых с IBMPC. Этот процессор разрабатывался паралг лельно с ОС Windows, его версии вобрали в себя все черты графического интерфейса, вплоть до версий Excel 5.0 как приложения Windows 3.1, Excel 7.0 как приложения Windows 95 и т. д. В последние годы создано достаточно много систем подготовки табличных документов, т. е. электронных таблиц, табличных процессоров (например, CorelQuattro 6.0 фирмы «CorelCo», Lotus 5.0 фирмы «LotusDevelopmentCo», OfficeProftessionalforWindows фирмы «Microsoft» и ДР-)- Но наиболее широко используют электронные таблицы Excel.
Разработано большое количество стандартных реляционных систем управления базами данных — СУБД (например, MSAccess, paradox и др.), на основе которых строят реляционные базы данных в различных предметных областях.
Для многих организаций (особенно управленческих) разработаны так называемые офисные пакеты, в которых на основе единой ОС функционируют приложения, включающие в себя системы для работы с различными видами информации. Например, созданы пакеты приложений к ОС Windows (MSOffice, WordPerfectOffice фирмы «Corel», StarOffice фирмы «SunMicrosystems» и др.), которые включают программные средства для выполнения функций обработки всех видов инфрмации. Например, MSOffice включает совершенствующиеся год от года (в зависимости от последней версии ОС Windows) средства обработки текста (MSWord), графики (PhotoDraw) и презентаций (PowerPoint), таблиц (Excel), баз данных (Access), электронной почты (Outlook), работы во Всемирной паутине (FrontPage), создания звуковых клипов (MSSoundRecorder).
Мощным толчком в развитии новых направлений в программировании послужило объединение компьютерных и телекоммуникационных технологий.
За рубежом в 1960-х гг. появились первые вычислительные сети, с которых началась техническая и технологическая революция, т. к. была предпринята попытка объединить технологию сбора, хранения, передачи и обработки информации на ЭВМ с техникой связи. В Европе в те годы были созданы международные сети EIN и Евро-нет, затем появились национальные сети. В 1972 г. в Вене была создана сеть МИПСА, к которой присоединились в 1979 г. 17 стран Европы, СССР, США, Канада и Япония. В 1980-х гг. в нашей стране была создана система телеобработки статистической информации, обслуживающая государственные и республиканские органы статистики. С 1980-х гг. развивается программирование для локальных вычислительных сетей (ЛВС).
ЛВС — это коммуникационная система, которая поддерживает в пределах одного здания или некоторой ограниченной территории один или несколько высокоскоростных каналов передачи информации, предоставляемых абонентским системам для кратковременного пользования. К 1990 г. эксплуатировалось свыше 0,5 млн серверов и 5 млн рабочих станций, работающих под управлением сетевых ОС (например NetWare компании «Novell»).
Глобальные вычислительные сети — это сети, использующие информационные ресурсы ЛВС, расположенных на большом расстоянии друг от друга (передача осуществляется с помощью телефонной сети через модемы или по выделенным каналам). Наиболее популярной является сеть Интернет, представляющая собой общемировую совкупность сетей, связывающая между собой миллионы компьютеров.
Сети позволили эффективно использовать аппаратные средства, программные средства и такие многопользовательские системы, как электронная почта, информационные системы на основе баз данных, телеконференции и др. Особой популярностью пользуется система WWW (WorldWideWeb) — Всемирная паутина, т. е. всемирная распределенная база гипертекстовых документов. Пользователи, используя для программирования язык гипертекстовой разметки HTML, создают свои сайты любой тематики и легко могут получать многообразную информацию, общаться с миллионами пользователей компьютеров. В будущем планируется массовое использование так называемых информационных роботов (Knowbot) — новых систем поиска и обработки информации в сети, в основе которых имеются уже элементы экспертных систем, позволяющих анализировать искомую информацию и готовить ее для выдачи в форме презентаций.
С Интернетом тесно связаны понятия «киберпространство» и «виртуальная реальность». Киберпростраиством называют совокупность всех систем компьютерных коммуникаций и потоков информации, циркулирующих в мировых сетях. Виртуальная реальность — фантастический мир, создаваемый на экране компьютера, образы реального мира и процессов, в нем происходящих. С этими объектами и процессами можно работать как с реальными, проводить различные исследования, имитировать всевозможные ситуации, создавать прекрасные тренажеры для применения полученных навыков в реальности. Поле деятельности для программистов огромное, поэтому общество заинтересовано в высококвалифицированных специалистах этого профиля.
Что могут ЭВМ
Главная способность ЭВМ — способность к имитации объектов, явлений, механизмов, даже таких, которые не существуют в природе. Эта способность в сочетании с быстродействием — до миллиардов операций в секунду — основа эффективности ЭВМ.
Жизненные задачи обычно не являются четко сформулированными. Поэтому, прежде чем обратиться к ЭВМ для решения задачи, задачу нужно четко сформулировать. Четкая формулировка задачи всегда основана на некоторых упрощающих предположениях, которые позволяют построить модель задачи, т. е. определить, что будет служить исходными данными, а что — результатом, и какова связь между исходными данными и результатом.
Для одной и той же задачи могут быть созданы разные модели, в зависимости от того, какие средства используются для ее создания, и какие предположения положены в ее основу.
Выбор исходных данных, описание результатов и соотношений в модели задачи зависят также от возможностей того, кто будет ее решать. Если задачу будет решать ЭВМ, «умеющая», например, только вычислять, то исходные данные и результаты должны быть представлены числами, а связи между ними — математическими соотношениями. Иначе говоря, нужно построить математическую модель задачи. Это означает — выделить предположения, на которых будет основана математическая модель; определить, что считать исходными данными и результатами; записать математические соотношения (формулы, уравнения, неравенства и так далее), связывающие результаты с исходными данными.
Если задача заменена ее моделью, то и ответ относится к модели и лишь опосредованно — к исходной задаче.
Созданием математической модели завершается первый этап решения задачи с помощью компьютера. Второй этап — составление алгоритма (четкой инструкции, строго указывающей необходимую последовательность действий).
ЭВМ могут выполнять алгоритмы без участия человека, автоматически. Но для этого нужно составить программу, т. е. записать алгоритм на одном из языков программирования.
Модель всегда основана на тех или иных упрощениях. Поэтому, проведя вычисления на ЭВМ, необходимо сопоставить результаты с экспериментальными фактами, теоретическими воззрениями и Другой информацией об изучаемом объекте. При этом может возникнуть необходимость уточнить математическую модель, полнее учитывая особенности изучаемого объекта. Уточнив модель, снова составляют алгоритм, проводят расчеты на ЭВМ и анализируют результаты, и так до тех пор, пока анализ результатов не покажет их приемлемое соответствие знаниям об изучаемом объекте. Проведение расчетов на ЭВМ и анализ результатов называется вычислительным экспериментом. Таким образом, в третий этап решения задачи с помощью компьютера помимо написания программы, входит вычислительный эксперимент.
Перевод задач на язык математики позволяет подключить для их решения мощные математические методы. Так, очень часто возникает задача изучения некоторой функции. Один из методов изучения функции с помощью ЭВМ — разбиение ее области определения на маленькие промежутки. При этом предполагают, что на ка