- 6 Вопрос. Принципы алгоритмизации
- 7 Вопрос. Принципы, лежащие в основе создания эффективных алгоритмов
- Основные принципы алгоритмизации и программирования
- Просмотр содержимого документа «Основные принципы алгоритмизации и программирования»
- 5. Методы и технологии моделирования.
- 6.Основные принципы алгоритмизации и программирования. Понятие формализации, алгоритмизации, программирования.
6 Вопрос. Принципы алгоритмизации
На сегодняшний день самой популярной методикой программирования является структурное программирование «сверху – вниз». Эта технология программирования представляет собой процесс пошагово разбиения алгоритма на все более мелкие части с целью получить такие элементы, для которых можно легко написать конкретные предписания.
Структурная алгоритмизация основывается на двух принципах:
1) последовательная детализация «сверху — вниз»;
2) ограниченность базового набора структур для построения алгоритмов любой степени сложности.
Из принципов вытекают требования структурного программирования:
1) программа должна составляться мелкими шагами, таким образом, сложная задача разбивается на достаточно простые, легко воспринимаемые части;
2) логика программы должна опираться на минимальное число достаточно простых базовых управляющих структур.
Базовый набор структурной алгоритмизации содержит линейные, разветвляющиеся и циклические структуры.
Можно перечислить основные свойства и достоинства структурного программирования:
1) возможность преодоления барьера сложности программ;
2) возможность демонстрации правильности программ на различных этапах решения задачи;
4) простота модификации программ.
7 Вопрос. Принципы, лежащие в основе создания эффективных алгоритмов
Разработке алгоритма предшествуют такие этапы, как формализация и моделирование задачи. Формализация предполагает замену словесной формулировки решаемой задачи краткими символьными обозначениями, близкими к обозначениям в языках программирования или к математическим.Моделирование задачи является важнейшим этапом, целью которого является поиск общей концепции решения. Обычно моделирование выполняется путем выдвижения гипотез решения задачи и их проверке любым рациональным способом (прикидочные расчеты, физическое моделирование и т.д.). Результатом каждой проверки является либо принятие гипотезы, либо отказ от нее и разработка новой.
При разработке алгоритма используют следующие основные принципы.
- Принцип поэтапной детализации алгоритма (другое название — «проектирование сверху-вниз»). Этот принцип предполагает первоначальную разработку алгоритма в виде укрупненных блоков (разбиение задачи на подзадачи) и их постепенную детализацию.
- Принцип «от главного к второстепенному», предполагающий составление алгоритма, начиная с главной конструкции. При этом, часто, приходится «достраивать» алгоритм в обратную сторону, например, от середины к началу.
- Принцип структурирования, т.е. использования только типовых алгоритмических структур при построении алгоритма. Нетиповой структурой считается, например, циклическая конструкция, содержащая в теле цикла дополнительные выходы из цикла. В программировании нетиповые структуры появляются в результате злоупотребления командой безусловного перехода (GoTo). При этом программа хуже читается и труднее отлаживается.
Основные принципы алгоритмизации и программирования
Для первых ЭВМ с ограниченной памятью основным показателем качества программы являлась ее экономичность по занимаемой памяти и времени счета. Чем короче получалась программа, тем был выше класс программиста.
С ростом памяти и быстродействия ЭВМ важными качественными характеристиками программ становятся их простота и наглядность.
По мере развития компьютерной техники развивались методика и технология программирования. Сначала возникли командное и операторное программирование, в 1960-х гг. бурно развивались структурное программирование, линии логического и функционального программирования, а в настоящее время широко используются объектно-ориентированное и визуальное программирование.
Просмотр содержимого документа
«Основные принципы алгоритмизации и программирования»
ОСНОВНЫЕ ПРИНЦИПЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
При решении той или иной информационной задачи сначала следует попытаться подобрать адекватное программное средство (электронные таблицы, системы управления базами данных, математические пакеты и т.д.), и только если эти средства не позволяют решить поставленную задачу, использовать универсальные языки программирования.
Различают программистов двух категорий:
СИСТЕМНЫЕ ПРОГРАММИСТЫ
ПРИКЛАДНЫЕ ПРОГРАММИСТЫ
— это разработчики базовых програм-мных средств ЭВМ (операционные системы, трансляторы, сервисные средства и т.д.), профессионалы высочайшего уровня
— разрабатывают средства програм-много обеспечения ЭВМ, для решения задач в отдельных областях деятельности (науке, производстве, сфере обслуживания и т.д.)
По мере развития компьютерной техники развивались методика и технология программирования. Сначала возникли командное и операторное программирование , в 1960-х гг. бурно развивались структурное программирование , линии логического и функционального программирования , а в настоящее время широко используются объектно-ориентированное и визуальное программирование .
Объектно-ориентированное программирование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
Визуальное программирование — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста.
Современными языками объектно-ориентированного програм-мирования являются С++ и Java . С середины 90-х годов многие объектно–ориентированные языки реализуются как системы визуального проектирования, в которых интерфейсная часть программного продукта создается в диалоговом режиме, практически без написания программных операторов. К объектно–ориентированным системам визуального проектирования относятся Visual Basic, Delphi, C++ Builder, Visual C++ .
Язык VBA (Visual Basic for Applications) – язык приложений Microsoft Office (Excel, Word, Access, Power Point и др). VBA соблюдает основной синтаксис языка и правила программирования языков Basic–диалектов, позволяет создавать макросы для автоматизации выполнения некоторых операций и графический интерфейс пользователя, интеграцию между различными программными продуктами.
В 1969 г. Швейцарским профессором Никлаусом Виртом был создан язык программирования Паскаль , предназначенный для обучения студентов структурной методике программирования.
Фирма Borland Inernational разработала систему программирования Турбо Паскаль для ПК, которая использовалась для научных и производственных целей.
Никлаус Вирт род. 15.02.1934г.
Начиная с версии 5.5, в Турбо Паскаль вводятся средства поддержки объектно-ориентированного программирования. В дальнейшем это привело к созданию Object Pascal .
В начале 1990-х гг. объединение элементов объектно-ориентирован-ного программирования в Object Pascal с визуальной технологией программирования привело к созданию системы программирования Delphi .
Данные – совокупность величин, с которыми работает компьютер.
окончательные (результаты)
При решении квадратного уравнения ax 2 +bx+c = 0 исходными данными являются коэффициенты a, b, c , результатами – корни уравнения х 1, х 2, а промежуточными данными – дискриминант уравнения D=b 2 -4ac .
Любая величина занимает свое определенное место в памяти ЭВМ (ячейку памяти) и имеет три основных свойства: имя, значение и тип .
В алгоритмах и языках программирования величины подразделяются на константы и переменные .
Константа – неизменная величина, имеющая собственное значение.
Переменные величины – изменяют свое значение в ходе выполнения программы, обозначаются символическими именами.
В каждом языке программирования существует своя концепция и своя система типов данных, но в любой язык входит минимальный набор основных типов данных: целые, вещественные, логические и символьные .
Целые положительные и отрицательные числа. (5; -10 и т.д.)
Внутреннее представление
Арифметические операции c целыми числами и операции отношений (, =).
Целые и дробные числа. (2.5; -0,01 и т.д.)
Формат с фиксированной точкой
Арифметические операции и операции отношений.
Логические операции: И (and), ИЛИ (or), НЕТ (not) и операции отношений (, =).
Формат с плавающей точкой
Любые символы компьютерного алфавита. (х; @; $ и т.д.)
Коды таблицы символьной кодировки.
По структуре данные подразделяются на простые и сруктурированные .
Простые (скалярные) – одна величина – одно значение.
Структурированные – одна величина – множество значений (массивы, строки, множества и др.)
Независимо от того, на каком языке программирования будет написана программа, алгоритм решения любой задачи на ЭВМ может быть составлен из команд:
- Присваивания ( := )
- Ввода
- Вывода
- Обращение к вспомогательному алгоритму
- Цикла
- Ветвления
ЛИНЕЙНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ АЛГОРИТМЫ
Основным элементарным действием в вычислительных алгоритмах является присваивание значения переменной величине .
Пример алгоритма деления двух обыкновенных дробей:
Алгебраическая форма записи —
Исходными данными здесь являются целочисленные переменные a, b, c, d, а результат – целые величины m и n.
На алгоритмическом языке решение будет иметь вид:
Основные свойства присваивания:
- Пока переменной не присвоено значение, она остается неопределенной;
- Значение, присвоенное переменной, сохраняется до выполнения следующего присваивания этой переменной;
- Новое значение, присваиваемое переменной, заменяет ее предыдущее значение.
Изменение значений переменных при выполнении команды присваивания
Обмен значениями между переменными
Даны две величины: X и Y. Требуется произвести между ними обмен значениями. Например, если Х=1, Y=2, то после обмена должно стать Х=2, Y=1.
Для обмена значениями необходимо ввести третью переменную Z. Тогда задачу обмена можно решить, выполняя последовательно три операции присваивания:
В ВЫЧИСЛИТЕЛЬНЫХ АЛГОРИТМАХ
Составим алгоритм решения квадратного уравнения:
Здесь исходными данными являются коэффициенты a, b, c , а решением – два корня (, которые вычисляются по формуле:
алг корни_квадратного_уравнения
Результатом данного алгоритма может являться только числовой ответ, но при решении квадратных уравнений результатом также может быть и сообщение о том, что при исходных данных задача решения не имеет. Этот вариант необходимо предусмотреть.
Таким образом, нужно ещё раз проанализировать задачу:
- Если а=0, b=0, c=0, любое значение х – решение уравнения.
- Если а=0, b=0, c≠0, уравнение решений не имеет.
- Если а=0, b≠0, это линейное уравнение, имеющее одно решение х=-с/b.
- Если а≠0 и d=b 2 -4ac ≥ 0, уравнение имеет два корня х 1 , х 2 .
Составим алгоритм решения, используя перечисленные условия.
5. Методы и технологии моделирования.
6.Основные принципы алгоритмизации и программирования. Понятие формализации, алгоритмизации, программирования.
- текстовый редактор — для набора исходного текста программы;
- компилятор — для перевода текста программы в машинный код;
- редактор связей — для сборки нескольких откомпилированных модулей в одну программу;
- библиотеки функций — для подключения стандартных функций к программе.
- процедурное программирование— это программирование, при котором выполнение команд программы определяется их последовательностью, командами перехода, цикла или обращениями к процедурам;
- объектно-ориентированное программирование– программирование, при котором формируются программные объекты, имеющие набор свойств, обладающие набором методов и способные реагировать на события, возникающие как во внешней среде, так и в самом объекте (нажатие мыши, срабатывание таймера, превышение числовой границы и т.д.). Таким образом, выполнение той или иной части программы зависит от событий в программной системе.
- дискретность— представление алгоритма в виде последовательности шагов;
- массовость— применимость алгоритма к некоторому множеству исходных данных;
- определенность— за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие;
- однозначность— при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.
Для продолжения скачивания необходимо пройти капчу: