программа для определения алгоритма рулетки

ДИСТАНЦИОННЫЙ КУРС ||" Структурный подход к программированию "||
Назад Структурный подход к программированию. 1. Алгоритмы 1.1 Введение
Этапы решения любой задачи можно изобразить в таком виде:
Формулировка задачи
Выбор метода решения
Составление алгоритма
Написание программы
Решение задачи
Что же такое алгоритм? Понятию алгоритма можно дать несколько определений. Например, Алгоритм - это описание метода решения задачи. Можно дать и более строгое определение - Алгоритм - это метод (способ) решения задачи, записанный по определенным правилам, обеспечивающим однозначность его понимания и исполнения при всех допустимых значениях исходных данных. В толковом словаре по Информатике (1991г.) дано еще одно общепринятое определение этого понятия - алгоритм - точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату. 1.2. Основные свойства алгоритма.
Для углубления понятия алгоритма выделим и раскроем его основные свойства, вытекающие из определения.
Дискретность алгоритма.
Свойство алгоритма, означающее, что процесс решения задачи , определяемый алгоритмом , расчленен на отдельные элементарные действия. Соответственно алгоритм представляет собой последовательность указаний, команд, определяющих порядок выполнения шагов процесса.
Определенность алгоритма.
Это свойство алгоритма означает ,что каждая команда алгоритма должна абсолютно однозначно трактоваться и выполняться исполнителем.
Результативность и конечность алгоритма.
Свойство алгоритма, означающее, что алгоритм должен всегда приводить к результату через конечное число шагов.
Массовость алгоритма. Это свойство заключается в том , что каждый алгоритм, разработанный для решения некоторой частной задачи , может быть применен для решения всех задач этого же типа при всех допустимых значениях исходных данных. 1.3 Базовые алгоритмические структуры.

Различные типы задач требуют различных подходов к их решению и соответственно описываются различными алгоритмами . Разнообразие этих алгоритмов велико. Тем не менее можно выделить лишь три основных вида алгоритмов : алгоритмы линейной структуры, алгоритмы разветвляющейся структуры, алгоритмы циклической структуры. Разнообразие же алгоритмов определяется тем, что любой алгоритм распадается на отдельные части , фрагменты и каждый фрагмент представляет собой алгоритм одного из трех указанных видов. Поэтому важно знать структуру каждого алгоритма и принципы их составления.
Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно.
Разветвляющимся называют алгоритм в котором выбираются один или несколько возможных вариантов вычислительного процесса. Каждый подобный путь называют ветвью алгоритма. Признаком разветвляющегося алгоритма является наличие операции проверки условия. Условия могут быть простыми и составными. Простым условие является тогда, когда состоит из двух арифметических выражений или текстовых величин, соединенных знаками : =, ? , ? ,? , ? , ,? . Составное условие образуется соединением двух или более простых условий логическими операциями.
Циклическим называют алгоритм, в котором получение результата обеспечивается многократным выполнением одних и тех же операций. При составлении циклического алгоритма основную трудность представляет вывод формул начальных значений аргументов цикла , законов последующего изменения этих аргументов и определение условия окончания (повторения) цикла. 1.4 Правила построения алгоритма задачи.
Можно сформулировать общие правила построения алгоритма задачи:
Выявить исходные данные, результаты, назначить им имена.

Выбрать метод (порядок) решения задачи.
Разбить метод решения задачи на отдельные этапы.
Составить алгоритм выполнения каждого этапа.
Обеспечить выдачу результатов или сообщение об их отсутствии и предусмотреть возможность после любой операции выхода из задачи.
Следом за этими шагами следует этап исполнения алгоритма. Суть процесса исполнения алгоритма состоит в тщательном выполнении всех операций алгоритма в строго заданном порядке. Процесс исполнения алгоритма оформляется следующим образом: при выполнении любой операции для каждой переменной-результата операции - указывается ее имя и полученное ею значение. Заметим , что исполнение алгоритма может преследовать различные цели:
Проверить правильность трактовки операций или указаний алгоритма;
* Проверить правильность составления алгоритма.
Проверка правильности составления алгоритма т.е. выявление и исправление ошибок в нем называется отладкой алгоритма. Процесс отладки алгоритма совпадает с процессом отладки программы. Выбирается некоторый набор исходных данных, называемый тестом и задача с этим набором решается дважды: один раз исполнением алгоритма( программы) , второй раз "вручную". При совпадении результатов алгоритм( программа) считается верным. Особенностью отладки разветвляющегося алгоритма состоит в следующем: для проверки правильности всех ветвей алгоритма тест должен включать несколько наборов исходных данных и их число должно быть не менее числа ветвей алгоритма. В качестве тестового набора можно выбрать любые данные , которые позволяют:
1. Обеспечить проверку выполнения всех операций алгоритма;
2. Свести количество вычислений к минимуму. 2.1 Нисходящее пошаговое проектирование
Составление алгоритмов сложных задач требует специального подхода . Этот подход известен в литературе как структурный. Основополагающим принципом структурного подхода к программированию является нисходящее пошаговое проектирование . этот принцип предполагает разбиение задачи на отдельные этапы (подзадачи) , причем каждая такая подзадача в дальнейшем рассматривается как отдельная независимая задача. Каждая такая подзадача может быть в свою очередь разбита на отдельные этапы (блоки) и ее схема может иметь различную степень детализации. Напомним ,что составление алгоритма задачи является промежуточным шагом процесса ее решения. Алгоритм в дальнейшем должен будет переведен на какой либо из языков программирования. Каждому блоку алгоритма будет соответствовать более или менее сложный фрагмент программы. Будем называть блок алгоритма элементарным, если его можно изобразить одним оператором языка программирования, а схему содержащую только элементарные блоки подробной. Соответственно схему алгоритма содержащую хотя бы один неэлементарный блок будем считать. Укрупненная схема алгоритма определяет основные этапы решения задачи и порядок их выполнения. Общая схема алгоритма будет содержать подробные схемы алгоритма всех своих этапов. 2.2 Структурное программирование
Структурное программирование предполагает составление алгоритмов задач из конструкций строго определенного вида. Основное положение структурного программирования следующее: любой алгоритм может быть представлен комбинацией базовых алгоритмических структур трех видов : линейной структуры, разветвляющейся структуры, циклической структуры. Причем подобная структура должна иметь один вход и один выход. Это положение означает, что на каждом шаге нисходящего проектирования следует составлять алгоритм одного из трех видов. 2.3 Методика составления алгоритмов.
Назад

Основные элементы для оформления программы. Формулируют определение алгоритма, записывают в тетради.

Подробнее

Тезис Тьюринга (основная гипотеза теории алгоритмов в форме Тьюринга) и одновременно формальное определение алгоритма

Для определения нечеткого алгоритма (нечеткой программы) первоначально вводится понятие обобщенной машины

1.1. Основные определения и понятия.  Программа – это алгоритм, записанный в форме, воспринимаемой машиной.

Читать

Единого «истинного» определения понятия «алгоритм» нет. Наиболее известные варианты определения опираются на интуитивное понятие «задачи»

Определение алгоритма. Слово «Алгоритм» происходит от algorithmi - латинского написания  При нисходящем методе конструирования алгоритма и программы