Лицензионные, условно бесплатные и бесплатные программы,
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

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

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

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

4. Новые недоработанные (бета) версии программных про­дуктов (это позволяет провести их широкое тестирова­ние);

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

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

7. Устаревшие версии программ;

8. Драйверы к новым устройствам или улучшенные драйве­ры к уже существующим.

4.9.2.Правовая охрана информации.

Правовая ох­рана программ и баз данных впервые в полном объ­еме введена в Российской Федерации Законом РФ «О право вой охране программ для электронных вычислительных машин и баз данных», который вступил в силу в 1992 году.

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

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

Буква С в окружности или круглых скобках - ©;

Наименование (имя) правообладателя;

Год первого выпуска программы в свет.

Пример: Знак охраны авторских прав на текстовый ре­дактор Word выглядит следующим образом: © Корпорация Microsoft , 1993-1997.

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

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

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

4.9.3.Электронная подпись.

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

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

4.9.4.Защита информации.

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

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

Защита пользовательских настроек имеется в операци­онной системе Windows (при загрузке системы пользователь должен ввести свой пароль), однако такая защита легко преодолима, так как пользователь может отказаться от введения пароля. Вход по паролю может быть установлен в программе BIOS Setup. Преодолеть такую защиту уже сложнее, более того, возникнут проблемы доступа к данным, если пользователь забудет пароль.

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

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

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

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

Для обеспечения большей надежности хранения данных на жестких дисках используются RAID-массивы (Redantant Arrays of Independent Disks — избыточный массив независи­ мых дисков). Несколько жестких дисков подключаются к специальному RAID -контроллеру, который рассматривает их как единый логический носитель информации. При записи информации она дублируется и сохраняется на нескольких дисках одновременно, поэтому при выходе из строя одного из дисков данные не теряются.

Защита информации в Internet . Если сервер имеет соединение с Internet и одновременно служит сер­вером локальной сети (Intranet-server), то возможно не­санкционированное проникновение из Internet в эту локаль­ную сеть. Механизмы такого проникновения сеть могут быть различными. Для того чтобы этого не происходило, устанавливается программный или аппаратный барьер между Internet и Intranet с помощью брандмауэра (или firewall — межсетевой экран), который отслеживает передачу данных между се­тями, осуществляет контроль текущих соединений, выявля­ет подозрительные действия и тем самым предотвращает не­санкционированный доступ в локальную вычислительную сеть.

4.10.Тренировочные тестовые задания по разделу 4.

(правильные ответы см. в конце пособия).

Компьютер — это (наиболее полное определение):

Устройство для работы с текстами;

Электронное вычислительное устройство для об­работки чисел;

Устройство для хранения информации любого вида;

Программируемое электронное устройство для работы с данными;

Устройство для обработки аналоговых сигналов.

 

Скорость работы процессора зависит от:

Тактовой частоты;

Объёма оперативной памяти;

Организации интерфейса операционной системы;

Объема внешнего запоминающего устройства;

Объема обрабатываемой информации.

 

Укажите наиболее полный перечень основных устройств персонального компьютера:

Микропроцессор, сопроцессор, монитор;

Центральный процессор, оперативная память, устройства ввода/вывода;

Монитор, винчестер, принтер;

АЛУ, УУ, сопроцессор;

Сканер, мышь, монитор, принтер.

 

Магистрально-модульный принцип архитектуры ПК подразу­мевает организацию аппарат­ных средств, при которой:

Каждое устройство связывается с другими на­прямую;

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

Все устройства связываются друг с другом че­рез системную магистраль;

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

Связь устройств осуществляется через центральный процессор.

 

В состав процессора входят устройства:

Оперативное запоминающее устройство, регистры;

Арифметико-логическое устройство, устройство управления;

Кэш-память, видеопамять;

BIOS, генератор тактовой частоты;

Сопроцессор, видеоадаптер.

 

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

Программ тестирования и диагностики узлов ПК;

Прикладных программ;

Системных программ;

Постоянно используемых программ пользователя;

Драйверов и утилит.

 

 Во время выполнения прикладная программа находится:

В видеопамяти;

В процессоре;

В оперативной памяти;

На жестком диске;

В ПЗУ.

 

Персональный компьютер не будет функциониро­вать, если отключить:

Дисковод гибких дисков;

Оперативную память;

Мышь;

Принтер;

CD ROM.

 

Для долговременного хранения информации слу­жит:

Оперативная память;

Процессор;

Винчестер;

Дисковод гибких дисков;

Блок питания.

 

Файловая система, используемая в современных ПК, имеет название:

NTFS;

MIPS;

CMOS;

BIOS;

MFLOPS.

 

При отключении компьютера информация:

Исчезает из оперативной памяти;

Исчезает из постоянного запоминающего устрой­ства;

Стирается на жестком диске;

Стирается на гибком диске;

Стирается на компакт-диске.

 

Дисковод — это устройство для:

Обработки команд исполняемой программы;

Чтения данных с внешнего носителя;

Хранения команд исполняемой программы;

Долговременного хранения информации;

Вывода информации на экран монитора.

 

Устройство предназначено для ввода информации:

Процессор;

Принтер;

ПЗУ;

Клавиатура;

Монитор.

 

Манипулятор — это устройство:

Модуляции и демодуляции;

Считывания информации;

Хранения информации;

Ввода информации;

Для подключения принтера.

 

Для подключения компьютера к телефонной линии используется:

Модем;

Факс;

Сканер;

Принтер;

Монитор.

 

 Принцип программного управления работой компь­ютера предполагает:

Двоичное кодирование данных;

Моделирование информационных процессов при управлении компьютером;

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

Возможность выполнения без внешнего вмеша­тельства серии команд;

Использование формул для реализации команд программы.

 

Файл — это:

Именованный блок данных, храня­щийся во внешней памяти;

Объект, характеризующийся типом и размером;

Совокупность индексированных переменных;

Совокупность фактов и правил;

Закодированная информация.

 

Расширение имени файла, как правило, характе­ризует:

Время создания файла;

Объем файла;

Место файла на диске;

Тип содержащейся в нём информации;

Скорость его записи на диск.

 

Текстовый редактор – это програм­мный продукт, входящий в состав:

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

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

Прикладного программного обеспечения;

Сервисного программного обеспечения;

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

 

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

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

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

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

Программ технического обслуживания;

Прикладного программного обеспечения.

 

 

Операционная система представляет собой про­граммный продукт, входящий в состав:

Прикладного программного обеспечения;

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

Программ обслуживания магнитных дисков;

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

Сервисного программного обеспечения.

 

Операционная система — это:

Совокупность основных устройств компьютера;

Система программирования на языке низкого уровня;

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

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

Программа технического обслуживания.

 

В файле command.com находятся:

Внутренние команды MS DOS;

Команды загрузки MS DOS;

Внешние команды MS DOS;

Драйверы;

Трансляторы.

 

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

Загрузчиками;

Драйверами;

Трансляторами;

Интерпретаторами;

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

 

Программы, записанные в ПЗУ, входят в состав:

Загрузчика ОС;

Файла IO . SYS;

Файла MSDOS . SYS;

BIOS;

Файла COMMAND . COM.

 

Внешние команды MS DOS находятся:

В файле COMMAND . COM;

В файле IO . SYS;

В файле MSDOS . SYS;

В ПЗУ;

В виде отдельных файлов на диске.

 

В записи C:\DOC\SYS указан путь к:

Подкаталогу SYS корневого каталога;

Файлам с расширениями SYS каталога DOC;

Подкаталогу SYS каталога DOC;

Подкаталогу DOC корневого каталога;

Файлу SYS подкаталога DOC корневого каталога.

Файл командного процессора MS DOS имеет тип (расширение):

doc;

com;

sys;

ехе;

bat.

 

Какой из файлов загружается раньше всех при за­грузке MS DOS?

CONFIG.SYS;

AUTOEXEC.BAT;

COMMAND.COM;

IO.SYS;

MSDOS.SYS.

 

Norton Commander представляет собой:

Операционную систему;

Программную оболочку MS DOS;

Программную оболочку Windows;

Редактор;

Транслятор языка программирования.

 

Программой-архиватором называют:

Программу для сжатия файлов;

Программу резервного копирования файлов;

Интерпретатор;

Транслятор;

Систему управления базами данных.

 

Архивированный файл представляет собой файл:

Которым долго не пользовались;

Защищенный от копирования;

Сжатый с помощью архиватора;

Защищенный от несанкционированного досту­па;

Зараженный компьютерным вирусом.

 

 

