Как составить алгоритм решения задачи по информатике

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

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

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

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

  • Этап 1 . Математическое описание решения задачи.
  • Этап 2 . Определение входных и выходных данных.
  • Этап 3 . Разработка алгоритма решения задачи.

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

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

  • следование (линейный алгоритм);
  • ветвление (разветвляющийся алгоритм);
  • цикл-пока (циклический алгоритм).

Линейные алгоритмы

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

alt

Пример

ЗАДАЧА. Разработать алгоритм вычисления гипотенузы прямоугольного треугольника по известным значениям длин его катетов a и b.

На примере данной задачи рассмотрим все три этапа разработки алгоритма решения задачи:

Этап 1. Математическое описание решения задачи.

Математическим решением задачи является известная формула:

Формула,

где с-длина гипотенузы, a, b – длины катетов.

Этап 2. Определение входных и выходных данных.

Входными данными являются значения катетов a и b. Выходными данными является длина гипотенузы – c.

Этап 3. Разработка алгоритма решения задачи.

Словесное описание алгоритма Запись алгоритма на языке блок-схем
  1. Начало алгоритма.
  2. Ввод значений длин катетов a и b.
  3. Вычисление длины гипотенузы с по формуле Формула
  4. Вывод значения длины гипотенузы.
  5. Конец алгоритма

На данной схеме цифрами указаны номера элементов алгоритма, которые соответствуют номерам пунктов словесного описания алгоритма.

Блок-схема

Разветвляющиеся алгоритмы

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

Алгоритм ветвления

Пример

ЗАДАЧА. Разработать алгоритм вычисления наибольшего числа из двух чисел x и y.

Этап 1. Математическое описание решения задачи.

Из курса математики известно, если x > y, то наибольшее число x, если x < y, то наибольшее число y, если x = y, то число x равно числу y.

Этап 2. Определение входных и выходных данных.

Входными данными являются значения чисел x и y. Выходным данными являются:

  • наибольшее число
  • любое из чисел, если числа равны

Для решения задачи нам необходимо знать значения x и y.

Этап 3. Разработка алгоритма решения задачи.

Словесное описание алгоритма Запись алгоритма на языке блок-схем
  1. Начало алгоритма.
  2. Ввод значений x и y.
  3. Сравниваем x и y. Если x = y, то переход к шагу 4, иначе к шагу 5.
  4. Вывод информации: числа x и y равны. Переход к шагу 8.
  5. Сравниваем x и y. Если x > y, то переход к шагу 6, иначе к шагу 7.
  6. Вывод информации: число x больше y. Переход к шагу 8.
  7. Вывод информации: число y больше x. Переход к шагу 8.
  8. Конец алгоритма.

блок-схема

В схеме алгоритма решения задачи цифрами указаны номера элементов алгоритма, которые соответствуют номерам шагов словесного описания алгоритма

В рассматриваемом алгоритме (рис.3) имеются три ветви решения задачи:

  • первая: это элементы 1, 2, 3, 4, 8.
  • вторая: это элементы 1, 2, 3, 5, 6, 8
  • третья: это элементы 1, 2, 3, 5, 7, 8.

Выбор ветви определяется значениями x и y в элементах 3 и 5, которые являются условиями, определяющими порядок выполнения элементов алгоритма. Если условие (равенство), записанное внутри символа «решение», выполняется при введенных значениях x и y, то следующими выполняется элементы 4 и 8. Это следует из того, что они соединены линией с надписью «да» и направление (последовательность) вычислений обозначена стрелочкой.

Если условие в элементе 3 не выполняется, то следующим выполняется элемент 5. Он соединен с элементом 3 линией с надписью «нет». Если условие, записанное в элементе 5, выполняется, то выполняется элементы 6 и 8, в противном случае выполняются элементы 7 и 8.

Циклические алгоритмы

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

Циклический алгоритм

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

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

  • параметр цикла – величина, с изменением значения которой связано многократное выполнение цикла;
  • начальное и конечное значения параметров цикла;
  • шаг цикла – значение, на которое изменяется параметр цикла при каждом повторении.

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

 Циклический алгоритм

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

  • начальные значения цикла;
  • конечные значения цикла;
  • шаг цикла.

В тело цикла входят:

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

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

 Пример

ЗАДАЧА. Разработать алгоритм вычисления суммы натуральных чисел от 1 до 100.

Этап 1. Математическое описание решения задачи.

Обозначим сумму натуральных чисел через S. Тогда формула вычисления суммы натуральных чисел от 1 до 100 может быть записана так:

сумма натуральных чисел

где Xi – натуральное число X c номером i, который изменяется от 1 до n, n=100 – количество натуральных чисел.

Этап 2. Определение входных и выходных данных.

Входными данными являются натуральные числа: 1, 2, 3, 4, 5, …, 98, 99, 100.

Выходные данные – значение суммы членов последовательности натуральных чисел.

Параметр циклавеличина, определяющая количество повторений цикла. В нашем случае i – номер натурального числа.

Подготовка цикла заключается в задании начального и конечного значений параметра цикла.

  • начальное значение параметра цикла равно 1,
  • конечное значение параметра цикла равно n,
  • шаг цикла равен 1.

Для корректного суммирования необходимо предварительно задать начальное значение суммы, равное 0.

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

S=S+i;              I=I+1;

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

Этап 3. Разработка алгоритма решения задачи.

Введем обозначения: S – сумма последовательности, i – значение натурального числа.

Начальное значение цикла i=1, конечное значение цикла i =100, шаг цикла 1.

Словесное описание алгоритма Запись алгоритма на языке блок-схем
  1. Начало алгоритма.
  2. Подготовка цикла: S:=0; i=1; n= 100;
  3. Проверка условия. Если i <=n , то перейти к шагу 4, иначе к шагу 6.
  4. Накопление суммы: S:=S+i;
  5. Вычисление следующего значения параметра цикла: i:=i+1;
  6. Вывод информации: сумма натуральных чисел – S.
  7. Конец алгоритма.

В схеме алгоритма решения задачи цифрами указаны номера элементов алгоритма. Номера элементов соответствуют номерам шагов словесного описания алгоритма.

Блок-схема

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

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

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

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

В решении задачи на алгоритмы выделяют ряд этапов:

  1. Математическое описание.
  2. Определение входных/выходных данных.
  3. Разработка алгоритма по решению поставленной задачи.

Алгоритмические конструкции базовых классов

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

  • линейного класса;
  • ветвления (речь идет о разветвляющихся алгоритмах);
  • циклического класса.

Алгоритмы линейного класса

Образуются из последовательности действий, которые следуют одно за другим. К примеру, чтобы определить площадь прямоугольника, надо сначала задать длину 1-й стороны, потом — 2-й стороны, ну а в конце уже можно решать пример по формуле нахождения площади.

Алгоритм линейного класса

В качестве примера возьмем задание с разработкой алгоритма по вычислению гипотенузы прямоугольного треугольника, зная длины катетов a и b. Вспоминаем вышеописанные этапы разработки:

1. Математическое описание.

Математически задача решается по следующей формуле:

Здесь c является длиной гипотенузы, a, b – длинами катетов.

2. Определяем входные/выходные данные.

Входные данные — значения катетов a и b. Выходные — длина гипотенузы c.

3. Разработка алгоритма.

Алгоритмы ветвления

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

Для примера возьмем задание, постановка которого связана с разработкой алгоритма по вычислению наибольшего числа из 2-х чисел: x и y.

1. Математическое описание.

Из первых классов математики мы знаем, что когда x > y, то x больше y и наоборот, что является очевидными вещами. И если x = y, то числа равны.

2. Определяем входные/выходные данные.

Входные данные — это значения x и y. Выходными данными являются:

  • самое большое число;
  • любое из чисел в том случае, если они равны.

Таким образом, чтобы решить эту задачу на алгоритмы, надо знать значения переменных x и y.

3. Разработка.

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

  • 1, 2, 3, 4, 8;
  • 1, 2, 3, 5, 6, 8;
  • 1, 2, 3, 5, 7, 8.

Алгоритмы циклического класса

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

В алгоритмических последовательностях этого класса выделяют ряд понятий:

  • параметр цикла (с изменением этой величины связано многократное выполнение цикла);
  • начальное и конечное значения циклических параметров;
  • шаг цикла (речь идет о значении, на которое меняется параметр при каждом повторе).

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

