Структурная схема программы на алгоритмическом языке

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags

Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Базовые алгоритмические структуры

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

Latest commit message
Commit time

readme.md

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

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

  • Лекция 1
    Основные понятия алгоритмизации. Понятие алгоритма. Свойства алгоритма. Формы записи алгоритмов. Общие принципы построения алгоритмов. Определение сложности работы алгоритмов.
  • Лекция 2
    Основные алгоритмические конструкции: линейные, разветвляющиеся, циклические. Программы для графического отображения алгоритмов
  • Лекции 3 и 4 (4 часа)
    Логические основы алгоритмизации. Основы алгебры логики. Логические операции с высказываниями: конъюнкция, дизъюнкция, инверсия. Законы логических операций. Таблицы истинности.
  • Лабораторная работа 1
    Разработка алгоритмов для конкретных задач.
  • Лабораторная работа 2
    Использование программ для графического отображения алгоритмов.
  • Лабораторная работа 3
    Определение сложности работы алгоритмов.

Тема 2. Языки и методы программирования

  • Лекция 1
    Языки программирования. Эволюция языков программирования. Классификация языков программирования. Понятие системы программирования. Исходный, объектный и загрузочный модули. Интегрированная среда программирования.
  • Лекция 2
    Методы программирования: структурный, модульный, объектно-ориентированный. Достоинства и недостатки методов программирования. Общие принципы разработки программного обеспечения. Жизненный цикл программного обеспечения. Типы приложений. Консольные приложения.

Тема 3. Программирование на языках Pascal, Python

  • Лекция 1
    Основные элементы языка. Структурная схема программы на алгоритмическом языке. Лексика языка. Переменные и константы. Типы данных. Выражения и операции.
  • Лекция 2
    Операторы и операции языка. Синтаксис операторов. Составной оператор. Вложенные условные операторы. Циклические конструкции.
  • Лекция 3
    Ввод и вывод данных в консольных приложениях. Массивы как структурированный тип данных. Объявление массива. Ввод и вывод одномерных и двумерных массивов. Обработка массивов. Стандартные функции для массива целых и вещественных чисел.
  • Лекция 4
    Структурированные типы данных: строки и множества. Объявление строковых типов данных. Поиск, удаление, замена и добавление символов в строке. Операции со строками. Стандартные функции и процедуры работы со строками.
  • Лекция 5
    Кодировки символов: ASCII, UNICODE. Списки, кортежи, словари. Объявление множества. Операции над множествами.

Как программировать на русском языке | Алгоритмы

  • Лабораторная работа 1
    Работа в среде программирования. Реализация построенных алгоритмов.
  • Лабораторная работа 2 (4 часа) Составление программ линейной структуры. Составление программ разветвляющейся структуры.
  • Лабораторная работа 3 (4 часа) Составление программ циклической структуры. Обработка одномерных и двумерных массивов.
  • Лабораторная работа 4
    Работа со строковыми переменными. Работа с данными типа множество.
Читайте также:
Как создать текстовую программу на Андроид

Тема 4. Процедуры и функции. Работа с файлами

  • Лекция 1
    Понятие подпрограммы. Процедуры и функции, их сущность, назначение и различие. Организация процедур, стандартные процедуры. Процедуры, определенные пользователем: синтаксис, передача аргументов. Возврат результата.
  • Лекция 2
    Формальные и фактические параметры. Процедуры с параметрами, описание процедур.
  • Лекция 3
    Функции: способы организации и описание. Вызов функций, рекурсия. Программирование рекурсивных алгоритмов.
  • Лекция 4
    Типы файлов. Организация доступа к файлам. Файлы последовательного доступа. Открытие и закрытие файла последовательного доступа. Файлы произвольного доступа. Порядок работы с файлами произвольного доступа. Создание структуры записи. Открытие и закрытие файла произвольного доступа.
  • Лекция 5
    Запись и считывание из файла произвольного доступа. Использование файла произвольного доступа. Стандартные процедуры и функции для файлов разного типа.
  • Лабораторная работа 1 (4 часа)
    Организация и использование процедур.
  • Лабораторная работа 2 (4 часа)
    Организация и использование функций.
  • Лабораторная работа 3 (4 часа)
    Работа с файлами последовательного и произвольного доступа.

Тема 5. Библиотеки подпрограмм

  • Лекция 1 (4 часа)
    Программирование модулей. Модуль: синтаксис, заголовок, разделы. Библиотеки подпрограмм: понятие и виды. Схема вызова библиотек. Статическое и динамическое связывание. Использование библиотек подпрограмм.
  • Лабораторная работа 1 (4 часа)
    Программирование модуля. Создание библиотеки подпрограмм.

Тема 6. Основные принципы объектно-ориентированного программирования

  • Лекция 1
    История развития ООП. Базовые понятия: объект, его свойства и методы, класс, интерфейс. Основные принципы ООП: инкапсуляция, наследование, полиморфизм.
  • Лекция 2
    Событийно-управляемая модель программирования. Компонентно-ориентированный подход. Классы объектов. Компоненты и их свойства.

Тема 7. Знакомство со средой разработчика Delphi, Visual Studio Code

  • Лекция 1
    Требования к аппаратным и программным средствам интегрированной среды разработчика. Интерфейс среды разработчика: характеристика, основные окна, инструменты, объекты.
  • Лекция 2
    Форма и размещение на ней управляющих элементов. Панель компонентов и их свойства. Окно кода проекта.
  • Лекция 3
    Параметры командной строки
  • Лекция 4
    Ошибки и исключения. Декораторы.
  • Лабораторная работа 1 (10 часов)
    Создание простого проекта по индивидуальным заданиям.

Тема 8. Этапы разработки приложения

  • Лекция 1
    Python GUI: создаём простое приложение с PyQt и Qt Designer
  • Лекция 2
    Создание оконного приложения на базе Cromium Embedded Framework.

Тема 9. Иерархия классов

  • Лекция 1
    Стандартныя типы и модули Python
  • Лекция 2 (4 часа)
    Шаблоны проектирования
  • Лабораторная работа 1 (6 часов)
    Создание объектно-ориентированного приложения по индивидуальным заданиям.

Тема 10. Знакомство с отдельными модулями

  • Лекция 1
    HTTP-клиент, HTTP-сервер.
  • Лекция 2
    Регулярные выражения (модуль re)
  • Лекция 3
    SQLite
  • Лекция 4
    Потоки в Python
  • Лабораторная работа 1 (4 часа)
    Создание проекта с использованием компонентов для работы с текстом.
  • Лабораторная работа 2 (6 часов)
    Создание проекта с использованием компонентов стандартных диалогов и системы меню.

Тема 11. Разработка оконного приложения

  • Лекция 1
    Логгирование (logging)
  • Лекция 2
    Создание интерфейса приложения. Разработка функциональной схемы работы приложения. django
  • Лекция 3
    Создание процедур обработки событий. django
  • Лекция 4
    Компиляция и запуск приложения. Условная компиляция. Компиляция из командной строки. Компиляция в standalone?
  • Лабораторная работа 1 (4 часа)
    Разработка оконного приложения.
  • Лабораторная работа 2 (4 часа)
    Разработка оконного приложения с несколькими формами.

Тема 12. Оформление, проверка, отладка кода программы

  • Лекция 1
    Оформление, проверка, отладка кода программы. Выполнение проверки, отладка кода программы. Тестирование: модульное, функциональное. unittest
  • Лабораторная работа 2 (4 часа)
    Оформление, отладка кода программы.

Источник: github.com

Структурная схема программы на алгоритмическом языке.

1. Блок типа PROGRAM — имеет имя, состоящее только из латинских букв и цифр. Его присутствие не обязательно, но рекомендуется записывать для быстрого распознавания нужной программы среди других листингов.

Читайте также:
Как запустить scratch программу

2. Программный блок, состоящий в общем случае из 7 разделов:

  • раздел описания модулей (uses);
  • раздел описания меток (label);
  • раздел описания констант (const);
  • раздел описания типов данных (type);
  • раздел описания переменных (var);
  • раздел описания процедур и функций;
  • раздел описания операторов.
  1. Найдите в этой программе заголовок, раздел описания переменных, признак начала программы, признак конца программы, тело программы, комментарий.
  2. Что обозначает строчка: number1, number2, rezult : integer;
  3. Как вы понимаете запись: number1 := 3;
  4. Чему равно значение переменной rezult после выполнения оператора: rezult := number1 + number2;
  5. Переведите с английского языка слово Write. Как вы думаете, что должен делать оператор с таким названием?
  6. Поменяем местами второй и третий операторы. Будет ли программа работать? Почему?
  7. Какой недостаток Вы видите у этой программы? Как нужно изменить условие задачи, чтобы решать подобные задачи с любыми числами. Подумайте, что должно измениться в теле нашей программы, чтобы выполнить эту задачу.

