
Информатика
3.Форма представления информационных моделей
Модели материальные и модели информационные. Все модели можно разбить на два больших класса: модели предметные (материальные) и модели информационные. Предметные модели воспроизводят геометрические, физические и другие свойства объектов в материальной форме (глобус, анатомические муляжи, модели кристаллических решеток, макеты зданий и сооружений и др.).
Информационные модели представляют объекты и процессы в образной или знаковой форме.
Образные модели (рисунки, фотографии и др.) представляют собой зрительные образы объектов, зафиксированные на каком-либо носителе информации (бумаге, фото- и кинопленке и др.). Широко используются образные информационные модели в образовании (вспомните учебные плакаты по различным предметам) и науках, где требуется классификация объектов по их внешним признакам (в ботанике, биологии, палеонтологии и др.).
Знаковые информационные модели строятся с использованием различных языков (знаковых систем). Знаковая информационная модель может быть представлена в форме текста (например, программы на языке программирования), формулы (например, второго закона Ньютона F = m а), таблицы (например, периодической таблицы элементов Д. И. Менделеева) и так далее.
Иногда при построении знаковых информационных моделей используются одновременно несколько различных языков. Примерами таких моделей могут служить географические карты, графики, диаграммы и пр. Во всех этих моделях используются одновременно как язык графических элементов, так и символьный язык.
На протяжении своей истории человечество использовало различные способы и инструменты для создания информационных моделей. Эти способы постоянно совершенствовались. Так, первые информационные модели создавались в форме наскальных рисунков, в настоящее же время информационные модели обычно строятся и исследуются с использованием современных компьютерных технологий.
Формализация. Естественные языки используются для создания описательных информационных моделей. В истории науки известны многочисленные описательные информационные модели; например, гелиоцентрическая модель мира, которую предложил Коперник, формулировалась следующим образом:
-
Земля вращается вокруг своей оси и вокруг Солнца;
-
орбиты всех планет проходят вокруг Солнца.
С помощью формальных языков строятся формальные информационные модели (математические, логические и др.). Одним из наиболее широко используемых формальных языков является математика. Модели, построенные с использованием математических понятий и формул, называются математическими моделями. Язык математики является совокупностью формальных языков. С некоторыми из них (алгебра, геометрия, тригонометрия) вы знакомитесь в школе, с другими (теория множеств, теория вероятностей и др.) сможете ознакомиться в процессе дальнейшего обучения.
Язык алгебры позволяет формализовать функциональные зависимости между величинами. Так, Ньютон формализовал гелиоцентрическую систему мира, открыв законы механики и закон всемирного тяготения и записав их в виде алгебраических функциональных зависимостей. В школьном курсе физики рассматривается много разнообразных функциональных зависимостей, выраженных на языке алгебры, которые представляют собой математические модели изучаемых явлений или процессов.
Язык алгебры логики (алгебры высказываний) позволяет строить формальные логические модели. С помощью алгебры высказываний можно формализовать (записать в виде логических выражений) простые и сложные высказывания, выраженные на естественном языке. Построение логических моделей позволяет решать логические задачи, строить логические модели устройств компьютера (сумматора, триггера) и так далее.
Процесс построения информационных моделей с помощью формальных языков называется формализацией.
В процессе познания окружающего мира человечество постоянно использует моделирование и формализацию. При изучении нового объекта сначала обычно строится его описательная информационная модель на естественном языке, затем она формализуется, то есть выражается с использованием формальных языков (математики, логики и др.).
4.Понятие алгоритма, его свойства
Слово алгоритм происходит от algorithmi – латинской формы написания имени великого математика IX в. Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению поставленной задачи.
Рассмотрим пример алгоритма для нахождения середины отрезка при помощи циркуля и линейки. Алгоритм деления отрезка АВ пополам: 1) поставить ножку циркуля в точку А; 2) установить раствор циркуля равным длине отрезка АВ; 3) провести окружность; 4) поставить ножку циркуля в точку В; 5) провести окружность; 6) через точки пересечения окружностей провести прямую; 7) отметить точку пересечения этой прямой с отрезком АВ.
Свойства алгоритмов:
-
Поочередное выполнение команд алгоритма за конечное число шагов приводит к решению задачи, к достижению цели. Разделение выполнения решения задачи на отдельные операции (выполняемые исполнителем по определенным командам) – важное свойство алгоритмов, называемое дискретностью.
-
Каждый алгоритм строится в расчете на некоторого исполнителя. Для того чтобы исполнитель мог решить задачу по заданному алгоритму, необходимо, чтобы он был в состоянии понять и выполнить каждое действие, предписываемое командами алгоритма. Такое свойство алгоритмов называется определенностью (или точностью) алгоритма. (Например, в алгоритме указано, что надо взять 3—4 стакана муки. Какие стаканы, что значит 3—4, какой муки?)
-
Еще одно важное требование, предъявляемое к алгоритмам, - результативность (или конечность) алгоритма. Оно означает, что исполнение алгоритма должно закончиться за конечное число шагов.
-
Универсальность. Алгоритм должен быть составлен так, чтобы им мог воспользоваться любой исполнитель для решения аналогичной задачи. (Например, правила сложения и умножения чисел годятся для любых чисел, а не для каких-то конкретных.)
5.Способы записи алгоритма
Для записи алгоритмов используют самые разнообразные средства. Выбор средства определяется типом исполняемого алгоритма. Выделяют следующие основные способы записи алгоритмов:
- вербальный, когда алгоритм описывается на человеческом языке;
- символьный, когда алгоритм описывается с помощью набора символов;
- графический, когда алгоритм описывается с помощью набора графических изображений.
Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью какого-либо алгоритмического языка.
Описание алгоритма с помощью блок схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками. Написание алгоритмов с помощью блок-схем регламентируется ГОСТом. Внешний вид основных блоков, применяемых при написании блок схем, приведен на рисунке:
В зависимости от последовательности выполнения действий в алгоритме выделяют алгоритмы линейной, разветвленной и циклической структуры.
В алгоритмах линейной структуры действия выполняются последовательно одно за другим:
В алгоритмах разветвленной структуры в зависимости от выполнения или невыполнения какого-либо условия производятся различные последовательности действий. Каждая такая последовательность действий называется ветвью алгоритма.
В алгоритмах циклической структуры в зависимости от выполнения или невыполнения какого-либо условия выполняется повторяющаяся последовательность действий, называющаяся телом цикла. Вложенным называется цикл, находящийся внутри тела другого цикла. Различают циклы с предусловием и послеусловием:
Итерационным называется цикл, число повторений которого не задается, а определяется в ходе выполнения цикла. В этом случае одно повторение цикла называется итерацией.
6.Линейные алгоритмы
Линейные алгоритмы
Алгоритм, в котором команды выполняются в порядке их записи, то есть друг за другом, называется линейным.
Например, линейным является следующий алгоритм посадки дерева:
-
выкопать в земле ямку;
-
опустить в ямку саженец;
-
засыпать ямку с саженцем землей;
-
полить саженец водой.
С помощью блок-схемы данный алгоритм можно изобразить так:
7.Разветвляющиеся алгоритмы.Неполная форма команды ветвления
Разветвляющиеся
алгоритмы. Команда ветвления.
В
отличие от линейных алгоритмов, в которых
команды выполняются последовательно
одна за другой, в разветвляющиеся
алгоритмы входит условие, в зависимости
от выполнения или невыполнения которого
выполняется та или иная последовательность
команд (серий).
В качестве условия в разветвляющемся
алгоритме может быть использовано любое
понятное исполнителю утверждение,
которое может соблюдаться (быть истинно)
или не соблюдаться (быть ложно). Такое
утверждение может быть выражено как
словами, так и формулой. Таким образом,
команда ветвления состоит из условия
и двух последовательностей команд.
Команда ветвления, как и любая другая,
может быть:
• записана на естественном языке;
• изображена в виде блок-схемы;
• записана на алгоритмическом
языке;
• закодирована на языке
программирования.
Рассмотрим в качестве примера
разветвляющийся алгоритм, изображенный
в виде блок-схемы.
Аргументами этого алгоритма являются
две переменные А, В, а результатом —
переменная X. Если условие А >= В истинно,
то выполняется команда Х:=А*В, в противном
случае выполняется команда Х:=А+В. В
результате печатается то значение
переменной X, которое она получает в
результате выполнения одной из серий
команд.
Запишем теперь этот алгоритм на
алгоритмическом языке и на языке
программирования
Бейсик.
2.Основные типы информационных моделей
Табличные
модели. Одним из наиболее часто
используемых типов информационных
моделей является таблица, которая
состоит из строк и столбцов.
Построим, например, табличную информационную
модель, отражающую стоимость отдельных
устройств компьютера (табл. 9). Пусть в
первом столбце таблицы содержится
перечень объектов (устройств), входящих
в состав компьютера, а во втором — их
цена.
С помощью таблиц создаются информационные
модели в различных предметных областях.
Широко известно табличное представление
математических функций, статистических
данных, расписаний поездов и самолетов,
уроков и т. д.
Табличные информационные модели проще
всего формировать и исследовать на
компьютере посредством электронных
таблиц и систем управления базами
данных.
Иерархические модели. Нас окружает
множество различных объектов, каждый
из которых обладает определенными
свойствами. Однако некоторые группы
объектов имеют одинаковые общие свойства,
которые отличают их от объектов других
групп.
Группа объектов, обладающих одинаковыми
общими свойствами, называется классом
объектов. Внутри класса могут быть
выделены подклассы, объекты которых
обладают некоторыми особенными
свойствами, в свою очередь, подклассы
можно делить на еще более мелкие группы
и т. д. Такой процесс называется процессом
классификации.
При классификации объектов часто
применяются информационные модели,
которые имеют иерархическую (древовидную)
структуру. В иерархической информационной
модели объекты распределены по уровням,
причем элементы нижнего уровня входят
в состав одного из элементов более
высокого уровня. Например, весь животный
мир рассматривается как иерархическая
система (тип, класс, отряд, семейство,
род, вид), для информатики характерна
иерархическая файловая система и т.
д.
На рисунке 22 изображена информационная
модель, которая позволяет классифицировать
современные компьютеры. Полученная
информационная структура напоминает
дерево, которое растет сверху вниз
(именно поэтому такие информационные
модели называют иногда древовидными).
В структуре четко просматриваются три
уровня: от первого, верхнего, имеющего
один элемент Компьютеры, мы спускаемся
до третьего, нижнего, имеющего три
элемента Настольные, Портативные,
Карманные.
Сетевые информационные модели. Сетевые
информационные модели применяются для
отражения систем со сложной структурой,
в которых связь между элементами имеет
произвольный характер.
Неполная форма.
Неполная форма - это форма записи разветвляющегося алгоритма, в которой предусмотрены команды только в одной ветви.
если-то |
Пример |
|
|
8.Полня форма команды ветвления
Полная форма.
Полная форма - это форма записи развлетвляющегося алгоритма, в которой предусмотрены команды в ветви "да" и в ветви "нет".
если-то-иначе |
Пример |
|
|
1. Происходит проверка условия.
-
Если а>b, то происходит присваивание к переменной "а" значение "а*2", а к переменной "b", значение "1".
-
Иначе, т.е. если а<=b, происходит присваивание переменной "b" значение "2*b".
10. Цикл с предусловием
Цикл While (пока) - цикл с предусловием
Вс, 01/03/2010 - 23:31 — tech
Пока условие выполняется (результат логического выражения дает true), будут выполняться действия тела цикла. После очередного выполнения вложенных действий условие снова проверяется. Для того чтобы выполнение алгоритма не зациклилось, в теле цикла (помимо прочих действий) должно быть выражение, в результате выполнения которого будет изменяться переменная, используемая в условии. Тело цикла может ни разу не выполнится, если условие с самого начала давало false.
11.Цикл с параметром
Цикл с параметром
Цикл с параметром (другое его название - цикл по переменной) позволяет выполнить набор команд фиксированное число раз, т.е. число итераций должно быть известно до начала выполнения цикла. Особенностью данного цикла является то, что заводится специальная переменная-счётчик, которая последовательно проходит указанный диапазон значений. Значение этой переменной может быть использовано в блоке кода, находящемся в цикле.
Цикл с параметром описывается зарезервированным словом FOR (англ. "для"). Общий вид конструкции цикла FOR:
FOR переменная-счётчик := начальное_значение [TO / DOWNTO] конечное_значение DO
{Действия}
13.Поколения языков программирования
Если проследить историю развития языков программирования можно выделить две основные концепции. 1)Перемещение акцентов от программирования отдельных деталей к программированию более крупных компонент. 2)Развитие и совершенствование языков программирования высокого уровня. В каждом последующем поколении языков программирования механизмы абстракций претерпевали изменения. Языки первого поколения ориентировались на научно-инженерное применение и словарь предметной области был максимально математическим. Таким образом, первое поколение языков было шагом в направлении предметной области и отвлечением от особенности компьютеров. В первом поколении основной тенденцией оказалось развитие алгоритмических абстракций. Это был еще один шаг в направлении предметной области. Следующим шагом явилась возможность обработки абстрактных данных. Суть абстрагирования, достигаемого посредством использования процедур достаточно для описания абстрактных действий, но недостаточна для описания абстрактных объектов. Это серьезный недостаток, т.к. во многих практических ситуациях сложность объектов, являющихся предметом управления составляет основную часть сложности всей задачи.
15.Алфавит языка паскаль
В любом языке программирования программа - это нa6оp понятных компилятору команд. Для создания программ надо знать синтаксис языка, т.е. правила записи команд и использования лексических единиц языка. Знакомство с языком начнем с алфавита.
Алфавит языка программирования - это определенный нa6оp символов. С помощью этих символов могут быть записаны идентификаторы, выражения и операторы языка.
Алфавит языка Pascal состоит из символов кодовой таблицы ASCII (American Standard Code for Information Interchange - Американский типичный код обмена информацией). Каждому такому символу соответствует числовой код от 0 до 255. Часть символов кодовой таблицы ASCII с кодами от 0 до 127 идентична для всех IBM- совместимых компьютеров. Символы алфавита языка Pascal можно разделить на такие категории:
• символы, используемые для составления идентификаторов (малые латинские литеры с кодами ASCII от 97 до 122, большие латинские литеры с кодами ASCII от 65 до 90, десятичные цифры от 0 до 9, с кодами ASCII от 48 до 57, символ подчеркивания (_) с кодом ASCII 95);
• разделяющий символ пробела, код ASCII 32;
• специальные символы, которые используются в процессе построения фразы
языка (+ - * /=> <.,;:'( ) [ ] { } ^@$#);
• управляющие символы, имеющие ASCII-коды от 0 до 31.
16.Типы данных
Любая программа, написанная на любом языке программирования, по большому счету предназначена для обработки данных. В качестве данных могут выступать числа, тексты, графика, звук и др. Одни данные являются исходными, другие – результатом, который получается путем обработки исходных данных программой.
Данные хранятся в памяти компьютера. Программа обращается к ним с помощью имен переменных, связанных с участками памяти, где хранятся данные.
Переменные описываются до основного кода программы. Для них указываются ее имя и тип хранимых данных.
В языке программирования Паскаль достаточно много типов данных. Кроме того, сам пользователь может определять свои типы данных.
Тип переменной определяется тем, с какими данными она связана.
Переменные типа integer могут быть связаны только с целыми значениями обычно в диапазоне от -32768 до 32767. В Pascal есть другие целочисленные типы.
Переменные типа real хранят вещественные (дробные) числа.
Переменная булевского (логического) типа может принимать только два значения - true (1, правда) илиfalse (0, ложь).
Символьный тип (char) может принимать значения из определенной упорядоченной последовательности символов.
Интервальный тип определяется пользователем и формируется только из порядковых типов. Представляет собой подмножество значений в конкретном диапазоне.
Можно создать собственный тип данных простым перечислением значений, которые может принимать переменная данного типа. Это так называемыйперечисляемый тип данных.
Все вышеописанное – это простые типы данных. Но бывают и более сложные, структурированные, которые базируются на простых типах.
Массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа.
Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно. Такое ограничение характерная черта Pascal.
Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях данные могут иметь разный тип.
Множества представляют собой совокупность любого числа элементов, но одного и того же перечисляемого типа.
Файлы для Pascal представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти (кстати, жесткий диск – это тоже внешняя память).
Понятие такого типа данных как указатель связано с динамическим хранением данных в памяти компьютера. Часто использование динамических типов данных является более эффективным в программирование, чем статических.
17.Объявление констант и переменных в программе