Степень сжатия файла зависит:

Только от типа файла;

Только от программы-архиватора;

От типа файла и программы-архиватора;

От производительности компьютера;

От объема оперативной памяти.

 

Архивированный файл отличается от исходного тем, что:

Доступ к нему занимает меньше времени;

Он более удобен для редактирова­ния;

Он менее защищён от вирусов;

Он более защищен от несанкционированного доступа;

Он занимает меньше места на диске.

 

С использованием архиватора RAR лучше всего сжи­маются:

Тексты;

Рисунки;

Фотографии;

Видеофильмы;

Программы.

 

Компьютерные вирусы:

Возникают из-за сбоев в аппаратных сред­ствах компьютера;

Создаются программистами;

Появляются при работе некорректно написанных программ;

Являются следствием ошибок в операционной системе;

Имеют биологическое происхождение.

 

Отличительной особенностью компьютерного ви­руса является:

Большой объем программного кода;

Необходимость его запуска пользователем ПК;

Способность повысить помехоустойчивость операционной системы;

Способность к самостоятельному запуску;

Легкость распознавания.

 

Загрузочные вирусы характеризуются тем, что:

Поражают загрузочные секторы дисков;

Поражают программы в начале их работы;

Запускаются при загрузке компьютера;

Изменяют код заражаемого файла;

Изменяют размер файла.

 

Назначение антивирусных программ-детекторов:

Обнаружение и уничтожение вирусов;

Контроль возможных путей распространения вирусов;

Обнаружение вирусов;

Лечение зараженных файлов;

Уничтожение зараженных файлов.

 

К антивирусным программам не относятся:

Сторожа;

Фаги;

Ревизоры;

Интерпретаторы;

Вакцины.

 

В состав системного программного обеспечения ПК входят:

Программы пользователей и обучающие програм­мы;

Редакторы и системы обработки числовой ин­формации;

Операционные системы, операционные оболоч­ки, драйверы и утилиты;

Системы искусственного интеллекта;

Экспертные системы.

 

Объем адресного пространства ПК при 24-разрядной шине адреса равен:

16 Мбайт;

4 Гбайта;

64 Кбайта;

1 Мбайт;

64 Гбайта.

 

Корпус стационарного ПК с горизонтальной компоновкой называется:

Notebook;

Tower;

Palmtop;

Desktop;

Laptop.

 

Шина AGP служит для подключения к ПК:

Сканера;

Аудиоадаптера;

Модема;

Графического адаптера;

Клавиатуры.

 

Через порт LPT к ПК подключаются:

Монитор;

Принтер;

Клавиатура;

Мышь;

Сканер.

 

Программа BIOS Setup позволяет менять содержимое:

Video RAM;

Оперативной памяти;

Flash Memory;

Постоянной памяти;

CMOS RAM.

 

Устройством внешней памяти с прямым доступом к данным не является:

FDD;

CD ROM;

Стример;

DVD ROM;

HDD.

 

Минимальным адресуемым элементом жесткого магнитного диска является:

Трек;

Файл;

Кластер;

Байт;

Сектор.

Моделирование и формализация

33.Моделирование как метод познания.

34.Виды моделей. Классификация моделей.

35.Понятие о технологии информационного моделирования.

36.Исследование информационных моделей предметных областей.

5.1.Моделирование как метод познания.

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

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

Пример:

1. объект — Земля, и её заменитель — глобус;

2. объект — уголок природы, и его заменитель — картина или описание данного уголка природы;

3. объект — самолет, и его заменитель — модель самолета;

4. объект — железнодорожный вокзал, и его заменитель — расписание поездов;

5. объект — химический процесс, и его заменитель — формула химической реакции;

6. объект — токарный станок, и его заменитель — функциональная схема токарного станка и т.д.

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

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

 

Примечание.

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

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

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

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

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

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

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

Определение. Система — это:

1. Внутренне организованная целостность, элементы которой взаимосвязаны так, что возникает, как минимум, одно новое качество, не свойственное ни одному из элементов этой целостности;

2. Организованное множество структурных элементов, взаимосвязанных и выполняющих определенные функции;

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

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

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

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

Любая система обладает рядом основополагающих свойств:

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

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

