
информатика_книги / Информатика. Теория и практика_Острейковский В.А, Полякова И.В_2008 -608с
.pdfMicrosoft разработано несколько его версий для операционных систем MS DOS и Windows. Наиболее удачной версией языка Кобол на сегодняшний день является Кобол/U, в который встроены средства генерации отчетов с использованием языка РПГ.
Фирмой IBM в развитие идей языков Фортран, Алгол и Кобол был предложен язык PL/1, получивший особенно широкое применение на больших машинах. PL/1 разрабатывался как универсальный язык программирования, поэтому располагает богатым набором средств обработки цифровой и текстовой информации. Однако эти достоинства делают его весьма сложным для изучения и использования.
Класс проблемно-ориентированных языков программирования представлен гораздо скромнее, чем класс универсальных языков, к которым можно отнести языки Лого, РПГ и систему программирования ОРSS.
ßçûê Ëîãî создан с целью обучения школьников основам алгоритмического мышления и программирования. Это диалоговый процедурный язык, реализованный на основе интерпретатора с возможностью работы со списками и на их основе с текстами и оснащенный развитыми графическими средствами, доступными для детского восприятия. Лого реализован для большинства ПЭВМ, применяемых в школах. Хотя он был разработан задолго до того, как началось массовое использование ПК, именно с их появлением Лого приобрел популярность.
ßçûê ÐÏÃ, или генератор отчетов, включает многие понятия и выражения, связанные с машинными методами составления отчетов и проектирования форм выходных документов. Он имеет ограниченную область применения и используется главным образом для печати отчетов, записанных в одном или нескольких файлах базы данных. Многие системы, реализованные на ПЭВМ типа IBM PC и располагающие языком РПГ, имеют также и другой язык высокого уровня (прежде всего Кобол), применимый для таких вычислительных процедур, для которых РПГ не подходит.
Интересные возможности предоставляет система программирования GPSS фирмы Westi, ориентированная на моделирование систем с помощью событий. В терминах этого языка
581
легко описываются и исследуются класс моделей массового обслуживания и другие системы, работающие в реальном масштабе времени.
В последние годы внимание разработчиков программного обеспечения все более привлекает объектно-ориентированный подход к программированию, идеология которого наиболее полно реализована в языках Форт и Смолток.
Ôîðò своеобразный язык: он сочетает в себе свойства операционной системы, интерпретатора и компилятора одновременно. Основной его чертой является открытость, которая позволяет строить новые определения функций на базе ранее определенных. Программист может легко добавить новые операции, типы данных или определения основного языка. Форт позволяет поддерживать многозадачный режим работы, широко используя принцип реентерабельности (одновременного доступа) программ. Структура этого языка позволяет создавать очень компактные трансляторы. Программирование на языке Форт требует специальных навыков, поэтому он находит применение при решении сложных задач имитационного моделирования, в графических системах, в системах искусственного интеллекта как средство построения баз знаний, в промышленных разработках.
Объектно-ориентированный язык Смолток предназначен для решения нечисловых задач и находит широкое применение при проектировании систем искусственного интеллекта. Программа на этом языке состоит из множества функциональных автономных объектов и средств взаимодействия между ними. Каждый объект содержит некоторую структуру данных и процедуры манипулирования ими. Внешние свойства объекта проявляются в функциях, которые объект выполняет для других объектов. В современных реализациях языка Смолток широко используется многооконный режим.
К функциональным языкам программирования можно отнести языки Лисп, Пролог и Снобол.
ßçûê Ëèñï — прекрасное инструментальное средство для построения программ с использованием методов искусственного интеллекта. Имеется несколько реализаций Лисп-транс- ляторов для ПЭВМ различных классов. Особенность этого языка заключается в удобстве динамического создания новых
582
объектов. В качестве порождаемых программой объектов могут фигурировать и сами программы, которые внешне ничем не отличаются от данных. Это обусловливает возможность построения адаптирующихся и самоизменяющихся программ. Память
âязыке Лисп используется динамически: когда создается новый объект, то для него из незанятой памяти берется столько ячеек, сколько нужно для хранения всех элементов. При этом не требуется никакого заблаговременного резервирования памяти, как
âдругих языках (например, в языке Паскаль). При уничтожении объекта занятая им память автоматически освобождается.
ßçûê Пролог получил широкую известность в связи с японским проектом создания вычислительных систем пятого поколения. Одной из первых реализаций был интерпретатор микроПролог фирмы Programming Logic Associates для машин фирмы IBM. Затем появилась мощная система программирования Турбо Пролог, разработанная фирмой Borland International для этих же машин и предназначенная для создания широкого класса систем искусственного интеллекта, в том числе персональных экспертных систем. От стандартного языка Пролог версия Турбо Пролог отличается прежде всего наличием встроенных средств типизации данных и большей структурированностью исходных текстов программ.
ßçûê Снобол располагает мощными средствами манипулирования строками и сравнения с образцом. В основном он используется для обработки текстов на естественном языке и применяется в экспертных системах. Известны некоторые версии языка Снобол, реализованные для ПК, но его применение ограничено сферой искусственного интеллекта.
Нетрудно заметить, что такого алгоритмического языка высокого уровня, который был бы идеальным для всех случаев, не существует. Наиболее важная задача программного обеспече- ния заключается в том, чтобы определить, какой язык является наилучшим в каждой конкретной ситуации. Нередко такой выбор диктуется очень простыми причинами — доступностью того или иного транслятора и умением составлять программы на данном языке. Однако если в распоряжении пользователя имеется достаточно большой выбор языков программирования, то необходимо учитывать следующие обстоятельства:
583
—назначение разрабатываемой программы (будет ли она использоваться временно или постоянно, будет ли модернизироваться и развиваться);
—время выполнения программы (имеется в виду соотношение вычислительных процедур и процедур ввода-вывода);
—ожидаемый размер программы (хватит ли памяти для реализации всей программы целиком или ее следует разделить на отдельные взаимодействующие модули);
—необходимость сопряжения разрабатываемой программы с другими пакетами или программами, в том числе составленными на других языках программирования;
—предусматривается ли возможность переноса программы на другие типы ЭВМ;
—основные типы данных, с которыми будет работать программа (целые и вещественные числа, строки, списки и другие типы структур);
—характер и уровень использования аппаратных средств (дисплея, клавиатуры, НМД и др.);
—возможность и целесообразность использования имеющихся стандартных библиотек программ, процедур, функций.
С учетом этих критериев возможности языков программирования могут весьма сильно различаться. Поэтому правильный выбор АЯВУ является непростой задачей. Для программиста или даже коллектива программистов характерно начи- нать использование ПЭВМ с языков Бейсик или Паскаль. На языке Бейсик (и его разновидностях) разработано довольно много хороших прикладных систем. Наличие компиляторов для языка Бейсик сделало его еще более привлекательным, так как позволяет быстро переходить от экспериментальной, интерпретируемой версии программы к окончательной. В последнее время появились разработки программ на этом языке для систем искусственного интеллекта и экспертных систем.
Создание информационных и вычислительных сетей и распределенных баз данных вызвало необходимость в специализированных языках программирования, обслуживающих эти области использования ЭВМ. Потребовались специальные средства организации человеко-машинного взаимодействия, диалога человека с ЭВМ (QBE, SQL).
584

