На Горох
Информатика

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

"Информатика (в 2 частях)", Нателаури Н.К., Маранин С.С.

Объяснение темы

Кратко о теме

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

Объяснение темы

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

Определения и обозначения

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

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

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

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

Как это устроено

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

Алгоритм составляют для конкретного исполнителя, поэтому команды формулируют с учётом того, что он умеет. Команда вроде «сделай всё правильно» не объясняет, какое действие требуется, а значит, исполнитель должен был бы додумать её смысл. Точный порядок тоже необходим: если переставить шаги или пропустить один из них, результат может измениться или работа остановится.

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

Один и тот же способ решения можно записать по-разному: словами, последовательностью шагов или на алгоритмическом языке. Для простой инструкции человеку часто достаточно слов, но сложное описание может стать длинным и неоднозначным. Более строгая запись помогает точнее передать команды; способ выбирают с учётом сложности задачи и того, кто будет её выполнять.

Программирование — это запись решения в командах языка программирования, которые компьютер может обработать. Компьютер выполняет не любые фразы, а команды, соответствующие его возможностям и правилам языка. Поэтому при создании программы нужно и перевести алгоритм в подходящую форму, и проверить запись: ошибка в команде может помешать выполнению даже правильно придуманного решения.

Способы записи алгоритма и их особенности

Способ записиКак представляется алгоритмДля кого предназначенПреимуществоОграничение
Словесная записьПоследовательность команд на обычном языкеЧеловекЛегко составить и понять простые решенияВозможны неоднозначности и громоздкость
Алгоритмический языкКоманды по установленным правилам записиЧеловек и исполнитель, понимающий этот языкТочнее словесного описанияНужно знать правила языка
Программа на языке программированияКоманды, записанные по синтаксису языка программированияКомпьютер после необходимой обработки программыПозволяет автоматизировать выполнение алгоритмаОшибки записи могут помешать выполнению

Сравнивайте способы записи по тому, кто будет выполнять алгоритм, и насколько точным должно быть описание. Для простого задания человеку удобна словесная форма, а для выполнения компьютером нужна программа. Чем строже правила записи, тем меньше места остаётся для неоднозначного толкования, но тем важнее знать эти правила.

Разбор задач

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

  1. Проверить, что подготовлены чашка, вода, чай и сахар.
  2. Налить воду в чашку.
  3. Добавить чай и сахар.
  4. Размешать напиток и завершить выполнение.

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

Задача 2. Даны два числа. Записать алгоритм нахождения их суммы и указать исходные данные и результат. Обозначим числа a и b. Исходные данные — именно эти два числа, а требуемый результат — их сумма; значит, достаточно выполнить сложение и сохранить ответ под именем s.

  1. Получить исходные данные a и b.
  2. Сложить числа: s = a + b.
  3. Сообщить значение s и закончить работу.

Ответ: алгоритм состоит из получения двух чисел, вычисления их суммы и выдачи результата. Например, если a = 4 и b = 7, то s = 11. Подстановка чисел помогает проверить, что команда действительно связывает исходные данные с требуемым результатом.

Задача 3. Описать вычисление среднего арифметического трёх чисел и представить решение как программу на изучаемом языке. Среднее арифметическое получают, складывая числа и деля сумму на их количество. Для трёх чисел a, b и c важно разделить именно на 3, а затем перенести те же действия в команды языка программирования. Точная форма записи программы зависит от изучаемого языка.

  1. Получить числа a, b и c.
  2. Вычислить их сумму: s = a + b + c.
  3. Разделить сумму на 3: m = s / 3.
  4. Вывести m и завершить программу.

Ответ: алгоритм задаёт вычисления m = (a + b + c) / 3, а программа записывает эти шаги по правилам языка. Например, для чисел 3, 6 и 9 сумма равна 18, а среднее арифметическое — 6. Сравнение результата с ручным расчётом помогает проверить, что программа следует алгоритму.

Типичные ошибки

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

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

Смешивать алгоритм и программу. Алгоритм описывает способ решения задачи, а программа записывает этот способ на языке, предназначенном для компьютера. Понятия путают, потому что программа действительно содержит алгоритм, но это не делает их одним и тем же. Для самопроверки спросите себя: речь идёт о последовательности действий вообще или о записи, которую должен выполнить компьютер?

Записывать команды без учёта исполнителя или правил языка. Такая команда может оказаться недоступной устройству или не соответствовать синтаксису — правилам правильной записи языка. Ошибку допускают, когда сосредоточиваются только на идее решения и забывают, кто должен выполнить команды. Проверьте каждую команду по системе команд исполнителя, а запись программы — по правилам языка.

Связь с другими темами

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

Что запомнить

  • Алгоритм задаёт точный порядок действий для решения задачи.
  • Команды алгоритма должны быть понятны выбранному исполнителю.
  • Алгоритм должен завершаться за конечное число шагов.
  • Исполнитель может выполнять только команды из доступной ему системы команд.
  • Программа — запись алгоритма на языке программирования.
  • Чтобы компьютер выполнил решение, команды программы должны соответствовать правилам языка.

Частые вопросы по теме

Чем алгоритм отличается от обычной инструкции?

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

Почему алгоритм должен быть конечным?

Исполнитель должен закончить работу, а не выполнять действия бесконечно. Конечность позволяет получить результат и проверить, решена ли задача.

Может ли один алгоритм иметь несколько способов записи?

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

Чем исполнитель отличается от алгоритма?

Алгоритм — это описание порядка действий, а исполнитель — тот, кто эти действия выполняет. Исполнитель действует только по командам, которые входят в его систему команд.

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

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

Спросить по теме параграфа

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

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика (в 2 частях)", Нателаури Н.К., Маранин С.С.