§ н еоднозначность соответствия «система – структура системы». Поскольку структура – это только некоторая характеристика системы, то и в зависимости от целей системы, можно выделить разные связи, признаки и свойства системы в качестве структурных. То есть в общем случае однозначного соответствия между системой и ее структурой нет.

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

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

§ в заимодействие со средой. Система проявляет свои свойства в процессе взаимодействия со средой.

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

5.2.Виды моделей. Классификация моделей.

Модели делятся на две большие группы: материальные и информационные.

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

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

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

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

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

Определение. Процесс построения информационных моделей с помощью формальных языков называется формализацией.

Примечание.

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

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

§ о писательные (Вербальные) — модели, для описания которых используются естественные языки;

§ с одержательные или смысловые — в виде текста, например, программы на языке программирования, на языке географических элементов и т.п.;

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

§ л огические — модели, построенные на основе логических операций;

§ с труктурные — табличные модели; иерархические модели, например, генеалогическое дерево; сетевые модели, например, модель сети Интернет.

В зависимости от поставленной задачи, способа создания модели и предметной области, модели классифицируют:

6. По способу учета фактора времени.

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

§ Динамические — модели, учитывающие фактор времени, то есть модели, описывающие процессы изменения и развития систем (движение тел, развитие организмов и т.п.).

7. По области применения:

§ Научно-производственные — для исследования явлений и процессов;

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

§ и митационные — для имитации основных свойств объекта-оригинала или реальности, а не просто их отражения;

§ у чебные — это всевозможные наглядные пособия и тренажеры для обучения;

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

5.3.Понятие о технологии информационного моделирования.

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

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

§ Постановка задачи моделирования;

§ Построение модели;

§ Разработка моделирующего алгоритма и программы;

§ Отладка и исполнение моделирующей программы;

§ Компьютерный эксперимент;

§ Анализ результатов компьютерного эксперимента.

Дадим пояснения каждому из упомянутых этапов.

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

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

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

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

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

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

5.4.Исследование информационных         моделей конкретных предметных областей.

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

Пример 1: Образная информационная модель.

1. Постановка задачи.

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

§ Построение модели и формализация.  

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

Этап формализации заключается в переносе чертежей и фотоснимков в компьютер для чего необходимо использовать одну из приемлемых прикладных программ: графический редактор (например, Paint , Visio), систему проектирования (например, AutoCAD), графический процессор (например, Photoshop).

3. Разработка алгоритма и программы.

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

1. Расположить шкаф для одежды у входа в комнату;

2. Компьютерный стол под окном, но не напротив другого окна;

3. Письменный стол под другим окном;

4. Возле письменного стола стеллаж для книг;

5. Возле компьютерного стола стеллаж для бумаг;

6. Просчитать количество необходимых рабочих мест;

7. Выделить под рабочие места оговоренное количество пространства комнаты;

8. Разместить стол для заседаний — посередине комнаты;

9. Выделить под рабочие места оговоренное количество пространства комнаты;

10. Определить достаточно ли рабочего пространства;

11. Повторить пункты 1) … 7) при другой расстановки;

12. Повторить пункты 8) … 10).

4. Компьютерный эксперимент.

На полученных в среде одной из программ чертежах комнаты провести «перестановку» блоков – мебели, до того момента когда будут выполнены основные требования (пункт 1) … 7) алгоритма), и по возможности выполнить пункты 8) … 9) алгоритма.

5. Анализ результатов.

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

Пример 2: Математическая модель.

· Постановка задачи.

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

2. Построение модели и формализация.

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

§ Мячик мал по сравнению с Землей, поэтому его можно считать материальной точкой;

§ Изменение высоты мячика мало, поэтому ускорение свободного падения можно считать постоянной величиной и движение по оси ОУ можно считать равноускоренным;

§ Скорость бросания тела мала, поэтому сопротивлением воздуха можно пренебречь и движение по оси ОХ можно считать равномерным.

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

;

.

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

Подставим это значение t в формулу y. Получаем l – высоту мячика над землей на расстоянии s:

.

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

.

Если l <0, то это означает «недолет», а если l > h, то это означает «перелет».

3. Разработка алгоритма и программы.

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

Шаг.1. Введем значения начальной скорости, угла бросания мячика, расстояния до мишени и ее высоты;

Шаг 2. Проведем все вышеперечисленные расчеты, для визуализации построим траекторию движения мячика;

Шаг 3. Выведем полученный результат;

Шаг 4. Повторим Шаги 1…3 для других начальных значений до попадания мячика в мишень и зафиксируем эти значения.

Данный алгоритм может быть реализован на любом языке программирования.

4. Компьютерный эксперимент.

Итогом компьютерного эксперимента является построение графиков.

5. Анализ результатов.

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

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

Пример 3: Биологическая модель.

1. Постановка задачи.

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

2. Построение модели и формализация.

Одним из самых известных примеров описания динамики взаимодействующих популяций являются уравнения Вольтерра – Лотка[20] ).

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

Таким образом, система Вольтерра – Лотка имеет вид:

 где .

3. Разработка алгоритма и программы.

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

4. Компьютерный эксперимент.

Итогом компьютерного эксперимента являются построение графиков (рис.5.1, рис.5.2).

Рис.5.1.График развития популяции. Рис.5.2.Фазовая кривая числен- ности хищников и жертв.

5. Анализ результатов.

Видно, что процесс имеет колебательный характер (рис.5.1). При заданном начальном соотношении числа особей обоих видов 3:1 обе популяции сначала растут. Когда число хищников достигает величины , популяция жертв не успевает восстанавливаться и число жертв начинает убывать. Уменьшение количества пищи через некоторое время начинает сказываться на популяции хищников, и, когда число жертв достигает величины (в этой точке ) , число хищников тоже начинает сокращаться вместе с сокращением числа жертв. Сокращение популяции происходит до тех пор, пока число хищников не достигнет величины (в этой точке ) . С этого момента начинает расти популяция жертв; через некоторое время пищи становится достаточно, чтобы обеспечить прирост хищников, обе популяции растут, и процесс повторяется снова и снова. На графике четко виден периодический характер процесса. Количество жертв и хищников колеблется возле величин соответственно (дробные числа здесь не означают «половину волка» : величины могут измеряться в сотнях, тысячах и т.п.). Периодичность процесса явственно видна на фазовой плоскости: фазовая кривая  – замкнутая линия (рис.5.2). Самая левая точка этой кривой, , – это точка, в которой число жертв достигает наименьшего значения. Самая правая точка, , – точка пика популяции жертв. Между этими точками количество хищников сначала убывает до нижней точки фазовой кривой . Фазовая кривая охватывает точку .Это означает, что система имеет стационарное состояние , которое достигается в точке . Если в начальный момент система находилась в стационарной точке, то решение не будут изменяться во времени, останутся постоянными. Всякое же другое начальное состояние приводит к периодическому колебанию решений. Неэллиптичность формы траектории, охватывающей центр, отражает негармонический характер колебаний.

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

5.5.Тренировочные тестовые задания по разделу 5.

(правильные ответы см. в конце пособия).

1. Модель это:

Процесс замены реального объекта, процесса или явления новым объектом

Объект, который отражает все существенные свойства исходного объекта, процесса или явления

Объект, который отражает все свойства исходного объекта, процесса или явления

Объект, процесс или явление, который отражает все существенные свойства исходного объекта, процесса или явления

Описание объекта на формальном языке

 

2. Моделирование - это:

Процесс поиска нового, неформального решения задачи

Процесс замены реального объекта другим материальным объектом, похожим на него внешне

Процесс замены реального объекта другим идеальным объектом, похожим на него внешне

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

Процесс оценивания поведения объекта в реальном мире

 

3. Сколько моделей одного объекта можно создать:  

Одна модель

Несколько, в зависимости от цели поставленной задачи

Две модели

Несколько, в зависимости от количества признаков

Несколько, в зависимости от признаков

4. Формализация – это:

Процесс построения информационных моделей с помощью формальных языков

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

Процесс построения материальных моделей с помощью формальных языков

Процесс построения образных моделей с помощью формальных языков

Процесс построения системных моделей с помощью формальных языков

 

5. Из перечисленных моделей укажите физическую:

Компьютерная модель сооружения

Формула определения давления в жидкостях

Формула нахождения периметра прямоугольника

Модель железнодорожного вагона

Химическая формула

 

6. Выделите правильную последовательность этапов решения задач моделирования на компьютере:

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

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

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

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

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

 

7. Признаком системы является:

1. Набор отдельных элементов

2. Объекты, имеющие различные свойства

3. Целостное функционирование

4. Разбиение на объекты

5. Ее структура

 

8. Динамической моделью является модель:

Не учитывающая фактор времени

Учитывающая фактор статики

Учитывающая свойства объекта

Учитывающая фактор времени

Не учитывающая свойства объекта

9. Статической моделью является модель:

Не учитывающая фактора времени

Учитывающая фактор статики

Учитывающая свойства объекта

Учитывающая фактор времени

Не учитывающая свойства объекта

 

10. Расписание движения поездов является:

Железнодорожным вокзалом - объектом

Математической моделью железнодорожного вокзала

Материальной моделью железнодорожного вокзала

Системной моделью железнодорожного вокзала

Информационной моделью железнодорожного вокзала


Алгоритмизация и программирование

37.Алгоритм. Формальное исполнение алгоритмов.

38.Свойства алгоритмов.

39.Способы записи алгоритма.

40.Основные алгоритмические конструкции. Детализация алгоритмов.

41.Методы разработки алгоритмов.

42.Понятие о языках программирования.

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

44.Средства создания программ.

45.Базовые элементы алгоритмических языков программирования.

46.Основные типы данных.

47.Операторы языка программирования.

48.Подпрограммы.

49.Технологии программирования.

 

6.1.Алгоритм. Формальное исполнение алгоритмов.

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

Решение задачи предполагает выполнение определенной последовательности действий над объектами (элементами).

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

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

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

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

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

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

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

Примечание.

В настоящее время в мире есть сотни алгоритмических языков программирования.

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

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

6.2.Свойства алгоритмов.

Все алгоритмы обладают рядом свойств. Приведем основные свойства алгоритмов [21] ):

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

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

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

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

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

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

6.3.Способы записи алгоритма.

Существуют три основных способа записи или представления алгоритма: Словесное описание, Описание на алгоритмическом языке, Структурная схема (графическая схема) [22]) .

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

Пример: Составить словесное описание алгоритма решения уравнения x+2 = 3 x4 .

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

Алгоритм 1.
Шаг1. Начало.
Шаг2. Перенести слагаемое 3
x в левую часть уравнения. Х+2 = –4
Шаг3. Перенести слагаемое 2 в правую часть              Х = -24
Шаг4. Привести подобные слагаемые в левой части  -2Х = -24
Шаг5. Привести подобные слагаемые в правой части -2Х = -6
Шаг6. Разделить обе части уравнения на -2.                 Х = 3
Шаг7. Записать результат.                                 Ответ: х = 3
Шаг8. Конец.

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

Алгоритма 1а.
Шаг1. Начало.
Шаг2. Перенести все слагаемые в левую часть уравнения с обратным знаком и привести подобные члены                     
+6 = 0
Шаг3. Решить линейное уравнение.                Х = 3
Шаг4. Записать результат.                         Ответ: х = 3
Шаг5. Конец.

§ Описание алгоритма на алгоритмическом языке .

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

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

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

Приведем пример построения алгоритма на школьном алгоритмическом языке КуМир.

Пример: Правописание приставок на «з» и «с»















Алгоритм 2.

алг

нач

если корень слова начинается со звонкой согласной

I то на конце приставки написать «з»

I иначе на конце приставки написать «с»

все

кон

§ Структурное схема алгоритма (графическая схема алгоритма) .

Алгоритм наиболее удобно изображать графически с помощью блок-схем или граф-схем.

Определение. Блок-схемы — это набор элементов, называемых блоками, соединенных между собой линиями или стрелками. Линии называются линиями потока. Они отражают последовательность выполнения действий, определяемых каждым блоком.

Примечание.

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

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

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

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

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

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

Рис.6.4 Пример блоков Решение.

5. Специально для отображения циклических структур введен блок заголовка цикла, «Модификация», после которого идут блоки операций из которых состоит цикл (рис.6.5). Применяется для заранее определенного количества циклов. С последнего блока линия потока должна возвращаться на заголовок цикла. Вторая линия из блока выходит по условию окончания цикла.

Рис.6.5. Пример блоков Модификация

6. Если модуль или подпрограмма составлены и описаны отдельно, то используется блок «Предопределенный процесс» (рис.6.6). В нем указывается название подпрограммы или программного модуля.

Рис.6.6. Пример блоков Предопределенный процесс.

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

Рис.6.7. Пример комментария.

8. При большом количестве блоков или линий связи линии потока можно прерывать, используя «соединители», изображаемые в виде круга (рис.6.8). Внутри круга ставятся цифры или комбинации букв и цифр, но одинаковые в начале и в конце обрыва линии потока.

Рис.6.8. Пример соединителей.

Использование этих блоков позволяет наглядно представить алгоритм вычислений. Всего же ГОСТ 19002-80 и ГОСТ 19003-80 устанавливает для изображения схем алгоритмов и программ 42 символа. Из них 30 – обязательных, а 12 – рекомендуемых.

Пример: Приведем в качестве примера запись алгоритма решения линейного уравнения x+2 = = 3 x4 в виде блок-схемы (Алгоритм 3  на рис.6.9).

6.4.Основные алгоритмические конструкции. Детализация алгоритмов.

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

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

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

Пример: Определить, является ли число а положительным (Алгоритм 4  на рис.6.10).

Циклическая конструкция алгоритма предусматривает наличие цикла. Цикл – это многократно выполняемый участок алгоритма. Циклический алгоритм при каждом исполнении предписывает многократное выполнение одной и той же последовательности действий.

Пример: Вычислить сумму целых чисел от 1 до 10.

Обозначим сумму – S, число – а. Все а будут изменяться по правилу, что каждое последующее значение а будет равно предыдущему значению а плюс 1, т.е. а=а+1, до тех пор, пока а станет равно 10. На рис.6.11 изображена блок-схема алгоритма решения данного примера (Алгоритм 5  на рис.6.11).

По степени детализации алгоритмы подразделяются на укрупненные и детальные.

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

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

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

Примечание.

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

6.5.Методы разработки алгоритмов.

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

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

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

6.6.Понятие о языках программирования. Классификация языков программирования.

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

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

Языки программирования можно разделить на два больших класса: высокого и низкого уровня [23]). Здесь уровень языка характеризуется сложностью задач, решаемых с помощью этого языка.

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

§ Языки программирования высокого уровня значительно ближе и понятнее человеку. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому программы, составленные на таких языках, могут использоваться на разных типах компьютеров. Разрабатывать такие программы значительно проще, а ошибок при создании программ допускается меньше. Для преобразования этих программ в машинные коды существуют специальные программы – трансляторы, а перевод выполняет сам компьютер. К языкам высокого уровня относятся такие широко распространенные языки программирования, как С (Си), С++, Паскаль, Бейсик, HTML и другие.

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

§ Для создания компьютерных программ используются Алгоритмические языки программирования. Алгоритмический (процедурный) язык программирования — это язык программирования, предназначенный для записи алгоритмов, исполняемых на ЭВМ. Однако не всякий язык программирования является алгоритмическим. К ним относятся С (Си), С++, Паскаль, Бейсик, Java (Джава, Ява), Fortran (Фортран), Cobol (Кобол) и многие другие.

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

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

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

6.7.Средства создания программ.

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

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

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

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

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

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

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

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

Определение. Системой программирования называется совокупность языковых и программных средств, предназначенных для написания, тестирования и отладки программ для ЭВМ. Благодаря ей существенно облегчается и ускоряется работа программиста.

6.8.Базовые элементы алгоритмических языков программирования.

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

Алфавит и служебные слова. Языки программирования, так же как и разговорные, имеют свой алфавит.

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

Служебные слова (в каждом языке программирования) необходимы для записи текста программы. Так как языки программирования являются формальными, а не разговорными, то служебные слова не подлежат изменению или сокращению – это просто иная форма записи символов. Например: Begin , For и т.д.

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

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

Описания данных, с которыми оперируют действия.

Описания последовательности действий, которые необходимо выполнить,

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

Данные. Данные есть сведения об объектах, их свойствах и отношениях. Все данные делятся на два класса – константы и переменные.

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

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

Константы и переменные характеризуется типом данных, идентификатором (именем), значением и допустимыми операциями над ними:

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

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

3. Выражением называется совокупность констант, переменных, функций, соединенных знаками допустимых операций.

4. Значением является результат вычисления выражения. Во время выполнения программы в каждый конкретный момент данные могут иметь какое-то значение или быть не определены.

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

1. Подпрограммы — это оформленные особым образом фрагменты программы. Различают подпрограммы-функции и подпрограммы-процедуры.

6.9.Основные типы данных.

Данные могут быть простыми и сложными. Типы данных подразделяются на простые и структурированные или структуры [24]).

