Смекни!
smekni.com

Курс лекции по Информатике (стр. 4 из 11)

ПРИМЕР. Определить высоту треугольника X по заданной площади C, если известно, что основание больше высоты на ве­личину B.

Известно, что площадь треугольника равна половине про­изведения основания на высоту, то есть:

C= X×(X+B)/2.

Отсюда X определяется как корень уравнения:

X2 + B×X- 2×C = 0.

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

Выбор численного метода решения задачи. Практически для всех задач математического анализа не известны формулы для точ­ных решений. Численные математические методы позволяют свести решение самых разнообразных задач к выполнению определенной последовательности четырех арифметических действий. Разработка численных методов относится к вычислительной математике.

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

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

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

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

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

Далее логическая схема описывается в виде программы на языке, который понимает машина (язык машинных команд), или на языке программирования, который машина понимает после того, как с помощью специальной программы - транслятора, исходная программа будет переведена на язык машины. Такими языками програм­мирования являются АЛГОЛ, КОБОЛ, ФОРТРАН, ПЛ/1, Си, Паскаль и другие.

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

Решение задачи на ЭВМ. Непосредственное решение на машине не требует высокой квалификации, так как порядок работы на машине при решении задачи описывается в инструкциях по эксплуатации программы.

Лекция 6

Принцип действия ЭВМ

Электронные цифровые вычислительные машины предназначены для обработки данных, представленных в дискретной форме. При решении ин­женерных и экономических задач ЭВМ оперирует с числами и алфа­витно-цифровыми словами (операндами), которые в виде исходных данных подаются на вход машины и в виде результата получаются на ее выходе. ЭВМ может выполнять некоторый ограниченный набор арифметических и логических действий (операций), причем в каж­дый момент времени машина в состоянии выполнить лишь одно из них. Поэтому всякий вычислительный процесс должен быть пред­ставлен в виде последовательности инструкций (команд), записан­ных в том порядке, в котором необходимо выполнять действия. Так, например, вычисление значения функции Y=AX2+B сводится к выполнению действий умножения и сложения в следующем порядке:

Наименование Участвующие числа (операнды) результат
Действия 1 2
Умножение A X P1=AX
Умножение P1 X P2=AX2
Сложение P2 B Y=AX2+B

В таблице через P1 и P2 обозначены числа, равные результа­ту соответствующих действий, а через Y - число, равное зна­чению искомой функции.

Информация о том, какие именно действия должна выполнять ЭВМ в настоящий момент, над какими операндами и куда следует поместить результат, задается с помощью команд. Команду для ЭВМ можно представить в общем виде следующим образом:

Формат КОП Адрес1 Адрес2 Адрес3
Двоичный код 10010 10111 10001 11101

Где КОП – код операции, Адрес1 – адрес первого сооперанда, Адрес2 – адрес второго сооперанда, Адрес3 – адрес результата операции над сооперандами.

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

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

Для выполнения программ компьютер временно записывает программу и данные в основную (оперативную) память. Минимальной единицей информации в ЭВМ является бит. Бит может быть либо “выключен”, при этом его значение равно нулю, либо “включен”, тогда его значение равно единице.

Минимально адресуемой единицей памяти является байт. Байт состоит из восьми информационных бит. Восемь бит обеспечивают основу для двоичной арифметики и для представления символов, таких как буква A или символ *. По соглашению информационные биты в байте пронумерованы от 0 до 7 справа налево. Процессор в персональном компьютере использует 16-битовую архитектуру, поэтому он имеет доступ к 16-битовым значениям как в памяти, так и в регистрах. Шестнадцатибитовое (двухбайтовое) поле называется словом. Биты в слове пронумерованы от 0 до 15 справа налево. В одном байте можно представить 256 различных комбинаций из нулей и единиц от 00000000 до 11111111, то есть в одном байте можно представить коды 256 символов.

С целью стандартизации в компьютерах используется американский национальный стандартный код для обмена информацией ASCII (AmericanNationalStandardCodeforInformationInterchange – читается “аски”-код). Именно по этой причине комбинация битов 01000001 обозначает букву A. Наличие стандартного кода облегчает обмен данными между различными устройствами компьютера. Восмибитовый расширенный ASCII-код, используемый в персональных компьютерах, обеспечивает представление 256 символов, включая символы русского алфавита.

Все байты памяти пронумерованы последовательно от 0 – минимального адреса памяти. Процессор обеспечивает доступ к байтам или словам в памяти. Для задания адреса необходимо двойное поле. Например, в 16-разрядном поле можно задать адрес от 0 до 65635. Таким образом, можно адресоваться к памяти с объемом 65536 байт или 64 Кбайт (1 Кбайт = 1024 байт, а 1 Мбайт = 1024 Кбайт).

Архитектура компьютеров

В настоящее время сверхбыстродействующих суперкомпьютеров, делающих более 100 млн. операций в секунду насчитывается в мире несколько сотен. Известные модели суперкомпьютеров это CRAY-1 и CYBER-205. Достигнутый уровень возможностей таких машин, безусловно, определяется успехами микроэлектроники, но в такой же степени он зависит от новых концепций в архитектуре компьютеров. Под термином “архитектура” понимается логическая организация ВМ, как ее представляет себе программист. Рассмотрим кратко основные функции компьютера. Компьютер состоит, в сущности, из трех частей: памяти, процессора команд и процессора обработки данных. Для простоты исключим рассмотрение системы ввода-вывода, которая обеспечивает связь с внешней средой. Память содержит как массивы данных, так и команды; обращение к отдельным ячейкам памяти производится при помощи соответствующих им адресов. Каждый элемент данных, хранимых в памяти компьютера это, по сути, операнд, то есть то, над чем можно производить математические действия; к данным относятся и результаты, полученные в процессе предыдущих вычислений. Команды закодированы в виде последовательности битов, которые однозначно определяют выполнение операций и указывают адреса для обращения к памяти (КОП Адрес1 Адрес2 Адрес3 – 00111 10010 11101 10001). Команды организуются в программы. Набор команд, или аппаратно-реализованных операций, закладывает фундамент архитектуры. Основные элементы компьютера представлены на рис.