* * *
Завершает изучение курса практическая работа по поиску информации в сети Internet.
ПРАКТИЧЕСКАЯ РАБОТА
«ПОИСК ИНФОРМАЦИИ В СЕТИ INTERNET»
Цель работы: научиться осуществлять поиск информации в сети Internet с помощью поисковых систем.
Задание 1: поиск информации с использованием поисковой системы Yandex.
Методика выполнения задания: 1. Запустите Internet Explorer.
2. В адресную строку (рис. 7.36) введите адрес поисковой системы: www.yandex.ru
|
, |
Ðèñ. 7.36. Поиск информации в Internet
3. Если такой строки у вас нет, зайдите в меню Вид Панели инструментов и поставьте галочку напротив слов Адресная строка.
4.После того как загрузится стартовая страница, в строку поиска введите с клавиатуры: «система счисления». Щелкните на кнопке Найти.
5.Под строкой поиска вы увидите, сколько всего страниц найдено. Запишите их количество в тетрадь. В одном окне поисковая система отображает список из 10 ссылок.
6.На рис. 7.37 показано, как выглядит список найденных страниц. В списке указаны заголовок найденной страницы, ад-
585

Ðèñ. 7.37. Окно поисковой системы Yandex
рес и строˆки из этой страницы, где встречаются слова, которые вы ввели в строку поиска.
7.Чтобы открыть нужную вам страницу и прочитать ее содержимое подробнее, щелкните на ссылке, и эта страница откроется в отдельном окне Internet Explorer.
8.Проведите расширенный поиск. Найдите примеры перевода из одной системы счисления в другую. Для этого задайте новый поиск среди найденных страниц (поставьте галочку
âïîëå В найденном, в строку поиска введите слова: «примеры перевода», щелкните на кнопке Найти). Обратите внимание: количество найденных страниц изменилось.
9.Для перехода к списку из следующих 10 страниц щелкните на нужной кнопке: 2, или 3, или 4 и т. д. либо на слове Следующая.
10.Выберите подходящую страницу, скопируйте ее содержание в буфер обмена и вставьте в документ Microsoft Word.
Задание 2: поиск информации с использованием поисковой системы Google.
Методика выполнения задания:
1.Запустите Internet Explorer.
2.В адресную строку введите адрес поисковой системы: www.google.ru
3.В поле для ввода ключевых слов введите с клавиатуры: «система счисления». Щелкните на кнопке Поиск в Google.
4.Запишите в тетрадь количество найденных страниц.
5.Проведите расширенный поиск. Найдите примеры перевода из одной системы счисления в другую. Для этого задайте новый поиск среди найденных страниц (перейдите по ссылке Поиск в найденном, которая находится в конце страницы; в строку поиска введите с клавиатуры: «примеры перевода»; щелкните на кнопке Поиск в найденном).
6.Выберите подходящую страницу, скопируйте ее содержание в буфер обмена и вставьте в документ Microsoft Word.
Задание 3: сравнение результаты работы поисковых систем. Сравните результаты работы двух поисковых систем по ко-
личеству найденных страниц и их соответствию запросу.
587
УПРАЖНЕНИЯ
Разработать алгоритм и составить программу на алгоритми- ческом языке Паскаль.
1. В интервале от a äî b найти все парные простые числа. Парными простыми числами называют два простых числа, разность между которыми равна двум, например: 3 и 5, 11 и 13, 1% и 19.
2.Найдите все трехзначные числа, сумма цифр которых равна заданному числу ï.
3.Число Армстронга — это такое число из k цифр, для которого сумма k-х степеней его цифр равна самому числу, напри-
ìåð: 153 = 13+ 53+ 33. Найти все числа Армстронга из двух, трех
èчетырех цифр.
4.Палиндром — это такое сочетание цифр, которые читаются одинаково слева направо и справа налево, например: 121, 55, 4884.
5.Найти все палиндромы, для которых их квадраты также палиндромы (в заданном интервале от a äî b).
6.Счастливым будем считать такое число из шести цифр,
âкотором сумма левых трех цифр равна сумме правых трех цифр, например: 45%961; 4 + 5 + % = 9 + 6 + 1 = 16.
Найти все счастливые билеты и подсчитать их количество (номера билетов — от 0 до 999 999). Если в числе меньше шести цифр, то недостающие начальные цифры считаются нулями.
%. Дано натуральное число ï. Среди чисел 1, ..., ï найти все такие, запись которых совпадает с последними цифрами запи-
си их квадрата, например: 62 = 36,252 = 625.
8.Найти наименьшее общее кратное двух заданных чисел.
9.Дано натуральное число ï. Получить все пифагоровы тройки натуральных чисел, каждое из которых не превосходит ï,
ò.е. все такие тройки натуральных чисел à, b, ñ, ÷òî à2 + b2 + ñ2
(a b c n).
10.Найти все совершенные числа в интервале от à äî b. Совершенным называется такое натуральное число, которое равно сумме всех своих делителей, за исключением самого числа, например: 28 = 1 + 2 + 4 + % + 14.
588
КОНТРОЛЬНЫЕ ВОПРОСЫ К РАЗДЕЛУ 7
1.Что называется алгоритмическим языком или языком программирования?
2.Раскройте понятие «машинный язык».
3.Дайте определения понятий «алфавит языка», «лексика», «синтаксис языка».
4.Какие лексические структуры языка Паскаль вы знаете?
5.Что такое «типы данных»?
6.Перечислите операторы языка Паскаль.
7.Сформулируйте понятия «процедуры», «функции» и «рекурсии» языка Паскаль.
8.Для чего в языке Паскаль используются массивы, запись и файлы?
9.Как вы понимаете термин «машинная графика»?
10.С помощью каких прикладных программ реализуется машинная
графика?
11.Назовите простейшие объекты векторной графики. Какими свойствами они обладают?
12.В результате каких операций можно получить сложный объект?
13.Какие операции можно провести над группой объектов?
14.С помощью каких операций можно модифицировать (изменить) форму простейших объектов?
15.В чем принципиальное отличие простого и художественного текстов? Кратко охарактеризуйте типы текста.
16.В чем заключается смысл динамической связи объектов текста?
17.Какие типы CorelDRAW вы знаете? Назовите параметры и эффекты, создаваемые с их помощью.
18.Как можно осуществить просмотр и выбор цвета в CorelDRAW?
19.Назовите основные средства преобразования и управления позиционированием объектов.
20.С помощью каких средств можно определить положение и изменить размер объектов на странице?
21.Для каких целей предназначен пакет прикладных программ MathCad?
22.Что такое численные методы?
23.В чем состоят особенности пакетного режима обработки данных?
24.Расскажите о принципах организации диалогового общения человека и ЭВМ.
25.Каким требованиям должны отвечать диалоговые системы обработки данных?
26.Назовите этапы создания диалоговых систем.
27.Проведите анализ различных типов машинного диалога.
28.Какие типы машинной реализации диалога вы знаете?
58'
29.В чем состоят особенности диалоговой технологии решения задач на ПЭВМ?
30.Какими способами и методами обеспечивается в диалоге сохранность информации?
31.Приведите пример диалогового решения задачи на ПЭВМ.
32.Каковы критерии оценки диалоговых систем?
33.Из каких этапов состоит жизненный цикл программного обеспе- чения?
34.Что такое языки Ассемблера?
35.Каковы особенности алгоритмических языков высокого уровня?
36.Перечислите известные вам процедурно-ориентированные и про- блемно-ориентированные языки программирования.
37.Как вы понимаете термин «функциональные языки программирования»?
38.Расскажите о роли информатики в информатизации общества.
5'