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

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

 

 

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

2. Базовая структура "ветвление".

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

Структура ветвление существует в четырех основных вариантах:

если—то;

если—то—иначе;

выбор;

выбор—иначе.

3. Базовая структура "цикл".

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

Типы данных.

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

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

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

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

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

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

Целочисленные типы - обозначают множества целых чисел в различных диапазонах. Имеется пять целочисленных типов, различающихся диапазоном допустимых значений и размером занимаемой оперативной памяти. Целочисленные типы обозначаются идентификаторами: Byte, ShortInt, Word, Integer, LongInt; их характеристики приведены в следующей таблице.

Тип Диапазон Размер в байтах
Byte ShortInt Word Integer LongInt 0 ... 255 -128 ... 127 0 ... 65535 -32768 ... 32767 -2147483648 ... 2147483647 1 1 2 2 4

Логический тип (Boolean) - состоит всего из двух значений: False (ложно) и True (истинно). Слова False и True определены в языке и являются, по сути, логическими константами. Регистр букв в их написании несущественен: FALSE = false. Значения этого типа являются результатом вычислений условных и логических выражений и участвуют во всевозможных условных операторах языка.

Допустимые операции:
- присваивание;
- сравнение: <, >, >=, <=, <>, =;
- логические операции: NOT, OR, AND, XOR

Символьный тип (Char) - это тип данных, состоящих из одного символа (знака, буквы, кода). Значением типа Char может быть любой символ из набора ASCII. Если символ имеет графическое представление, то в программе он записывается заключенным в одиночные кавычки (апострофы), например:

'ж' 's' '.' '*' ' '-(пробел)

Для представления самого апострофа его изображение удваивается: ''''.
Если же символ не имеет графического представления, например, символ табуляции или символ возрата каретки, то можно воспользоваться эквивалентной формой записи символьного значения, состоящего из префикса # и ASCII-кода символа:

#9 #32 #13

Допустимые операции:
- присваивание;
- сравнение: <, >, >=, <=, <>, =. Большим считается тот символ, который имеет больший ASCII-номер.

Строковый тип (String, String[n]) - этот тип данных определяет последовательности символов - строки. Параметр n определяет максимальное количество символов в строке. Если он не задан, подразумевается n=255. Значение типа "строка" в программе запиывается как последовательность символов, заключенных в одиночные кавычки (апострофы), например

'Это текстовая строка' 'This is a string'
'1234' -
это тоже строка, не число
'' - пустая строка

Допустимые операции:
- присваивание;
- сложение (конкатенация, слияние); например, S := 'Зима'+' '+'пришла!';
- сравнение: <, >, >=, <=, <>, =.

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

Вещественные типы - обозначают множества вещественных чисел в различных диапазонах. Имеется пять вещественных типов, различающихся диапазоном допустимых значений и размером занимаемой оперативной памяти. Вещественные типы обозначаются идентификаторами: Real, Single, Double, Extended, Comp; их характеристики приведены в следующей таблице.

Тип Диапазон Размер в байтах
Real Single Double Extended Comp 2.9·10-39 ... 1.7·1038 1.5·10-45 ... 3.4·1038 5.0·10-324 ... 1.7·10308 3.4·10-4932 ... 1.1·10-4932 -2·1063 ... +2·1063-1 6 4 8 10 8

 












Языки программирования.

Классификация языков программирования

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

Компилируемые языки. К этой группе относят языки программирования, исходный код которых преобразуется специальной программой-компилятором в объектные модули,
которые затем собираются при помощи программы сборки
(линковщика) в единый загружаемый модуль. Этот модуль представляет собой выполняемую программу. Компилируемыми являются языки С, C++, Object, Pascal.
Интерпретируемые языки. К этой группе относят языки программирования, исходный код которых считывается и выполняется специальной программой- интерпретатором инструкция за инструкцией. Интерпретируемыми являются
большинство версий языков Basic и Forth.

По факту созданию процесса языки программирования делятся на создающие процесс и сценарные.

Языки, создающие процесс. После запуска программы создается отдельный
процесс выполнения этой программы. Так происходит в языках С, C++, Oblect
Pascal.

Сценарные языки. Сценарий, или скрипт, — это программа, которую выполняет
другая программа. В качестве примером можно привести скрипты оболочки
в UNIX, программы на языках PHP, Python, Ruby.

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

Автономные языки программирования (С, C++, Java) являются автономным
инструментом для создания программ.

Встроенные языки программирования являются частью какой-то системы
и позволяют создавать программы, предназначенные для работы только в этой
системе. Пример наиболее известного встроенного языка — VBA (Visual Basic
for Application), который используется только внутри приложений Microsoft
Office для автоматизации и расширения их функциональности. Встроенными
являются также язык программирования системы 1С и язык JavaScript, который
выполняется только внутри интернет-приложений.

Языки, компилируемые на основе псевдокода («шитого» кода). В этих языках исходный код программы компилируется и выполняется как последовательность вызовов подпрограмм из существующих библиотек. Таковыми являются некоторые версии Basic.

Совмещенные языки . В совмещенных языках исходный код проходит две стадии обработки. На первой стадии происходит компиляция исходного кода до уровня промежуточного языка (байт-код в Java или язык MSIL в технологии .NET). На второй стадии происходит интерпретация промежуточного кода (в Java этим занимается виртуальная машина Java) или докомпиляция промежуточного кода до выполняемого машинного кода (эту функцию осуществляет среда выполнения CLR в технологии .NET).

По уровню отдаленности языка программирования от естественных языков их делят на низкоуровневые и высокоуровневые.

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

Языки высокого уровня ближе лингвистически к человеческому языку. Это все
остальные языки программирования.

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

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

Функциональные языки описывают требуемый результат в виде набора вложен­
ных друг в друга функций (Haskell).

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

Объектно-ориентированные языки способны определять абстрактные типы данных и реализовывать основные парадигмы объектно-ориентированного программирования (ООП): инкапсуляцию, наследование и полиморфизм (C++, Java, Object Pascal, и др.).






















Дата: 2019-02-02, просмотров: 271.