6.9.1.Простые типы данных.

К простым (атомарным, неструктурированным) типам данных относятся данные, не содержащие в себе как часть другие данные. 

Это следующие типы: целый, вещественный, логический и символьный.

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

Пример: -10; +56; 128; 80H.

· Вещественные числа имеют две формы представления: с фиксированной и плавающей точкой.

В первом случае (с фиксированной точкой) число представляется как целая и дробная часть:

[<знак>]<целая часть>.<дробная часть>

Наличие точки является признаком вещественного типа числа.

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

[<знак мантиссы>]<целая часть мантиссы>[.<дробная часть мантиссы>] E [<знак порядка>]<порядок>

Здесь буква Е является разделителем, отделяющим мантиссу от порядка или характеристики. Числа представляются только в десятичной системе счисления:

Пример: 1234,56 = 1.23456E3 ( 1,23456×103) = 1234.56E0,

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

Таким образом, признаком вещественного числа является наличие точки или разделителя:.

Пример: 1Е0 и 1.0 – вещественные, 1 – целое.

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

§ Логический тип основан на правилах Булевой алгебры, широко используемой в цифровой электронике. Этот тип определяет всего два значения True (истина) и False (ложь).

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

«НЕ», логическое отрицание или инверсия, в отличие от остальных выполняется над одним операндом (унарная операция);

«ИЛИ», логическое сложение или дизъюнкция;

«И», логическое умножение или конъюнкция;

«Исключающее ИЛИ», сложение по модулю 2.

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

Пример: Вот как записываются символьные данные “a”, “d”.

6.9.2.Структура данных.

Структура данных — это отношение между другими данными. К структурам относятся массивы, строки и другие.

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

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

Пример: Задан массив с именем M, размерностью 3 строки и 3 столбца (это двумерный массив). Его можно описать следующим образом: M[1..3,1..3] или M[1..I,1..J], где I – количество строк, а J – количество столбцов. Любой элемент этого массива будет обозначаться, как mij ,где i – номер строки, j – номер столбца. Пусть массив M имеет следующее значение:

, тогда элементы массива m11=1, m12=2 и так далее.

Примечание.

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

 

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

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

Пример: Дадим переменной строкового типа имя – St. Ее значением может быть слово, предложение или просто любые символы, например:

St =”мир”, или St =”Сегодня хорошая погода.”

6.10.Операторы языка программирования.

Основные (базисные) операторы языка программирования подразделяются на: операторы присваивания, управляющие операторы, операторы вызова процедур и операторы ввода-вывода.

6.10.1.Оператор присваивания.

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

Его структура: <имя переменной> <присвоить> <выражение>.

Пример: F=sin(x), где F – имя переменной, sin(x) – выражение.

Примечание.

В блок-схеме алгоритма для отображения оператора присваивания используется блок «процесс».

6.10.2.Управляющие операторы.

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

1. Оператор последовательность объявляет некоторую последовательность операторов в виде одного оператора. Это необходимо при использовании последовательностей операторов в других управляющих операторах.

2. Условный оператор предписывает выбор направления выполнения алгоритма в зависимости от некоторых условий. Эти условия записываются в виде логических выражений и всегда принимают одно из двух значений: истинно или ложно. При этом происходит разветвление порядка выполнения последовательности вычислений. Синтаксис условного оператора примерно одинаков во всех языках программирования – он представляет собой следующую конструкцию.

если условие истинно

то выполнить оператор1

иначе выполнить оператор2

Примечание.

В блок-схеме алгоритма для отображения управляющих операторов используется блок «решение».

1. Циклы бывают двух видов: с фиксированным числом повторений(с параметром) и условные операторы цикла.

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

Примечание.

В блок-схеме алгоритма для отображения операторов цикла используется блок «модификация».

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

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

§ Оператор цикла с предусловием, когда, наоборот, проверка истинности производится до выполнения тела цикла. В заголовке цикла указывается только условие – пока его значение равно «истина», цикл будет выполняться.

Примечание.

В блок-схеме алгоритма для отображения операторов цикла с условием используется блок «решение» (для проверки истинности условия) и операторы, из которых состоит тело цикла. Пример алгоритма с использованием оператора цикла с постусловием приведен на рисунке 6.11.

Дата: 2018-12-28, просмотров: 349.