В подготовку входят действия, которые связаны с заданием исходных значений:

  • начальные значения;
  • конечные значения;
  • шаг.

В тело цикла входят:

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

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

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

1. Математическое описание.

Сначала следует обозначить сумму натуральных чисел буквой S. В результате формулу вычисления суммы чисел от 1 до 100 можно записать следующим образом:

Здесь Xi является натуральным числом X c номером i. Этот номер меняется от 1 до n. А n=100 обозначает общее кол-во натуральных чисел.

2. Определяем входные/выходные данные.

Входные данные — это натуральные числа: 1, 2, 3, …, 99, 100.

Выходные данные представляют собой значение суммы членов последовательности натуральных чисел.

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

Подготовка цикла — задание начального и конечного значений циклического параметра. Тут надо пояснить следующее:

  • начальное значение циклического параметра равняется единице,
  • конечное значение — n,
  • шаг равен 1.

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

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

  • S=S+i;             
  • I=I+1.

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

3. Разработка.

Вводим следующие обозначения: S – это сумма последовательности, i – это значение натурального числа.

Начальное циклическое значение i=1, конечное — i =100, шаг равен 1.

По материалам: https://www.turbopro.ru/index.php/osnovy-programmirovaniya/6836-algoritmy-razrabotka-algoritma-resheniya-zadachi.

Алгоритм – это точное предписание,
определяющее вычислительный процесс,
ведущий от варьируемых начальных данных
к искомому результату (ГОСТ 19.781-74).

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

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

К алгоритмам предъявляются следующие
требования.

Определенность (детерминированность)
означает однозначность толкования
отображаемого алгоритмом вычислительного
процесса.

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

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

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

Понятность (доступность) –
алгоритм должен учитывать специфику
исполнителя и, при необходимости, ему
должны предоставляться дополнительные
сведения; На практике используются
следующие формы представления алгоритмов:

  1. Словесная
    запись
    (не формализованная запись
    алгоритма на естественном языке,
    например, рецепт приготовления манной
    каши);

  2. Блок-схема (наиболее наглядная
    графическая форма представления
    алгоритмов, используемая профессионалами
    особенно в тех случаях, когда алгоритм
    обладает изощренной логикой исполнения);

  3. Псевдокоды
    (язык программирования для бедных,
    когда нет возможности преподавать
    основы алгоритмизации с использованием
    ЭВМ – полуформализованные описания
    алгоритмов, включающий в себя как
    элементы “птичьего” языка
    программирования);

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

Рассмотрим запись алгоритма Евклида
нахождения наибольшего общего делителя
(НОД) для двух натуральных чисел во всех
четырех перечисленных выше формах.

начало,
конец алгоритма

простое
действие, вычисление


задание
исходных данных, вывод результата


проверка
условия

Это линейный
тип алгоритма
(следование)


к
содержанию

задание
исходных данных, вывод результата

Правила разработки, оформления и
обращения программ и программной
документации определяются ЕДИНОЙ
системой программной документации
(ЕСПД) – комплексов государственных
стандартов (ГОСТ 19.001-77).

Требования стандартов ЕСПД предъявляются
к оформлению программ и программной
документации в любой области, где
применяются вычислительные машины.

2.4Выбор языка программирования

Для составления программ используются
следующие языки: машинные,
машинно-ориентированные и машинно-независимые
(алгоритмические языки).

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

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

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

На языке машины программа представляется
в виде последовательности команд, каждая
из которых записывается в специальной
цифровой форме.

Команда представляет собой управляющую
информацию представленную в виде
машинного слова и предназначенную для
управления работой компьютера при
выполнении одной машинной операции.

В каждой команде указывается:

– код операции;

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

Характерные особенности программирования
на машинном языке:

– детальное разбиение алгоритма на
элементарные шаги;

– предварительное распределение ячеек
памяти.

Достоинства: экономичность программ
(малый объем памяти, высокое быстродействие
и точность).

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

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

Машинная ориентированность означает,
что в основе этих языков лежит система
команд вычислительной машины.

Примером является язык АССЕМБЛЕР, каждый
оператор которого соответствует одной
команде компьютера.

Программа на АССЕМБЛЕРе также
детализирована, как и при использовании
машинного языка. Однако применение
АССЕМБЛЕРа имеет ряд преимуществ:

– с символическим языком удобнее работать,
чем с цифровыми кодами;

– текст программы, записанный на АССЕМБЛЕРе
перерабатывается в программу на машинном
языке с помощью транслятора, который
обеспечивает распределение ячеек
памяти, представление оператора языка
в машинном формате и др.

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

Часто сознательно избирают АССЕМБЛЕР,
если стремятся наиболее эффективно
использовать возможности машины.

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

В настоящее время широкое применение
находят языки программирования Си++,
Паскаль, Бейсик.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Инфоурок


Информатика

ПрезентацииПрезентация по информатике на тему “Составление алгоритмов для решения задач”

Презентация по информатике на тему “Составление алгоритмов для решения задач”

Скачать материал

без ожидания

Составление алгоритмов для решения задач

Скачать материал

без ожидания

  • Сейчас обучается 89 человек из 28 регионов

  • Сейчас обучается 41 человек из 28 регионов

Описание презентации по отдельным слайдам:

  • Составление алгоритмов для решения задач

    1 слайд

    Составление алгоритмов для решения задач

  • Способы описания алгоритмовсловесное описание;
описание алгоритма с помощью  ...

    4 слайд

    Способы описания алгоритмов
    словесное описание;
    описание алгоритма с помощью   математических формул;
    графическое описание алгоритма в виде блок-схемы;
    описание алгоритма с помощью псевдокода – программный;
    комбинированный способ.

  • Словесное описание алгоритмаСловесное описание алгоритма представляет собой о...

    5 слайд

    Словесное описание алгоритма
    Словесное описание алгоритма представляет собой описание структуры алгоритма на естественном языке.
    Достоинство: простота описания.
    Недостаток: многословен и не имеет строгой формализации.

    Примеры:

  • Описание алгоритма с помощью   математических формул

    6 слайд

    Описание алгоритма с помощью   математических формул

  • Описание алгоритма с помощью псевдокода – программныйПсевдокод основан на зап...

    7 слайд

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

    Пример:

  • Графическое описание алгоритма в виде блок-схемыГрафический способ предполага...

    8 слайд

    Графическое описание алгоритма в виде блок-схемы
    Графический способ предполагает, что для описания структуры алгоритма используется совокупность графических изображений (блоков), соединяемых линиями передачи управления.
    Примеры:

  • Блок-схемаБлок-схема алгоритма – это графическое представление хода решения з...

    9 слайд

    Блок-схема
    Блок-схема алгоритма – это графическое представление хода решения задачи.

  • Пример Разработать алгоритм вычисления гипотенузы прямоугольного треугольника...

    13 слайд

    Пример
    Разработать алгоритм вычисления гипотенузы прямоугольного треугольника по известным значениям длин его катетов a и b.

    Этап 1. Математическое описание решения задачи.
    Математическим решением задачи является известная формула:

    где с-длина гипотенузы, a, b – длины катетов.

  • Этап 2. Определение входных и выходных данных.
Входными данными являются знач...

    14 слайд

    Этап 2. Определение входных и выходных данных.
    Входными данными являются значения катетов a и b. Выходными данными является длина гипотенузы – c.

  • Этап 3. Разработка алгоритма решения задачи.

    15 слайд

    Этап 3. Разработка алгоритма решения задачи.

  • Пример Разработать алгоритм вычисления наибольшего числа из двух чисел x и y....

    17 слайд

    Пример
    Разработать алгоритм вычисления наибольшего числа из двух чисел x и y.

    Этап 1. Математическое описание решения задачи.
    Из курса математики известно, если x > y, то наибольшее число x, если x < y, то наибольшее число y, если x = y, то число x равно числу y.

  • Этап 2. Определение входных и выходных данных.
Входными данными являются знач...

    18 слайд

    Этап 2. Определение входных и выходных данных.
    Входными данными являются значения чисел x и y.
    Выходным данными являются:
    наибольшее число
    любое из чисел, если числа равны
    Для решения задачи нам необходимо знать значения x и y.

  • Этап 3. Разработка алгоритма решения задачи.

    19 слайд

    Этап 3. Разработка алгоритма решения задачи.

  • Циклическая структурапараметр цикла;
начальное и конечное значения параметров...

    21 слайд

    Циклическая структура
    параметр цикла;
    начальное и конечное значения параметров цикла;
    шаг цикла.

  • Пример Разработать алгоритм вычисления суммы натуральных чисел от 1 до 100....

    24 слайд

    Пример
    Разработать алгоритм вычисления суммы натуральных чисел от 1 до 100.

    Этап 1. Математическое описание решения задачи.
    Обозначим сумму натуральных чисел через S. Тогда формула вычисления суммы натуральных чисел от 1 до 100 может быть записана так:

    где Xi – натуральное число X c номером i, который изменяется от 1 до n, n=100 – количество натуральных чисел.

  • Этап 2. Определение входных и выходных данных.
Входными данными являются нату...

    25 слайд

    Этап 2. Определение входных и выходных данных.
    Входными данными являются натуральные числа: 1, 2, 3, 4, 5, …, 98, 99, 100.
    Выходные данные – значение суммы членов последовательности натуральных чисел.
    Параметр цикла – величина, определяющая количество повторений цикла. В нашем случае i – номер натурального числа.
    Подготовка цикла заключается в задании начального и конечного значений параметра цикла.
    начальное значение параметра цикла равно 1,
    конечное значение параметра цикла равно n,
    шаг цикла равен 1.
    Для корректного суммирования необходимо предварительно задать начальное значение суммы, равное 0.
    Тело цикла. В теле цикла будет выполняться накопление значения суммы чисел, а также вычисляться следующее значение параметра цикла по формулам:
    S=S+i;              I=I+1;
    Условие продолжения цикла: цикл должен повторяться до тех пор, пока не будет добавлен последний член последовательности натуральных чисел, т.е. пока параметр цикла будет меньше или равен конечному значению параметра цикла.

  • Этап 3. Разработка алгоритма решения задачи.

    26 слайд

    Этап 3. Разработка алгоритма решения задачи.

  • Задача 1Алгоритм вычисления значения выражения K=3b+6а.

    27 слайд

    Задача 1
    Алгоритм вычисления значения выражения K=3b+6а.

  • Задача 2Алгоритм, определяющий, пройдет ли график функции y=3x+4 через точку...

    28 слайд

    Задача 2
    Алгоритм, определяющий, пройдет ли график функции y=3x+4 через точку с координатами x1,y1.

  • нетдаНачалоВвод x1,y1y1:=3x1+4КонецВывод:
Не принадлежит
 
 Вывод:
Принадлеж...

    29 слайд

    нет
    да
    Начало
    Ввод x1,y1
    y1:=3x1+4
    Конец
    Вывод:
    Не принадлежит

      Вывод:
    Принадлежит

  • Задача 3Алгоритм, определяющий факториал натурального числа n:
n! = 1*2*3*….*...

    30 слайд

    Задача 3
    Алгоритм, определяющий факториал натурального числа n:
    n! = 1*2*3*….*(n-1)*n
    0!=1
    5!=1*2*3*4*5=120

  • ДаНетНачалоВвод nF:=1F := F*II

    31 слайд

    Да
    Нет
    Начало
    Ввод n
    F:=1
    F := F*I
    I <= n
    I:=1
    I := I+1
    Вывод F
    Конец

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 257 195 материалов в базе

  • Выберите категорию:

  • Выберите учебник и тему

  • Выберите класс:

  • Тип материала:

    • Все материалы

    • Статьи

    • Научные работы

    • Видеоуроки

    • Презентации

    • Конспекты

    • Тесты

    • Рабочие программы

    • Другие методич. материалы

Найти материалы

Другие материалы

«Информатика (базовый уровень)», Угринович Н.Д.

  • 24.04.2017
  • 632
  • 2
  • 24.04.2017
  • 708
  • 0
  • 24.04.2017
  • 1294
  • 1

Рейтинг:
5 из 5

  • 24.04.2017
  • 3899
  • 68
  • 24.04.2017
  • 684
  • 1
  • 24.04.2017
  • 1264
  • 12

Вам будут интересны эти курсы:

  • Курс повышения квалификации «Внедрение системы компьютерной математики в процесс обучения математике в старших классах в рамках реализации ФГОС»

  • Курс повышения квалификации «Облачные технологии в образовании»

  • Курс повышения квалификации «Сетевые и дистанционные (электронные) формы обучения в условиях реализации ФГОС по ТОП-50»

  • Курс повышения квалификации «Использование компьютерных технологий в процессе обучения в условиях реализации ФГОС»

  • Курс повышения квалификации «Применение MS Word, Excel в финансовых расчетах»

  • Курс повышения квалификации «Введение в программирование на языке С (СИ)»

  • Курс профессиональной переподготовки «Управление в сфере информационных технологий в образовательной организации»

  • Курс повышения квалификации «Современные тенденции цифровизации образования»

  • Курс повышения квалификации «Применение интерактивных образовательных платформ на примере платформы Moodle»

  • Скачать материал (медленно)

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

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с
    сайта, Вы можете оставить жалобу на материал.

    Удалить материал

  • Бакасова Елизавета Игоревна

    • На сайте: 7 лет и 6 месяцев
    • Подписчики: 1
    • Всего просмотров: 61027
    • Всего материалов:

      17

  • Файлы

Файлы

Рабочий лист подходит для учеников 7 класса, работающих по учебнику “Информатика. ФГОС”, автор Л….

Конспект

Составление линейных алгоритмов

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

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

 Начнём мы с самых простых алгоритмов – линейных. Их составление, обычно, не вызывает особого труда. Однако, навыки составления таких алгоритмов чрезвычайно важны.

Пример 1. Составить алгоритм запуска программы Paint в ОС Windows 7.

Решение:

Вспомним из курса информатики 5 класса порядок действий для запуска программы Paint.

  1. Войти в меню «Пуск».
  2. Войти в пункт «Все программы».
  3. Войти в пункт «Стандартные».
  4. Выбрать программу «Paint».

Данный алгоритм в виде блок-схемы имеет следующий вид:

 

Рис. 1. Блок-схема к примеру 1.

Составление алгоритмов с ветвлениями

Рассмотрим пример на составление алгоритмов с ветвлениями.

 Пример 2. Составьте алгоритм для перехода дороги на светофоре.

Рис. 2. Светофор (Источник).

Решение:

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

Таким образом, алгоритм имеет следующий вид:

  1. Подойти к светофору.
  2. Посмотреть на его свет.
  3. Если горит зелёный, то перейти дорогу.
  4. Если горит красный, то подождать, пока загорится зелёный, и уже тогда перейти дорогу.

Блок-схема данного алгоритма имеет вид:

Рис. 3. Блок-схема к примеру 2.

Составление циклических алгоритмов

Рассмотрим пример на составление циклического алгоритма. Мы уже несколько раз обсуждали перевод чисел из десятичной системы в двоичную. Теперь пришло время чётко сформулировать этот алгоритм.

Напомним, что его принцип состоит в делении числа на 2 и записей остатков, получающихся при делении.

Пример 3. Составить алгоритм перевода чисел из десятичной системы в двоичную.

Решение:

То есть, алгоритм будет выглядеть так:

  1. Если число равно 0 или 1, то это и будет его двоичное представление.
  2. Если число больше 1, то мы делим его на 2.
  3. Полученный остаток от деления записываем в последний разряд двоичного представления числа.
  4. Если полученное частное равно 1, то его дописываем в первый разряд двоичного представления числа и прекращаем вычисления.
  5. Если же полученное частное больше 1, то мы заменяем исходное число на него и возвращаемся в пункт 2).

Блок-схема этого алгоритма выглядит следующим образом:

Рис. 4. Блок-схема к примеру 3.

Примечание: подумайте, можно ли как-то упростить приведенную блок-схему.

«Чтение» алгоритмов

Пример 4. По заданной блок-схеме выполнить действия алгоритма для числа 23.

Рис. 5. Блок-схема к примеру 4.

Решение:

  1. a=23
  2. 23+5=28
  3. 28<35
  4. 28+5=33
  5. 33<35
  6. 33+5=38
  7. 38>35
  8. 76 – двузначное число
  9. 76-50=26.