Источник: studfile.net

§ 13. Структура алгоритмов

В 1969 году известным голландским ученым-нрограммистом Э. В. Дейкстрой (1930-2002) было доказано, что алгоритм для решения любой логической задачи можно составить только из структур следование, ветвление, цикл. Их называют базовыми алгоритмическими структурами. Методика программирования, основанная на этой теореме, называется структурным программированием.

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

Следование — это линейная последовательность действий (рис. 3.3).

Рис. 3.3. Структура «следование»

В программе на Паскале серия — это либо один отдельный оператор, либо составной оператор: последовательность операторов, заключенная в операторные скобки. Например, в языке Паскаль операторными скобками являются служебные слова Begin и End.

Ветвление — алгоритмическая альтернатива. Управление передается одному из двух блоков в зависимости от истинности или ложности условия. Затем происходит выход на общее продолжение. Вот как изображается ветвление на блок-схеме и АЯ (рис. 3.4).

Рис. 3.4. Структура «ветвление»

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

Неполная форма ветвления имеет место, когда на ветви «нет» пусто (рис. 3.5).

Рис. 3.5. Неполное ветвление

Цикл — повторение некоторой группы действий по условию. Различают два типа цикла. Первый — цикл с предусловием: цикл-пока (рис. 3.6).

Рис. 3.6. Структура «цикл-пока»

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

Второй тип циклической структуры — цикл с постусловием: цикл-до (рис. 3.7).

Рис. 3.7. Структура «цикл-до»

Здесь тело цикла предшествует условию цикла. Тело цикла повторяет свое выполнение, если условие ложно. Повторение прекращается, когда условие становится истинным.

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

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

Читайте также:
Программа для машинного перевода текстов это

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

Комбинации базовых структур

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

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

Структурный подход требует соблюдения стандарта в изображении блок-схем алгоритмов. Чертить их нужно так, как это делалось во всех приведенных примерах. Каждая базовая структура должна иметь один вход и один выход. Нестандартно изображенная блок-схема плохо читается, теряется наглядность алгоритма. Несколько примеров структурных блок-схем алгоритмов приведены на рис. 3.8 (вместо «да», «нет» здесь использованы знаки «+» и «-», У — , С — ).

  1. Вложенные ветвления. Глубина вложенности равна единице.
  2. Цикл с вложенным ветвлением.
  3. Вложенные циклы-пока. Глубина вложенности — 1.
  4. Ветвление с вложенной последовательностью ветвлений на положительной ветви и с вложенным циклом-пока на отрицательной ветви.
  5. Следование ветвления и цикла-до.
  6. Вложенные циклы. Внешний — цикл-пока, внутренний — цикл-до.
  • конструкции одного уровня вложенности записываются на одном вертикальном уровне (начинаются с одной позиции в строке);
  • вложенная конструкция записывается смещенной по строке на несколько позиций вправо относительно внешней для нее конструкции.

Рис. 3.8. Структурные схемы алгоритмов

Для приведенных на рис. 3.8 блок-схем структура текста на АЯ должна быть следующей:

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

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

Система основных понятий

Вопросы и задания

  1. Перечислите основные базовые алгоритмические структуры и покажите способы их отображения на блок-схемах и в АЯ.
  2. Какой алгоритм называется структурным?
  3. Нарисуйте блок-схемы и напишите на АЯ два варианта алгоритма решения задачи: выбрать из двух числовых величин наибольшее значение. Первый вариант — с полным ветвлением, второй вариант — с неполным ветвлением.
  4. Нарисуйте блок-схемы и напишите на АЯ два варианта алгоритма решения задачи: выбрать из трех числовых величин наименьшее значение. Первый вариант — с вложенными ветвлениями, второй вариант — с последовательными ветвлениями.
  5. Для данного натурального числа N требуется вычислить сумму: 1 + 1/2 + 1/3 + . + 1/N. Постройте блок-схемы и напишите на АЯ два варианта алгоритма: с циклом-до и с циклом-пока.
  6. Какую структуру будет иметь алгоритм решения следующей задачи? Дано целое положительное число N. Если N — четное, то вычислить N! = 1 • 2 • . • N. Если N — нечетное, то вычислить сумму: 1 + 2 + . + N.

Источник: tepka.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru