Блок схемы информатика по уравнению

Как решать блок-схемы по информатике

Вы будете перенаправлены на Автор24

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

Введение

Блок-схема, по сути, является алгоритмом разрешения заданной специалистам проблемы. Понятие алгоритма появилось благодаря Мухаммеду аль-Хорезми, жившему в восьмом — девятом веках нашей эры. Он считается автором правил осуществления четырёх основных арифметических операций. Если брать более современные определения алгоритма, то по ГОСТ от 1974 года алгоритмом является: точное и однозначное представление очерёдности процедур, которое определяет процесс вычислений. При этом существуют некоторые переменные с определёнными параметрами, приводящие вычисления к требуемому итогу. Алгоритм ясно предписывает его исполнителю осуществлять в строгой очерёдности конкретные действия для разрешения указанной задачи и достижения необходимой цели. Создание алгоритма заключается в подразделении решения единой большой задачи на некоторую последовательную цепь действий. Проектировщик алгоритма должен обладать знаниями по методике и правилам этой работы.

Особенности алгоритма

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

  1. Всегда в составе алгоритма должна быть в наличии операция занесения исходных данных.
  2. После окончания работы основной части алгоритма должен выдаваться окончательный итоговый результат, поскольку это и есть основная цель создания алгоритма.
  3. Алгоритм должен иметь дискретную структуру. То есть, его возможно представить в форме последовательных шагов. Очередной шаг всегда начинается после окончания действий предыдущего шага.
  4. Толкование операций алгоритма всегда однозначно. Любой этап имеет чёткое определение, не допускающее другой трактовки.
  5. Конструкция алгоритма предполагает конечность его процедур, то есть он должен осуществляться за чётко назначенное число шагов.
  6. Корректность алгоритма должна быть абсолютной, то есть он выдаёт только правильное разрешение исходной задачи.
  7. Алгоритм должен быть способен функционировать с разными начальными данными.
  8. Время выполнения алгоритма должно быть минимизировано, что даёт более эффективное разрешение исходной задачи.

Готовые работы на аналогичную тему

Далее рассмотрим возможные методики и формы представления алгоритмов.

Словесная запись

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

Графическая запись алгоритма

При интерпретации алгоритма в виде графики используются компоненты блок-схем. Они стандартизированы и у всех команд существует некоторое определение в формате графики. А, собственно, текст команды пишется внутри графического блока. Блоки соединены при помощи линий, которые определяют очерёдность исполняемых команд. Такой тип описания алгоритма больше применим при программировании, чем словесная запись. Когда выстроенный алгоритм служит для его реализации программой на компьютере, то он может быть записан специальными кодами. Для этих целей есть большое количество языков программирования. Но и алгоритм в таком случае имеет название программы.

Базовой графической формой записи алгоритма является блок-схема. Все операции и действия представляются в виде геометрических фигур. В этих фигурах расположен перечень подлежащих исполнению в этом блоке операций. Связи отображаются обычными линиями, и, если это нужно, то со стрелками. Правила формирования блок-схем алгоритмов прописаны в ГОСТ 19.701-90. Он предписывает законы и правила проектирования алгоритмов в формате графики и методику их решения. Необходимо подчеркнуть следующие главные правила формирования любых блок-схем:

  1. Всегда предполагается присутствие блоков «Начало» и «Конец». И они не должны повторяться.
  2. Первый и последний блоки соединяются связующими элементами и линиями.
  3. От любого блока, кроме последнего, отходят потоковые линии.
  4. Блоки имеют нумерацию сверху вниз и слева направо.
  5. Блоки алгоритма соединяются линиями, которые назначают очерёдность исполнения операций. В случае движения потока в другом направлении (снизу вверх или справа налево), оно должно быть указано стрелками.
  6. Все линии могут быть входными и выходными. Причём одна и та же линия для одного блока будет входной, а для другого выходной.
  7. Начальный блок имеет только выходную линию потока, поскольку он первый.
  8. Последний (конечный) блок обладает только входящей линией.
  9. Для более удобного отображения блок-схем, все входящие линии располагаются сверху, а выходящие снизу.
  10. Возможно присутствие разрывных потоковых линий, но они всегда отмечаются специальными соединителями.
  11. Для большей наглядности блок-схемы, позволительно дополнительную информацию располагать в комментариях.

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

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

Рисунок 1. Линейный алгоритм. Автор24 — интернет-биржа студенческих работ.

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

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

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

Рисунок 2. Разветвляющиеся алгоритмы. Автор24 — интернет-биржа студенческих работ

Схемы отображают блоки, имеющие название «Решение». У них есть пара выходов и записанное в блоке некоторое условие логики. Это условие определяет, по какой ветви алгоритма пойдёт дальнейшее продвижение. Алгоритмы с ветвлениями подразделяются на следующие типы:

  1. С «обходом». В одной ветви нет команд. Выполняется проход мимо некоторых процедур соседней ветви.
  2. С «разветвлением». Во всех ветвях есть некоторый комплекс операций, подлежащих выполнению.
  3. С «множественным выбором». Это ветвление, при котором имеется набор ветвей и во всех содержится некоторый комплекс процедур.

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

Решения блок-схем алгоритмов

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

Те же мореплаватели, создавая карты, делали это в соответствии с единой системой обозначений — это позволяло обмениваться информацией друг с другом. То же самое справедливо и для визуального отображения схем алгоритмов — существуют правила, единые обозначения и стандарты, регламентирующие их применение. В России это ГОСТ 19.701-90 «Схемы алгоритмов программ, данных и систем», который близок к международному стандарту ISO 5807:1985.

Главные элементы блок-схем алгоритмов

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

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

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

Задача и блок-схема алгоритма

На картинке ниже дан алгоритм в виде схемы. В нем мы видим оператор присваивания := , то есть X := 1 будет означать, что переменная Х примет значение 1. По результату алгоритмических действий надо определить итог работы представленного алгоритма, используя следующие входные данные: Х = 7, Y = 12.

Схема этого алгоритма и решение задачи будут выглядеть следующим образом:

Смотрим, как следует решать подобное задание: 1. Блок ввода данных определяет исходные значения Х и Y (в соответствии с условием это 7 и 12). 2. В первом блоке значения Х и Y сравниваются. Так как условие не является верным (7

Урок 4. Блок-схема

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

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

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

Существует несколько основных видов блоков, которые нетрудно запомнить:

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

Задача №1: «Рассчитать площадь и периметр прямоугольника по двум известным сторонам».

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

Составим алгоритм решения подобных задач:

1) Прочитать задачу.
2) Выписать известные и неизвестные нам переменные в «дано». (В задаче №1 к известным переменным относятся стороны: a, b ;к неизвестным — площадь S и периметр P)
3) Вспомнить либо составить необходимые формулы. (У нас: S=a*b; P=2*(a+b))
4) Составить блок-схему.
5) Записать решение на языке программирования Pascal.

Запишем условие в более кратком виде.

Решение задачи №1

Структура программы, решающей данную задачу, тоже проста:

  • 1) Описание переменных;
  • 2) Ввод значений сторон прямоугольника;
  • 3) Расчет площади прямоугольника;
  • 4) Расчет периметра прямоугольника;
  • 5) Вывод значений площади и периметра;
  • 6) Конец.

А вот и решение:

Задача №2: Скорость первого автомобиля — V1 км/ч, второго – V2 км/ч, расстояние между ними S км. Какое расстояние будет между ними через T часов, если автомобили движутся в разные стороны? Значения V1, V2, T и S задаются с клавиатуры.

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

Дано: V1, V2, S, Т
Найти: S1

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

Формула, используемая для решения нашей задачи, выглядит следующим образом:

Следующий пункт алгоритма – блок-схема:

Решение задачи №2.

А также решение, записанное в Pascal :

Вам может показаться, что две эти программы правильны, но это не так. Ведь сторона треугольника может быть 4.5, а не 4, а скорость машины не обязательно круглое число! А Integer — это только целые числа. Поэтому при попытке написать во второй программе другие числа выскакивает ошибка:

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

Чтобы решить эту проблему вам надо вспомнить какой тип в Pascal отвечает за нецелые числа. В этом уроке мы рассматривали основные типы. Итак, это вещественный тип — Real. Вот, как выглядит исправленная программа:

Как видите, эта статья полезна для прочтения как новичкам, так и уже более опытными пользователям Pascal, так как составление блок-схем не только очень простое и быстрое, но и весьма увлекательное занятие.

Здесь понятней чем в школе.

мля… прикиньте, я узнал про этот сайт только ПОСЛЕ того как сделал программу с условием, узнавая все в инструкции

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

Взять строку введенную пользователем, заменить «,» на «.».
Если совсем гуглить не умеете, то вам сюда — http://www.cyberforum.ru/pascal/thread190664.html

>> скорость машины не обязательно круглое число!

Нет такого понятия, как «круглое число».

Обе ваши блок-схемы не соответствуют ГОСТу (сдать такие на курсовой проект не получится). ГОСТ определяет блоки начала и конца, как «прямоугольник со скругленными краями», а не «скругленными углами».

>> умение правильно и быстро составлять схемы является фундаментом, основой программирования.

Большинство программистов так не считает. Кроме того, попробуйте поспрашивать у программистов «когда они последний раз составляли блок-схему?» — окажется что в ВУЗе (когда с них зачем-то сдирали знание ГОСТа).

>> так как составление блок-схем не только очень простое и быстрое, но и весьма увлекательное занятие.

Очень сложное, долгое и бесполезное занятие. Для хоть сколько-нибудь большой программы (в тысячу строк хотя бы, как курсак) блок-схемы будут огромные и их будут десятки. А что делать если они перестают соответствовать коду? — вот даже в вашей первой задаче надо будет добавить проверку, что юзер не ввел отрицательные значения сторон, что делать? — исправления кода займут 1 минуту, а исправление блок-схем 10 минут, и зачем тогда этим заниматься?

Программист не должен писать блок-схемы (он их должен читать и понимать и при необходимости исправлять). Блок-схемы это графический язык общения, который понимает как программист, так и не программист. Чтобы пользователь не общался с программистом своими «хотелками», типа я хочу, чтобы вот это правильно считалось, и это число складывалось с этим, а потом выводилось сюда (или вообще говорил — хочу что бы работало), а рисовал все в виде блок-схем с четким алгоритмом. Тогда по идее у программиста будет понимание того, что от него хотят (и он через пять минут не забудет все что ему сказали). Либо, когда общаются два программиста пишущих на разных языках программирования (LISP и Java) и одному нужно объяснить как работает его код, что бы другой переписал его на другом языке.
Как объяснить преподавателю как работает программа, если преподаватель не знает языка программирования на котором написана ваша программа? Или как преподавателю объяснить алгоритм задачи студентам пишущим и реализующим этот алгоритм или программу на разных языках программирования? Нужен какой-то универсальный язык общения и обычно это просто текст «что нужно сделать» на русском языке, а не намного облегчающая жизнь программиста блок-схема.
Вам могут сказать — сделай модуль авторизации (ты же знаешь как, ну как всегда и как везде), а могут нарисовать блок-схему модуля авторизации с учетом всех пожеланий, типа того, что пароль должен содержать не менее 6 символов и что нужно делать в противном случае т.д. То есть блок схему должен уметь рисовать тот кто ставит задачу, а не программист. Либо программист (архитектор либо менеджер проекта), который ставит задачу другим программистам.

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

Блок схемы всей программы могут не понадобиться. Это же тонны бумаги и много времени. И да, они устаревают и актуализировать их трудоёмко.
Но при обсуждении новых вариантов решения задачи с другими программистами удобно оперировать блоками с криво-косо нарисованными краями и линиями. Начертил на бумаге или доске и все понятно.
На практике я встречал фотографии доски с блок-схемами, прикреплённые к задачам в Jira.
Не по ГОСТу 🙂

Спасибо, теперь я напишу программу, которая делает код по блок схеме и наоборот

program Logarifm;
Var
X,y,z:real;
function Lgrfm(A,B:Real):Real;
var
Osn:Real;
begin
Osn:=ln(A)/ln(B);
Lgrfm:=Osn;
end;
begin
Write(‘Введите X = ‘);
ReadLn(X);
Write(‘Введите Y = ‘);
ReadLn(Y);
Z:=Lgrfm(X,2)+Lgrfm(Y,3);
WriteLn(‘Z = ‘,Z:10:3);
ReadLn;
end.

Отличный сайт, мне все нравится все понятно и четко, нашел нужные программы.

В блок-схемах начало и конец алгоритма обозначаются не прямоугольником со скруглёнными краями, а овалом!

Ребята, что сделали сайт молодцы)) Оч полезная инфа, что нужно поправить, чтобы сайт стал еще лучше:
1) мне не хватает структуры уроков порядковой (или хотябы под уроками чтобы была ссылка на следующий), поэтому приходится на другие уроки искать ссылки по сайту и в контексте уроков;
2)нет описания функций используемых в примерах (по крайней мере, возможно по причине отсутствия структуры, я их не нашел), поэтому беру на сторонних ресурсах описания таких функций как dec() inc() sqr() odd().
А вообще как я понял сайт составлялся школьниками «на коленках», поэтому я не придираюсь, а просто говорю им спасибо за их труд. Желаю успехов.


источники:

http://otus.ru/nest/post/1778/

http://learnpascal.ru/vvedenie-v-paskal/blok-sxema.html