Ответ: 26.

На этом уроке мы разобрали примеры составления алгоритмов, а также пример «чтения алгоритма» по готовой блок-схеме.

На следующем уроке мы обсудим игры и выигрышные стратегии.

Как убить Кощея?

Наверное, все помнят из детства сказку, в которой рассказывается о местонахождении смерти Кощея Бессмертного: «Смерть моя – на конце иглы, которая в яйце, яйцо – в утке, утка – в зайце, заяц в сундуке сидит, сундук на крепкий замок закрыт и закопан под самым большим дубом на острове Буяне, посреди моря-океяна …»

Рис. 6. Кощей Бессмертный и Василиса Премудрая (Источник).

Предположим, вместо Ивана-царевича бороться с Кощеем был брошен Иван-дурак. Давайте поможем Василисе Премудрой составить такой алгоритм, чтобы даже Иван-дурак смог убить Кощея.

  1. Конечно же, сначала необходимо разыскать остров Буян (на такие вещи, будем считать, Иван-дурак способен).
  2. Поскольку сундук закопан под самым большим дубом, то сначала необходимо найти самый большой дуб на острове.
  3. Затем нужно выкопать сам сундук.
  4. Прежде чем доставать зайца, необходимо сломать крепкий замок.
  5. Теперь уже можно достать зайца.
  6. Из зайца нужно достать утку.
  7. Из утки достать яйцо.
  8. Разбить яйцо и достать иголку.
  9. Иголку поломать.

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

Его блок-схема выглядит так:

Рис. 7. Блок-схема.

На распутье…

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

Рис. 8. Богатырь на распутье (Источник).

На камне написано:

«Направо пойдёшь – коня потеряешь, себя спасёшь; налево пойдёшь – себя потеряешь, коня спасёшь; прямо пойдёшь – и себя и коня потеряешь».

Попробуем составить алгоритм действий, который составил автор надписи на камне для путников?

  1. Если мы пойдём направо, то потеряем коня. Если же мы не пойдём направо, то у нас остаётся два варианта (мы считаем, что назад возвращаться путник не будет): пойти прямо и налево.
  2. В случае, если мы пойдём налево, то потеряем себя, а коня спасём.
  3. Если же мы пойдём прямо, то потеряем и себя, и коня.

Блок-схема этого алгоритма выглядит так:

Рис. 9. Блок-схема.

Репка

Русские народные сказки не оставили нас и без циклического алгоритма. И, как ни странно, спрятался он в одной из самых незамысловатых сказок – «Репке».

Рис. 10. Репка.

Вспомним сюжет сказки: дед тянет-потянет – вытянуть не может. Затем на помощь к деду по очереди подходят новые персонажи – и так до тех пор, пока не приходит мышка.

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

  1. Изначально к Репке подошёл дед и попытался вытянуть.
  2. Поскольку вытянуть Репку не получилось, то понадобилась помощь следующего персонажа.
  3. И так происходит до тех пор, пока не появилась мышка (или, другими словами, до тех пор, пока Репку не вытащили).

В виде блок-схемы этот алгоритм выглядит следующим образом:

Рис. 11. Блок-схема.

Список рекомендованной литературы

  1. Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса. – М.: БИНОМ. Лаборатория знаний, 2012
  2. Босова Л.Л. Информатика: Рабочая тетрадь для 6 класса. – М.: БИНОМ. Лаборатория знаний, 2010.
  3. Босова Л.Л., Босова А.Ю. Уроки информатики в 5-6 классах: Методическое пособие. – М.: БИНОМ. Лаборатория знаний, 2010.

 Рекомендованные ссылки на ресурсы интернет

  1. Интернет портал «Сообщество взаимопомощи учителей» (Источник).
  2. Интернет портал «Nsportal.ru» (Источник).
  3. Интернет портал «Фестиваль педагогических идей» (Источник).

 Рекомендованное домашнее задание

  1. §3.3, 3.4 (Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса);
  2. Постарайся самостоятельно составить линейный алгоритм из 5-6 фигур;
  3. Составь блок-схему циклического алгоритма выполнения домашнего задания;

Добавить комментарий