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

6 Вопрос. Принципы алгоритмизации

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

Структурная алгоритмизация основывается на двух принципах:

1) последовательная детализация «сверху — вниз»;

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

Из принципов вытекают требования структурного программирования:

1) программа должна составляться мелкими шагами, таким образом, сложная задача разбивается на достаточно простые, легко воспринимаемые части;

2) логика программы должна опираться на минимальное число достаточно простых базовых управляющих структур.

Базовый набор структурной алгоритмизации содержит линейные, разветвляющиеся и циклические структуры.

Можно перечислить основные свойства и достоинства структурного программирования:

1) возможность преодоления барьера сложности программ;

2) возможность демонстрации правильности программ на различных этапах решения задачи;

4) простота модификации программ.

7 Вопрос. Принципы, лежащие в основе создания эффективных алгоритмов

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

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

  1. Принцип поэтапной детализации алгоритма (другое название — «проектирование сверху-вниз»). Этот принцип предполагает первоначальную разработку алгоритма в виде укрупненных блоков (разбиение задачи на подзадачи) и их постепенную детализацию.
  2. Принцип «от главного к второстепенному», предполагающий составление алгоритма, начиная с главной конструкции. При этом, часто, приходится «достраивать» алгоритм в обратную сторону, например, от середины к началу.
  3. Принцип структурирования, т.е. использования только типовых алгоритмических структур при построении алгоритма. Нетиповой структурой считается, например, циклическая конструкция, содержащая в теле цикла дополнительные выходы из цикла. В программировании нетиповые структуры появляются в результате злоупотребления командой безусловного перехода (GoTo). При этом программа хуже читается и труднее отлаживается.

Источник

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

Нажмите, чтобы узнать подробности

Для первых ЭВМ с ограниченной памятью основным показателем качества программы являлась ее экономичность по занимаемой памяти и времени счета. Чем короче получалась программа, тем был выше класс программиста.

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

По мере развития компьютерной техники развивались методика и технология программирования. Сначала возникли командное и операторное программирование, в 1960-х гг. бурно развивались структурное программирование, линии логического и функционального программирования, а в настоящее время широко используются объектно-ориентированное и визуальное программирование.

Просмотр содержимого документа
«Основные принципы алгоритмизации и программирования»

ОСНОВНЫЕ ПРИНЦИПЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

ОСНОВНЫЕ ПРИНЦИПЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

 При решении той или иной информационной задачи сначала следует попытаться подобрать адекватное программное средство (электронные таблицы, системы управления базами данных, математические пакеты и т.д.), и только если эти средства не позволяют решить поставленную задачу, использовать универсальные языки программирования. Различают программистов двух категорий: СИСТЕМНЫЕ ПРОГРАММИСТЫ ПРИКЛАДНЫЕ ПРОГРАММИСТЫ - это разработчики базовых програм-мных средств ЭВМ (операционные системы, трансляторы, сервисные средства и т.д.), профессионалы высочайшего уровня - разрабатывают средства програм-много обеспечения ЭВМ, для решения задач в отдельных областях деятельности (науке, производстве, сфере обслуживания и т.д.)

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

Различают программистов двух категорий:

СИСТЕМНЫЕ ПРОГРАММИСТЫ

ПРИКЛАДНЫЕ ПРОГРАММИСТЫ

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

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

 По мере развития компьютерной техники развивались методика и технология программирования. Сначала возникли командное и операторное программирование , в 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–диалектов, позволяет создавать макросы для автоматизации выполнения некоторых операций и графический интерфейс пользователя, интеграцию между различными программными продуктами.

Современными языками объектно-ориентированного програм-мирования являются С++ и 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 .

В 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 . Любая величина занимает свое определенное место в памяти ЭВМ (ячейку памяти) и имеет три основных свойства: имя, значение и тип . В алгоритмах и языках программирования величины подразделяются на константы и переменные . Константа – неизменная величина, имеющая собственное значение. Переменные величины – изменяют свое значение в ходе выполнения программы, обозначаются символическими именами.

