Основные способы записи алгоритмов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основные способы записи алгоритмов



Основные понятия алгоритмизации

Понятие алгоритма

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

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

 

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

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

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

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

4. Результативность (конечность) предполагает, что алгоритм дол­жен быть нацелен на получение конечного результата, т.е. исполнение алго­ритма должно закончиться за конечное число шагов.

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

 

Основные способы записи алгоритмов

 

1. Словесный способ, т.е. описание алгоритма на естественном языке (словами).

2. Формульно-словесный способ, в котором кроме слов могут исполь­зоваться математические формулы.

3. Графический способ, т.е. в виде блок-схемы.

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

Типы данных.

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

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

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

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

Типы данных принято делить на простые (базовые) и структурированные (сложные).

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

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

вещественный (в Паскале обозначается как Real, в языке Visual Basic как Double) определяет множество действительных чисел (в ограниченном диапазоне),

логический (обозначается как Boolean) определяет множество из двух значений: истина и ложь,

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

Основные типы языка VBA перечислены в главе 3 в пункте 3.2 (в таблице 3) с указанием диапазона и размера занимаемой памяти по каждому типу данных.

 

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

 

К основным структурированным типам данных относятся: массив, запись и файл.

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

При описании переменной типа массив указывается имя массива, а также тип элементов данного массива (описание массива в языке VBA см. в пункте 3.2).

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

Пример. Х – одномерный массив из 10 элементов целого типа. Требуется присвоить пятому элементу массива Х значение 10.

На языке Паскаль это действие запишется так:

X[5]:=10;

На языке Бейсик (в том числе на VBA):

X(5)=10

 

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

Стандартные алгоритмы

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

Язык и система программирования Visual Basic for Application (VBA)

Типы данных в языке VBA

В языке VBA так же, как в классическом языке Basic, все типы данных можно подразделять на простые и структурированные.

К простым типам относятся: целый, вещественный, логический.

К структурированным типам относятся: дата; массив; строка; тип, определяемый пользователем.

В таблице 3 приведены названия, обозначения, размер памяти в байтах (занимаемый значением этого типа), а также диапазоны допустимых значений для простых типов данных языка VBA и типов Variant, Object и String.

Целый тип данных в VBA представлен тремя подтипами: Byte, Integer, Long.

Вещественный тип имеет 4 подтипа: Single, Double, Currency, Decimal.

Логический тип обозначается как Boolean.

Таблица 3.

Тип данных Размер памяти (байты) Диапазон значений
Byte (байтовый)   От 0 до 255
Integer (целый)   От -32768 до 32767
Long (длинное целое)   От -2147483648 до 2147483647
Boolean (логический)   True, False
Single (число с плавающей запятой одинарной точности)   От -3,4E+38 до -1,4E-45 и от 1,4E-45 до 3,4E+38
Double (число с плавающей запятой двойной точности)   От -1,8E+308 до -4,9E-324 и от 4,9E-324 до 1,8E+308
Currency (денежный)   От -922337203685477,5808 до 922337203685477,5807
Decimal (число с фиксированной запятой)   От -79228162514264337593543950335 до для целых чисел; от -7,9228162514264337593543950335 до 7,9228162514264337593543950335 для чисел с фиксированной запятой (28 знаков после десятичной точки)
Object (объект)   Любой указатель объекта
String (строка переменной длины) 10+длина строки От 0 до 2 миллиардов
String (строка постоянной длины) Длина строки От 0 до ≈ 65400
Variant (числовые подтипы)   Любое числовое значение вплоть до границ Double
Variant (строковые подтипы) 22+длина строки Как для строки (String) переменной длины
Date (дата)   January 1.100 – December 31.9999 т.е. 01.01.0100 – 31.12.9999

 

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

Синтаксис: Dim <идентификатор> As String * <длина строки>

Пример: Dim S As String *10 – описание переменной S как строки с максимальной длиной 10 символов.

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

В VBA для строк может использоваться операция «конкатенация», которая позволяет объединять несколько строк в одну. Она обозначается либо знаком +, либо &.

Пример: S = ”Иванов”

F = S + ” ” + ”Иван”

В результате строковая переменная F примет значение ”Иванов Иван”.

 

Тип данных Variant. Данный тип является особенностью VBA (отсутствует в классическом Бейсике). Переменная типа Variant может содержать данные любого типа. Если для переменной не объявлен тип данных, то по умолчанию используется тип данных Variant.

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

 

Тип данных Массив. В VBA могут использоваться массивы двух типов: статические и динамические. Границы статического массива задаются в программе заранее с помощью оператора Dim.

Синтаксис:

Dim <идентификатор>(<номер последнего элемента>) As <тип эл-тов>

Пример: Dim X(100) As Integer - описание одномерного массива, состоящего из 100 целых чисел.

В VBA, как и в классическом Бейсике, индексирование массива по умолчанию начинается с нуля, т.е. индекс 0 обозначает первый элемент массива, индекс 1 – второй и т.д. Чтобы задать нумерацию элементов массива с 1, необходимо использовать оператор:

Option Base 1

С помощью оператора Dim можно описывать также многомерные массивы (имеющие более одного индекса).

Пример: Dim Y(10,12) As Double – описание двумерного массива вещественных чисел двойной точности, который представляет собой матрицу из 10 строк и 12 столбцов.

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

Пример: Dim A() As Variant

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

Пример: ReDim A(20)

 

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

Синтаксис: [Let] <идентификатор> = <выражение>

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

В VBA в левой части может быть записан не только идентификатор переменной, но и идентификатор свойства какого-либо объекта.

Примеры: 1) X = 1, 2) A = ”Академия”, 3) Y = - 1.5, 4) Z = 3 + X ^ 5 – Sin (Х)

 

Условный оператор.

Синтаксис: If <условие> Then <оператор 1> [ Else <оператор 2> ]

Условный оператор находит значение условия – логического выражения. Если оно «истина», то выполняется оператор 1. Если оно «ложь», то выполняется оператор 2.

Примеры:

1) If X>0 Then Y = X^ 2 + 3 Else Y = X ^ 3 – 1 (ветвление)

2) If А>В Then А = В (обход)

Если требуется задать не одно, а сразу несколько действий после Then или Else, то можно воспользоваться блочной формой синтаксиса:

If <условие> Then

<оператор 1>

[ Else

<оператор 2>

… ]

End If

Пример: If X>0 Then

Y = X + Sin (3 * X + 8)

Z = (Y + 1) / Y ^ 2

Else

Y = 0

Z = 1

End If

 

Типы процедур

 

Процедура – наименьшая единица программного кода, на которую можно ссылаться по имени и которая может выполняться независимо. В VBA можно использовать процедуры двух типов: подпрограммы и функции.

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

Синтаксис (упрощенный):

Sub <идентификатор> ([<список аргументов>])

<оператор 1>

End Sub

Пример описания подпрограммы:

Sub Ras (X As Integer, Y As Double)

Z1 = X ^ 5 + Cos (X)

Z2 = X + Y + Sin (X)

End Sub

Данная подпрограмма по заданным значениям X и Y (аргументы) вычисляет значения переменных Z1 и Z2.

 

Примеры обращения к подпрограмме:

1) RAS 10, 12.45

2) A = 5: B = – 678.32: RAS A, B

В примере 1 подпрограмма RAS будет вычислять результат при значениях аргументов Х=10, Y=12,45. В примере 2 подпрограмма RAS в качестве исходных данных будет использовать Х=5 и Y= – 678.32.

 

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

Синтаксис (упрощенный):

Function <идентификатор> ([<список аргументов>])

<оператор 1>

End Function

Пример описания функции:

Function Y (X As Integer) As Double

Y = (X – 1) / (X + 2)

End Function

Данная функция вычисляет значение Y (имя функции) по заданному значению X (аргумент).

Примеры обращения к функции:

1) Z = Y (25)

2) X = 12: Z = 5 * Y(X) ^ 3

В примере 1 функция Y будет вычислена при исходном значении аргумента Х=25, а ее результат будет присвоен переменной Z. В примере 2 функция Y будет вычисляться для Х=12, а ее результат будет использован для вычисления Z (по формуле Z=5*Y(X)^3).

 

Основные понятия алгоритмизации

Понятие алгоритма

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

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

 

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

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

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

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

4. Результативность (конечность) предполагает, что алгоритм дол­жен быть нацелен на получение конечного результата, т.е. исполнение алго­ритма должно закончиться за конечное число шагов.

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

 

Основные способы записи алгоритмов

 

1. Словесный способ, т.е. описание алгоритма на естественном языке (словами).

2. Формульно-словесный способ, в котором кроме слов могут исполь­зоваться математические формулы.

3. Графический способ, т.е. в виде блок-схемы.

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



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 388; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.142.146 (0.073 с.)