Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
0-Лекция_Основы информатики.docx
Скачиваний:
16
Добавлен:
27.03.2016
Размер:
186.97 Кб
Скачать

2 Примера

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

Выполнение арифметических действий в компьютере

В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение уменьшаемого с обратным или дополнительным кодом вычитаемого. Это позволяет существенно упростить конструкцию АЛУ.

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

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

Умножение и деление

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

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

Для иллюстрации умножим 1100112 на 1011012.

 

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

Представление текстовой информации в ПК.

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

Для кодирования одного символа используется количество информации, равное одному байту, т.е. I = 1 байт = 8 бит.

Если рассматривать символы как возможное событие, то можно вычислить, какое количество различных символов можно закодировать:

N = 2I = 28 = 256.

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

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

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

В процессе вывода символа на экран происходит обратный процесс – преобразование кода символа в его изображение.

Существует соглашение которое фиксируется в кодовой таблице (ASCII). Первые 33 кода (0..32) обозначают операции перевод строки, ввод пробела и т.д.

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

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

Алгебра логики.

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

Создателем алгебры логики является живший в ХIХ веке английский математик Джордж Буль, в честь которого эта алгебра названа булевой алгеброй высказываний.

Логическое высказывание — это любое повествовательное предложение, в отношении которого можно однозначно сказать, истинно оно или ложно.

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

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

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

Отрицание (инверсия) . Инверсия высказывания истина, когда само высказывание ложно, и ложно, когда высказывание истинно.

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

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

Существуют и другие логические операции.

Операция, выражаемая связками “если ..., то”, “из ... следует”, “... влечет ...”, называется импликацией (лат. implico — тесно связаны) и обозначается знаком .

Высказывание А В ложно тогда и только тогда, когда А истинно, а В — ложно.

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

Импликацию можно выразить через дизъюнкцию и отрицание:

А В = v В.

Эквиваленцию можно выразить через отрицание, дизъюнкцию и конъюнкцию:

А В = ( v В) • ( v А).

Порядок выполнения логических операций задается круглыми скобками. Но для уменьшения числа скобок договорились считать, что сначала выполняется операция отрицания (“не”), затем конъюнкция (“и”), после конъюнкции — дизъюнкция (“или”) и в последнюю очередь — импликация.

Логическая формула.

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

Определение логической формулы:

1. Всякая логическая переменная и символы “истина” (“1”) и “ложь” (“0”) — формулы.

2. Если А и В — формулы, то , (А • В), (А v В), (А B), (А В) — формулы.

3. Никаких других формул в алгебре логики нет.

Некоторые формулы принимают значение “истина” при любых значениях истинности входящих в них переменных. Такие формулы называются тождественно истинными формулами или тавтологиями.

Некоторые формулы принимают значение “ложно” при любых значениях истинности входящих в них переменных. Такие формулы называются тождественно ложными формулами или противоречиями.

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

Связь между алгеброй логики и двоичным кодированием

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

Из этого следует два вывода:

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

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

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

Элементы математической логики. Законы логики. Упрощение логических формул.

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

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

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

Математическая логика — современная форма логики, опирающаяся на формальные математические методы.

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

В языках программирования QBasic и Turbo Pascal логические функции И, ИЛИ, НЕ реализуются в виде логических операций OR (ИЛИ), AND (И), NOT (НЕ).

Множество всех логических функций, на котором определены три логические операции И, ИЛИ, НЕ называется булевой алгеброй (по имени основоположника математической логики английского математика Джорджа Буля). Упрощение формул в булевой алгебре производится на основе эквивалентных преобразований, опирающихся на следующие основные законы (эквивалентные соотношения):

Кроме того, применяются ещё три соотношения:

Законы 1,2,3,7 показывают, что свойства конъюнкции очень похожи на свойства умножения, поэтому её часто называют логическим умножением. Из законов 6 и 8 следует, что используя отрицание, дизъюнкцию можно выразить через конъюнкцию, и наоборот:

Это означает, что наборы И-НЕ и ИЛИ-НЕ также являются функционально полными или базисными.

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

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

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

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

Логические элементы и логические функции.

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

Логический элемент — это устройство, реализующее ту или иную логическую функцию. Y=f(X1,X2,X3,...,Xn) — логическая функция, она может быть задана таблицей, которая называется таблицей истинности.

Число строк в таблице — это число возможных наборов значений аргументов. Оно равно 2n, где n — число переменных. Число различных функций n переменных равно 22^n.

Логические функции одной переменной

Таблица истинности функции одной переменной Y=f(X) содержит всего 2 строки, а число функций одной переменной равно 4.

  1. Функция константа 0, Y=0. Техническая реализация этой функции — соединение вывода Y с общей шиной с нулевым потенциалом. Таблица истинности функции константа 0 имеет вид:

???

  1. Функция Y=f(X)=X — функция повторения. Техническая реализация этой функции — соединение между собой выводов X и Y.

Таблица истинности функции повторения имеет вид:

???

 

3. Функция Y=f(X)=NOT(X) — отрицание НЕ или инверсия (NOT(X) — это НЕ X). Техническая реализация этой функции - инвертор на любом транзисторе или логическом элементе, или транзисторный ключ.

???

Таблица истинности функции отрицания имеет вид:

????

 

Логический элемент НЕ обозначается на схемах следующим образом:

????

пишется X c чертой сверху

4.Функция константа 1, Y=1. Техническая реализация этой функции — соединение вывода Y с источником питания.

Таблица истинности функции константа 1 имеет вид:

 ???

Важнейшей функцией одной переменной является отрицание НЕ, остальные функции являются тривиальными.

Логические функции двух переменных

Таблица истинности функции двух переменных Y=f(X1,Х2) содержит 4 строки, а число функций двух переменных равно 16.

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

  1. Логическое ИЛИ (логическое сложение, дизъюнкция):

Y= X1 + X2 = X1VX2

Техническая реализация этой функции — два параллельно соединенных ключа:

 ????

Таблица истинности логического ИЛИ имеет вид:

????

 

Логический элемент ИЛИ обозначается на схемах следующим образом:

???

 

  1. Логическое И (логическое умножение, конъюнкция, схема совпадений): Y = X1X2 = X1&X2

Техническая реализация этой функции — два последовательно соединенных ключа:

 ???

Таблица истинности логического И имеет вид:

???

 

Логический элемент И обозначается на схемах следующим образом:

??

 

  1. Функция стрелка Пирса (ИЛИ-НЕ): Y = NOT(X1+X2)

Таблица истинности функции ИЛИ-НЕ имеет вид:

???

 

Логический элемент ИЛИ-НЕ обозначается на схемах следующим образом:

???? 

Функция штрих Шеффера (И-НЕ): Y = X1|X2 = NOT(X1X2)

Таблица истинности функции И-НЕ имеет вид:

 ???

Логический элемент И-НЕ обозначается на схемах следующим образом:

 ???

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

Элемент памяти триггер. Сумматор.

Триггер — это логическое устройство, способное хранить 1 бит информации. К триггерам относятся устройства, имеющие два устойчивых состояния. Простейший триггер — RS-триггер, образован из двух элементов И-НЕ (или ИЛИ-НЕ). Он позволяет запоминать 1 бит информации, поскольку информация в компьютере представляется в двоичном виде.

Cхема RS-триггера

 ???

Действие RS-триггера поясняется в приведенной ниже таблице истинности. S-вход установки (Set), R-вход сброса (Reset).

 ???

В обычном (исходном) состоянии на входы триггера поданы 1. Для записи информации на вход R подан 0. Для сброса информации и подготовки к приёму новой информации на вход S подается 0 и триггер вернётся в исходное состояние.

Поскольку один триггер запоминает 1 бит информации, то для запоминания 1 байта (8 бит) нужно 8 триггеров, для запоминания 1 Кб (1024 байт) надо 8192 триггеров. Современные микросхемы ОЗУ способны запоминать десятки мегабайт информации

Сумматор

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

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

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

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

Условное обозначение одноразрядного сумматора

 ??

При сложении чисел A и B в одном i-ом разряде приходится иметь дело с тремя цифрами:

  1. цифра ai первого слагаемого;

  2. цифра bi второго слагаемого;

  3. перенос pi–1 из младшего разряда.

В результате сложения получаются две цифры:

  1. цифра ci для суммы;

  2. перенос pi из данного разряда в старший.

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

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

Функциональные схемы. Таблицы истинности.

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

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

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

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

Задача нахождения среди равносильных схем наиболее простых является очень важной.

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

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

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

  1. Определить количество входных наборов значений переменных по формуле Q=2n, где n-количество входных переменных, для двух переменных Q=4. для трех Q=8 и т.д.

  2. Определить порядок выполнения операций в формуле.

  3. Найти значения промежуточных формул и конечного результата.

Таблица истинности для формулы ??? (Q=8):

 ?????

Из таблицы видно, что формула в некоторых случаях принимает значение 1, а в некоторых — 0, то есть является выполнимой.

Моделирование как метод научного познания. Классификация моделей.

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

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

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

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

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

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

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

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

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

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

Модели — представления объектов или процессов реального или вымышленного мира.

Виды моделей: графические представления, натурные, математические, информационно-логические и т.п.

Графические представления — графические изображения объектов и процессов.

Свойства моделей: адекватность, полнота, детальность и т.п.

Адекватность — степень соответствия модели представляемым объектам.

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

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

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

Информационно-логические модели — формальные описания объектов, допускающие их представление и обработку на ЭВМ.

Модели движения бывают аналитические, дифференциальные, разностные.

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

Этапы решения задач на ЭВМ.

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

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

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

сбоp инфоpмации о задаче;

фоpмулиpовка условия задачи;

опpеделение конечных целей pешения задачи;

определение формы выдачи результатов;

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

2. Анализ и исследование задачи, модели:

анализ существующих аналогов;

анализ технических и программных средств;

pазpаботка математической модели;

разработка структур данных.

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

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

выбор формы записи алгоритма (блок-схемы, псевдокод и др.);

выбоp тестов и метода тестиpования;

проектирование алгоритма.

4. Пpогpаммиpование:

выбор языка программирования;

уточнение способов организации данных;

запись алгоpитма на выбpанном языке пpогpаммиpования.

5. Тестиpование и отладка:

синтаксическая отладка;

отладка семантики и логической стpуктуpы;

тестовые pасчеты и анализ pезультатов тестиpования;

совершенствование пpогpаммы.

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 — 5.

7. Сопровождение программы:

доработка программы для решения конкретных задач;

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

Математическая модель.

Математическая модель — это система математических соотношений — формул, уравнений, неравенств и т.д., отражающих существенные свойства объекта или явления.

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

"... Обыватель формулирует математику задачу следующим образом: "Сколько времени будет падать камень с высоты 200 метров?" Математик начнет создавать свой вариант задачи приблизительно так: "Будем считать, что камень падает в пустоте и что ускорение силы тяжести 9,8 метра в секунду за секунду. Тогда ..."

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

— Хорошо, — согласится математик. — Будем считать, что камень имеет сферическую форму и диаметр... Какого примерно он диаметра?

— Около пяти сантиметров. Но он вовсе не сферический, а продолговатый.

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

Если тот, кто поставил задачу на "человеческом" языке не будет дальше вмешиваться в ход мысли математика, то последний через некоторое время даст численный ответ. Но "потребитель" может возражать по-прежнему: камень на самом деле вовсе не эллипсоидальный, давление воздуха в том месте и в тот момент не было равно 760 мм ртутного столба и т.д. Что же ответит ему математик?

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

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

В.Н. Тростников"Человек и информация" (Издательство "Наука", 1970)

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

Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели — так называемого "вычислительного эксперимента".

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

Итак, создавая математическую модель для решения задачи, нужно:

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

определить, что считать исходными данными и результатами;

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

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

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

Алгоритм. Свойства алгоритма. Формы представления алгоритмов.

Алгоpитм — точное и понятное пpедписание исполнителю совеpшить последовательность действий, направленных на решение поставленной задачи.

Название "алгоритм" произошло от латинской формы имени среднеазиатского математика аль-Хорезми — Algorithmi. Алгоритм — одно из основных понятий информатики и математики.

Основные свойства алгоритмов следующие:

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

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

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

Pезультативность (или конечность). Это свойство состоит в том, что алгоpитм должен пpиводить к pешению задачи за конечное число шагов.

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

Формы представления алгоритмов.

На практике наиболее распространены следующие формы представления алгоритмов:

словесная (записи на естественном языке);

графическая (изображения из графических символов);

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

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

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

Алгоритм может быть следующим:

  1. задать два числа;

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

  3. определить большее из чисел;

  4. заменить большее из чисел разностью большего и меньшего из чисел;

  5. повторить алгоритм с шага 2.

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

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

• такие описания строго не формализуемы;

• страдают многословностью записей;

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

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

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

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

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

В таблице приведены наиболее часто употребляемые символы.

Название символа Обозначение и пример заполнения

Пояснение

Процесс

Вычислительное действие или последовательность действий

Решение

Проверка условий

Модификация

Начало цикла

Предопределенный процесс

Вычисления по подпрограмме, стандартной подпрограмме

Ввод-вывод

Ввод-вывод в общем виде

Пуск-останов

Начало, конец алгоритма, вход и выход в подпрограмму

Документ

Вывод результатов на печать

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

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

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

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

194