Данные – совокупность величин, с которыми работает компьютер.

окончательные (результаты)

При решении квадратного уравнения ax 2 +bx+c = 0 исходными данными являются коэффициенты a, b, c , результатами – корни уравнения х 1, х 2, а промежуточными данными – дискриминант уравнения D=b 2 -4ac .

Любая величина занимает свое определенное место в памяти ЭВМ (ячейку памяти) и имеет три основных свойства: имя, значение и тип .

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

Константа – неизменная величина, имеющая собственное значение.

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

 В каждом языке программирования существует своя концепция и своя система типов данных, но в любой язык входит минимальный набор основных типов данных: целые, вещественные, логические и символьные . Тип Значения Целые Целые положительные и отрицательные числа. (5; -10 и т.д.) Операции Веще- ственные Внутреннее представление Арифметические операции c целыми числами и операции отношений (, =). Целые и дробные числа. (2.5; -0,01 и т.д.) Логические True (Истина) False (Ложь) Формат с фиксированной точкой Символь- ные Арифметические операции и операции отношений. Логические операции: И (and), ИЛИ (or), НЕТ (not) и операции отношений (, =). Формат с плавающей точкой Любые символы компьютерного алфавита. (х; @; $ и т.д.) 1 – True Операции отношений. 0 – False Коды таблицы символьной кодировки.

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

Целые положительные и отрицательные числа. (5; -10 и т.д.)

Внутреннее представление

Арифметические операции c целыми числами и операции отношений (, =).

Целые и дробные числа. (2.5; -0,01 и т.д.)

Формат с фиксированной точкой

Арифметические операции и операции отношений.

Логические операции: И (and), ИЛИ (or), НЕТ (not) и операции отношений (, =).

Формат с плавающей точкой

Любые символы компьютерного алфавита. (х; @; $ и т.д.)

Коды таблицы символьной кодировки.

По структуре данные подразделяются на простые и сруктурированные . Простые (скалярные) – одна величина – одно значение. Структурированные – одна величина – множество значений (массивы, строки, множества и др.) Независимо от того, на каком языке программирования будет написана программа, алгоритм решения любой задачи на ЭВМ может быть составлен из команд: Присваивания ( := ) Ввода Вывода Обращение к вспомогательному алгоритму Цикла Ветвления

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

Простые (скалярные) – одна величина – одно значение.

Структурированные – одна величина – множество значений (массивы, строки, множества и др.)

Независимо от того, на каком языке программирования будет написана программа, алгоритм решения любой задачи на ЭВМ может быть составлен из команд:

ЛИНЕЙНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ АЛГОРИТМЫ Основным элементарным действием в вычислительных алгоритмах является присваивание значения переменной величине . Пример алгоритма деления двух обыкновенных дробей: Алгебраическая форма записи - Исходными данными здесь являются целочисленные переменные a, b, c, d, а результат – целые величины m и n. На алгоритмическом языке решение будет иметь вид: алг деление_дробей нач цел a, b, c, d, m, n ввод a, b, c, d m := a d n := b c вывод m, n кон

  • Присваивания ( := )
  • Ввода
  • Вывода
  • Обращение к вспомогательному алгоритму
  • Цикла
  • Ветвления

ЛИНЕЙНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ АЛГОРИТМЫ

Основным элементарным действием в вычислительных алгоритмах является присваивание значения переменной величине .

Пример алгоритма деления двух обыкновенных дробей:

Алгебраическая форма записи —

Исходными данными здесь являются целочисленные переменные a, b, c, d, а результат – целые величины m и n.

На алгоритмическом языке решение будет иметь вид:

Основные свойства присваивания: Пока переменной не присвоено значение, она остается неопределенной; Значение, присвоенное переменной, сохраняется до выполнения следующего присваивания этой переменной; Новое значение, присваиваемое переменной, заменяет ее предыдущее значение. Изменение значений переменных при выполнении команды присваивания Команда a := 1 а b := 2 x a 1 b - a := b 1 b := a + b 2 2 2 2 4

Основные свойства присваивания:

  • Пока переменной не присвоено значение, она остается неопределенной;
  • Значение, присвоенное переменной, сохраняется до выполнения следующего присваивания этой переменной;
  • Новое значение, присваиваемое переменной, заменяет ее предыдущее значение.

Изменение значений переменных при выполнении команды присваивания

Обмен значениями между переменными Даны две величины: X и Y. Требуется произвести между ними обмен значениями. Например, если Х=1, Y=2, то после обмена должно стать Х=2, Y=1. Для обмена значениями необходимо ввести третью переменную Z. Тогда задачу обмена можно решить, выполняя последовательно три операции присваивания: Команда ввод X, Y X Z:= X Y 1 Z X:= Y 2 1 Y:= Z - 2 2 1 2 2 1 1 1

Обмен значениями между переменными

Даны две величины: X и Y. Требуется произвести между ними обмен значениями. Например, если Х=1, Y=2, то после обмена должно стать Х=2, Y=1.

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

ВЕТВЛЕНИЯ И ЦИКЛЫ В ВЫЧИСЛИТЕЛЬНЫХ АЛГОРИТМАХ Составим алгоритм решения квадратного уравнения: Здесь исходными данными являются коэффициенты a, b, c , а решением – два корня (, которые вычисляются по формуле: Алгоритм решения: алг корни_квадратного_уравнения вещ a, b, c, d, x1, x2 нач ввод а, b, c d := b 2 -4ac x1:=(-b+)/(2a) x2:=(-b-)/(2a) вывод х1, х2 кон

В ВЫЧИСЛИТЕЛЬНЫХ АЛГОРИТМАХ

Составим алгоритм решения квадратного уравнения:

Здесь исходными данными являются коэффициенты 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 . Составим алгоритм решения, используя перечисленные условия.

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

Таким образом, нужно ещё раз проанализировать задачу:

  • Если а=0, b=0, c=0, любое значение х – решение уравнения.
  • Если а=0, b=0, c≠0, уравнение решений не имеет.
  • Если а=0, b≠0, это линейное уравнение, имеющее одно решение х=-с/b.
  • Если а≠0 и d=b 2 -4ac ≥ 0, уравнение имеет два корня х 1 , х 2 .

Составим алгоритм решения, используя перечисленные условия.

Источник

5. Методы и технологии моделирования.

6.Основные принципы алгоритмизации и программирования. Понятие формализации, алгоритмизации, программирования.

  • текстовый редактор — для набора исходного текста программы;
  • компилятор — для перевода текста программы в машинный код;
  • редактор связей — для сборки нескольких откомпилированных модулей в одну программу;
  • библиотеки функций — для подключения стандартных функций к программе.
  • процедурное программирование— это программирование, при котором выполнение команд программы определяется их последовательностью, командами перехода, цикла или обращениями к процедурам;
  • объектно-ориентированное программирование– программирование, при котором формируются программные объекты, имеющие набор свойств, обладающие набором методов и способные реагировать на события, возникающие как во внешней среде, так и в самом объекте (нажатие мыши, срабатывание таймера, превышение числовой границы и т.д.). Таким образом, выполнение той или иной части программы зависит от событий в программной системе.
  • дискретность— представление алгоритма в виде последовательности шагов;
  • массовость— применимость алгоритма к некоторому множеству исходных данных;
  • определенность— за конечное число шагов либо должен быть получен результат, либо доказано его отсутствие;
  • однозначность— при повторном применении алгоритма к тем же исходным данным должен быть получен тот же результат.

Для продолжения скачивания необходимо пройти капчу:

Источник

Читайте также:  Язык программирования бейсик вся информация
Оцените статью