Словестный способ не имеет широкого распространения, так как такие описания:
строго не формализуемы;
страдают многословностью записей;
допускают неоднозначность толкования отдельных предписаний.
Псевдокод - система обозначений и правил предназначена для единообразной записи алгоритмов. Псевдокод занимает промежуточное место между естественным и формальным языками. Алгоритмы могут на нем записываться и читаться как обычный текст. В псевдокоде не приняты строгие синтаксические правила для записи команд, что облегчает запись алгоритма на стадии его проектирования. В псевдокоде, есть служебные слова, смысл которых определен. Они выделяются в печатном тексте жирным шрифтом, а в рукописном тексте подчеркиваются.
Графически алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий (операторов). Такое графическое представление называется схемой алгоритма или блок-схемой.
В блок-схеме каждому типу действий соответствует геометрическая фигура, представленная в виде блочного символа. Эти символы соединяются линиями переходов, определяющими очередность выполнения действий.
В таблице приведены наиболее часто употребляемые символы.
Название символа | Обозначение и пример заполнения | Пояснение |
Процесс | Вычислительное действие или последовательность действий | |
Решение | Проверка условий | |
Модификация | Начало цикла | |
Предопределенный процесс | Вычисления по подпрограмме, стандартной подпрограмме | |
Ввод-вывод | Ввод-вывод в общем виде | |
Пуск-останов | Начало, конец алгоритма, Вход и выход в подпрограмму |
Стандартные типы данных;
Целочисленный тип - содержит числовые значения, целые числа. Числа упорядочены по возрастанию:..., -2, -1, 0, 1, 2, 3..
Логический тип - содержит всего 2 значения - True, False, которые тоже упорядочены: False, True (следует из соответствия False - 0, True - 1).
Символьный тип - символы кодовой таблицы. Поскольку каждому символу соответствует свой код, то символы расположены в порядке увеличения кода.
Из того, что перечисленных типы данных упорядочены, следует, что все значения образуют конечную последовательность.
Целочисленные типы. позволяют хранить целые числа. Они хранят числа положительные или отрицательные, а некоторые хранят только положительные. Чем больше значений содержит тип, тем больше он памяти занимает. Рассмотрим целочисленные типы данных.
Сначала рассмотрим беззнаковые типы- хранят только положительные числа и ноль:
Byte - значения 0..255 - занимает в памяти 1 байт.
Word - значения 0..65535 - 2 байта.
LongWord - значения 0..4294967295 - 4 байта.
Теперь типы со знаком (отрицательные "-" впереди, неотрицательные "+", так и без него):
ShortInt - значения -128..127 - 1 байт.
SmallInt - значения -32768..32767 - 2 байта.
LongInt - значения -2147483648..2147483647 - 4 байта.
Int64 - значения -2^53..2^53-1 - 8 байт.
Рекомендуется использовать именно эти типы, т.к. компилятор создаёт более быстрый код:
Integer - значения -2147483648..2147483647 - 4 байта.
Cardinal - значения 0..4294967295 - 4 байта.
Целые числа представляются как в десятичной, так шестнадцатеричной системе счисления, $xxxxxxxx, где x - один из символов 0, 1,..E, F. Все цвета представляются в виде шестнадцатеричных чисел.
Логические типы. Существуют следующие логические типы: Boolean, принимает значение True и False, ByteBool, WordBool и LongBool, Последние для обеспечения совместимости с другими языками и системами программирования. Используется только Boolean. Логическое значение в памяти занимает 1 байт.
Символьные типы. Обеспечивают хранение отдельных символов. Основной тип данных - Char, который содержит символы с кодами 0..255. Существуют ещё типы AnsiChar и WideChar. Тип AnsiChar эквивалентен типу Char. Занимает в памяти 1 байт.
Для кодирования используется код ANSI (American National Standards Institute). Тип WideChar кодируется международным кодом Unicode и занимает в памяти 2 байта. Таблица Unicode включает символы практически всех языков мира.
Вещественные типы. Для хранения вещественных- действительных чисел. Отличаются, числом цифр после запятой. Вот эти типы:
Real (он же Double) - значения от 5.0x10^-324 до 1.7x10^308, точность - 15-16 цифр, занимает в памяти 8 байт.
Real48 - значения от 2.9x10^-39 до 1.7x10^38, точность - 11-12 цифр, 6 байт памяти.
Single - значения от 1.7x10^-45 до 3.4x10^38, точность - 7-8 цифр, 4 байта.
Extended - от 3.6x10^-4951 до 1.1x10^4932, точность - 19-20 цифр, 10 байт памяти.
Comp - от -2x10^63+1 до 2x10^63-1, точность - 19-20 цифр, 8 байт.
Currency - от -922337203685477.5808 до 922337203685477.5807, точность - 19-20 цифр, в памяти занимает 8 байт.
Перед вещественными числами может стоять знак "+" или "-". Возможны 2 записи вещественных чисел - с фиксированной точкой и с плавающей.
С фиксированной точкой целая и дробная части отделяются точкой или запятой.
С плавающей точкой, запись которая отделяется от самого числа буквой "E". Например, запись 1.5e2 означает число 1.5 с порядком +2, т.е. это 1.5x10^2 = 150.
Типы Comp и Currency служат для точных денежных расчётов. Comp, хранит целые числа, при задании чисел с дробной частью они преобразуются в целое число.
Интервальные типы данных. (ограниченные) получаются из имеющихся типов путём ограничения диапазона значений. Интервал задаётся двумя константами - начальной и конечной границей. При присвоении значения переменной выполняется проверка нового значения. Если значение не попадает в диапазон, выдаётся сообщение об ошибке. Ограниченный тип данных задается на основе простого упорядоченного типа. Значение правой границы должно быть больше значения левой границы.
Ограниченные типы данных также описывают в разделе type, между константами-границами ставятся две точки.
Например, мы хотим в программе работать с датами. Можно создать ограниченные типы данных для значений дня, месяца и года
type
TDay = 1..31;
TMonth = 1..12;
TYear = 1900..2100;
Составные (структурированные) типы данных
Структуры данных хранят сразу несколько значений, некоторые не имеют ограничения на количество значений - редел определяется объёмом памяти.
Представление основных структур: следование, ветвление, повторение.
Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых элементов.
Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование; ветвление; цикл.
Базовая структура СледованиеОбразуется из последовательности действий, следующих одно за другим: |
Базовая структура Ветвление.
Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма.
Структура ветвление существует в четырех основных вариантах:
1. если - то |
2. если - то - иначе |
3. выбор |
4. выбор - иначе |
Базовая структура цикл.
Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.
Основные разновидности цикла:
Цикл пока |
Цикл для. |
Общее равновесие, эффективность и благосостояние
Общее равновесие - это система взаимосвязанных цен, обеспечивающая одновременное равенство спроса и предложения на всех рынках. Общее экономическое равновесие - это такое состояние экономики, когда все рынки одновременно находятся в равновесии, а каждый субъект максимизирует свою целевую функцию.
Эффективность производства - это такая ситуация, в которой при данных производственных ресурсах и существующем уровне знаний нельзя произвести больший объем одного блага, не жертвуя при этом возможностью производства некоторого объема другого блага. Понятие эффективности производства, как и более широкое понятие экономической эффективности, включает в себя избежание ущерба.
Эффективность производства достигается тогда, когда ресурсы распределяются таким образом, чтобы обеспечить максимально возможный чистый выигрыш от их применения. Эффективность производства выступает критерием успеха хозяйственной деятельности людей, применяющих ресурсы. Если достигнута эффективность производства, то никакое изменение методов производства или дальнейший обмен благами не приведет к дополнительному выигрышу.