В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в разветвляющиеся алгоритмы входит условие, в зависимости от выполнения или невыполнения которого выполняется та или иная последовательность команд (серий).
В качестве условия в разветвляющемся алгоритме может быть использовано любое понятное исполнителю утверждение, которое может соблюдаться (быть истинно) или не соблюдаться (быть ложно). Такое утверждение может быть выражено как словами, так и формулой. Таким образом, команда ветвления состоит из условия и двух последовательностей команд.
Команда ветвления, как и любая другая, может быть:
• записана на естественном языке;
• изображена в виде блок-схемы;
• записана на алгоритмическом языке;
• закодирована на языке программирования
5.Циклические алгоритмы. Команда повторения.
В циклах типа пока тело цикла выполняется до тех пор, пока выполняется условие. Выполнение таких циклов происходит следующим образом: пока условие справедливо (истинно), выполняется тело цикла, когда условие становится несправедливым, выполнение цикла прекращается.
Программирование разветвляющихся алгоритмов | Информатика 8 класс #24 | Инфоурок
Цикл, как и любая другая алгоритмическая структура, может быть:
* записан на естественном языке;
• изображен в виде блок-схемы;
записан на алгоритмическом языке; закодирован на языке программирования.
6. Основы языка программирования (алфавит, операторы, типы данных и т.д)
Языки программирования — это формальные языки, кодирующие алгоритмы в привычном для человека виде (в виде предложений). Язык программирования определяется заданием алфавита и точным описанием правил построения предложений (синтаксисом).
В алфавит языка могут входить буквы, цифры, математические символы, а также так называемые ключевые слова If (если), Then (тогда), Else (иначе) и др. Из исходных символов (алфавита) по правилам синтаксиса строятся предложения, обычно называемые операторами. Например, оператор условного перехода
If A>B Then X=A+B Else X=A*B
В языках программирования используются различные структуры данных: переменная, массив и др. Переменные задаются именами, которые определяют области памяти, в которых хранятся их значения. Значениями переменных могут быть данные различных типов (целые или вещественные числа, строки, логические значения). Соответственно переменные бывают различных типов: целочисленные (А%=5), вещественные (А=3.14), строковые (А$=»информатика»), логические (A=True).
Текстовый редактор. Назначение и основные функции.
Для работы с текстами на компьютере используются программные средства, называемые текстовыми редакторами или текстовыми процессорами. Существует большое количество разнообразных текстовых редакторов, различающихся по своим возможностям, — от очень простых учебных до мощных, многофункциональных программных средств, называемых издательскими системами, которые используются для подготовки к печати книг, журналов и газет. Наиболее известны среди пользователей IBM-совместимых компьютеров текстовые редакторы Lexicon и Word for Windows.
C++ | Разветвляющийся алгоритм (оператор условия if)
Основное назначение текстовых редакторов — создавать текстовые файлы, редактировать тексты, просматривать их на экране, изменять формат текстового документа, распечатывать его на принтере.
• набирать текст с клавиатуры;
• исправлять символы, вставлять новый символ на место ошибочного;
• вставлять и удалять группы символов в пределах строк, не набирая заново всю строку, а сдвигая часть ее влево/вправо в режиме вставки;
• копировать фрагмент текста, используя определенную часть памяти — так называемый «буфер» (или «карман», как говорят программисты) для временного хранения копируемых фрагментов текста;
• удалять одну или несколько строк, копировать и перемещать их в другое место текста;
• раздвигать строки набранного текста, чтобы вставить туда новый фрагмент;
• вставлять фрагменты из других текстов, просматривать тексты и обнаруживать встречающиеся в этом тексте слова или группы слов, заранее выделенных пользователем;
• сохранять набранный текст (а при необходимости и все промежуточные варианты этого текста) в виде файла на магнитном диске или другом запоминающем устройстве;
• форматировать текст (т. е. изменять длину строки, межстрочные расстояния, выравнивать текст по краю или середине строки и т. д.);
• изменять шрифты, их размер, делать выделения с помощью подчеркивания или применения различного начертания букв (курсивного, полужирного и т. п.);
• распечатывать подготовленный текст на принтере.
Графиский редактор. Назначение и основные функции.
Для обработки изображений на компьютере используются специальные программы — графические редакторы. Графический редактор — это программа создания, редактирования и просмотра графических изображений. Графические редакторы можно разделить на две категории: растровые и векторные.
Растровые графические редакторы. Растровые графические редакторы являются наилучшим средством обработки фотографий и рисунков, поскольку растровые изображения обеспечивают высокую точность передачи градаций цветов и полутонов. Среди растровых графических редакторов есть простые, например стандартное приложение Paint, и мощные профессиональные графические системы, например Adobe Photoshop и CorelPhoto-Paint.
К векторным графическим редакторам относятся графический редактор, встроенный в текстовый редактор Word. Среди профессиональных векторных графических систем наиболее распространены CorelDRAW и Adobe Illustrator.
Панели инструментов графических редакторов. Графические редакторы имеют набор инструментов для создания или рисования простейших графических объектов: прямой линии, кривой, прямоугольника, эллипса, многоугольника и т. д. После выбора объекта на панели инструментов его можно нарисовать в любом месте окна редактора. Выделяющие инструменты. В графических редакторах над элементами изображения возможны различные операции: копирование, перемещение, удаление, поворот, изменение размеров и т. д. Чтобы выполнить какую-либо операцию над объектом, его сначала необходимо выделить.
Операцию изменения цвета можно осуществить с помощью меню Палитра, содержащего набор цветов, используемых при создании или рисовании объектов.
Текстовые инструменты позволяют добавлять в рисунок текст и форматировать его.
Электронные таблицы. Назначение и основные функции.
Электронные таблицы (или табличные процессоры) — это прикладные программы, предназначенные для проведения табличных расчетов.
В электронных таблицах вся обрабатываемая информация располагается в ячейках прямоугольной таблицы. Отличие электронной таблицы от простой заключается в том, что в ней есть «поля» (столбцы таблицы), значения которых вычисляются через значения других «полей», где располагаются исходные данные. Происходит это автоматически при изменении исходных данных.
Поля таблицы, в которых располагаются исходные данные, принято называть независимыми полями. Поля, где записываются результаты вычислений, называют зависимыми или вычисляемыми полями. Каждая ячейка электронной таблицы имеет свой адрес, который образуется от имени столбца и номера строки, где она расположена. Строки имеют числовую нумерацию, а столбцы обозначаются буквами латинского алфавита.
Базы данных. Назначение и основные функции.
База данных — это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором свойств.
Базами данных являются, например, различные справочники, энциклопедии и т. п.
Информация в базах данных хранится в упорядоченном виде. Так, в записной книжке все записи упорядочены по алфавиту, а в библиотечном каталоге либо по алфавиту (алфавитный каталог), либо в соответствии с областью знания (предметный каталог).
Существует несколько различных типов баз данных: табличные, иерархические и сетевые.
Компьютерные вирусы.
Компьютерный вирус – вид вредоносного программного обеспечения, способный создавать копии самого себя и внедрятся в код других программ, системные области памяти, загрузочные секторы, а так же распространять свои копии по разнообразным каналам связи, с целью нарушения работы программно-аппаратных комплексов, удаления файлов, приведения в негодность структур размещения данных, блокирования работы пользователей или же приведение в негодность аппаратных комплексов компьютера.
По среде обитания вирусы можно разделить на такие виды:
1. Загрузочные вирусы.
2. Файловые вирусы.
3. файлово-загрузочные вирусы.
Источник: infopedia.su
Программирование разветвляющихся алгоритмов
Программирование. Основные алгоритмические конструкции
Для создания любых программ необходимы основные алгоритмические конструкции. Следование является наиболее простым вариантом решения задач. Его можно использовать, например, для работы с однотипными примерами. Существуют и другие типы: ветвление и цикл. О них будет рассказано в данной статье.
Но сперва нужно понять, что же собой представляет алгоритм в целом.
Алгоритм
Слово «алгоритм» пошло от латинского algoritmi. Что же оно означает? Аутентичное слово произошло от имени математика, деятельность которого пришлась на IX век. Благодаря трактату аль-Хорезми человечество смогло познакомиться с основным типом алгоритмической конструкции и вообще с общим понятием.
Ранее была принята форма написания слова – «алгорифм». Сейчас она используется лишь в некоторых случаях.
Алгоритм – процесс, который означает изменение исходных данных, происходящее в виде дискретных шагов. С этим понятием каждый человек сталкивается в жизни, кем бы он ни был.
Алгоритмами вполне можно назвать приготовление чая или пищи, умножение или сложение, решение уравнений и т. д. Вся бытовая техника, чей процесс работы автоматизирован, функционирует за счет четких шагов, прописанных в памяти процессора. Такие алгоритмы называются бытовыми. Есть и другие типы. Рассмотрим их.
Виды алгоритмов
Основные алгоритмические конструкции разбиваются на несколько типов, о которых и будет идти речь в данном подпункте. Какие они бывают?
- Информационные. Такие алгоритмы работают с большим количеством данных, но сам объем процесса их обработки маленький по длине и несложный.
- Управляющие. Работа таких алгоритмов связана с информацией, которая предоставляется от того или иного источника. После ее получения отправляются специальные сигналы, гарантирующие работу устройств.
- Вычислительные. В отличие от информационных алгоритмов, описываемые работают с маленькими объемами данных, но производят большой процесс работы.
По сути, алгоритмом является точная до мельчайших подробностей инструкция. Однако не все такие данные можно назвать описываемым понятием. Чтобы понять, алгоритм инструкция или нет, следует ее проверить на наличие определенных свойств.
Свойства алгоритмов
Все основные алгоритмические конструкции должны иметь действия, которые им «подчиняются». Рассмотрим этот вопрос более подробно.
Если полностью отследить работу алгоритмов и их свойства, можно увидеть, что необязательно понимать их составляющие, достаточно четко соответствовать плану. Верный результат будет получен, даже если просто механически придерживаться нужных действий. Из этого можно сделать вывод, что из-за отсутствия смысла в осознании действий, алгоритм вполне реально отдать на реализацию ЭВМ. Иными словами, для автоматизированных устройств необходимо наличие данного процесса.
Какие же свойства должны иметь основные алгоритмические конструкции для максимально точной работы?
- Понятность. Каждая команда должна быть максимально понятна выполняемому объекту. Вроде бы ничего легче, чем, например, нарисовать точку в центре, нет, но пока не будет прописана команда, которая позволит выполнить действие, сделать это не удастся.
- Результативность. Что подразумевает данное свойство? Обязательное получение результата. Алгоритм не может не привести к какому-то ответу. Из-за ошибки можно получить не тот результат, который был желаемым, но все же он будет. Более того, ответ должен быть получен через определенное число шагов.
- Массовость. Любой алгоритм должен быть применимым к какому-то классу задач. Между собой они могут различаться исходными данными.
- Определенность. Каждое действие должно иметь лишь одно значение и не давать возможности для производной расшифровки. В идеале, сколько бы программа ни запускалась, результат должен быть одним и тем же всегда.
- Дискретность. Алгоритм – последовательное выполнение шагов. Каждый шаг является командой, пропускать или добавлять новые нельзя.
- Корректность. Любой алгоритм, применимый к какому-нибудь роду задач, должен быть правильным для всех. В программировании часто появляются проблемы не в написании шагов, которое зачастую не требует много времени, а в выполнении их для различного рода вопросов. Поэтому важным этапом будет отладка алгоритма. Могут в этом помочь и основные алгоритмические конструкции, повторение которых позволит добиться лучших результатов.
Описание алгоритмов
Если говорить о способах записи алгоритмов, то следует выделить следующие:
- Словесный. Иными словами, на языке, которым удобно изъясняться составляющему.
- Табличный. По логике вещей, алгоритм записывается в таблицы и, как правило, используется в качестве вспомогательного элемента.
- Формульно-словесный. В основу взят словесный способ изъяснения, но в такие действия также записываются математические формулы или символы.
- Графический. Такой алгоритм записан на специальном языке блок-схем.
Следует пояснить последний пункт. Что собой представляет блок-схема? Это линейный или нелинейный алгоритм, шаги которого записаны с помощью специальных блоков. Они имеют свою конфигурацию, назначение и функцию. В случае такого описания, алгоритм записывается блок-схемами, которые связаны между собой линиями.
В них необходимо дополнительно записать то или иное действие (шаг).
Алгоритмические конструкции
Некоторые утверждают, что алгоритмы имеют не 3 вида, а 4. Основные алгоритмические конструкции: линейные, разветвляющиеся, циклические. С чем связано такое заблуждение, непонятно. Однако для простого решения сложных проблем ЭВМ использует алгоритмы этих трех достаточно больших групп. Рассмотрим их.
-
Линейный. Такой вычислительный процесс получил данное название за счет того, что все действия выполняются в линейной последовательности, при этом каждый шаг выполняется не более одного раза. Если рассматривать схему задачи, то блоки в ней размещаются один под другим в зависимости от порядкового номера выполнения.
Линейные алгоритмы работают таким образом, что от исходных данных не меняется направление и смысл действий. Такой способ решения подойдет для вычисления суммы или разности, площади фигуры или ее периметра и т. п. Основным типом алгоритмической конструкции является именно он.
Нужно заметить, что все основные алгоритмические конструкции (следование, ветвление, цикл) взаимосвязаны друг с другом, хотя и могут использоваться отдельно.
Создание циклов и их виды
Что же необходимо для создания цикла?
- Счетчик цикла. Это переменная, которая задает начальное значение, и при повторении действия она будет изменяться. Обязательно она должна входить в алгоритм. Основные алгоритмические конструкции циклового типа работать без нее не будут.
- Смена показателя вышеописанных данных перед новым повторением самого цикла.
- Проверка условия, чтобы ЭВМ решила, следует ли снова «прокручивать» цикл или больше в этом нет нужды.
Циклы могут быть детерминированными и итерационными. Первые представляют собой повтор действий с уже известным количеством повторений. Итерационный цикл – тот, который повторяется неопределенное количество раз, пока условие не станет правдой или ложью.
Базовый алгоритм
Стоит запомнить то, что к основным алгоритмическим конструкциям не относится базовый алгоритм. Что он собой представляет? Данное понятие уже давно не встречается в современной литературе, однако это не значит, что его и вовсе больше не существует. Учитывая, что в решении задач может встретиться несколько ветвлений или повторений, можно выделить следующее заключение.
Основные алгоритмические конструкции (линейные, разветвляющие, циклические) являются базовыми. По сути, они представляют собою «структурную единицу» каждой так называемой инструкции.
Линейные алгоритмы
Как уже понятно из вышенаписанного, алгоритмы бывают линейные и нелинейные. Рассмотрим первый вариант. Почему он так называется? Все предельно просто. Дело в том, что все действия, которые воспроизводятся в алгоритме, имеют четко последовательное выполнение, все шаги выполняются строго друг за другом.
Как правило, такие задачи небольшие и имеют низкий уровень сложности.
Примером линейного алгоритма может быть процесс приготовления чая:
- Налить воды в чайник.
- Поставить чайник на плиту закипать.
- Взять чашку.
- Насыпать в чашку чай.
- Добавить сахар.
- После кипения налить в чашку кипяток.
- Взять ложку.
- Перемешать сахар.
Программирование основных алгоритмических конструкций — достаточно тяжелое дело, но если речь идет о линейных алгоритмах, то зачастую реализовать их очень легко.
Разветвляющиеся алгоритмы
Как понять, что алгоритм является разветвляющимся? Достаточно убедиться в наличии выбора из двух или более вариантов действия, в зависимости от выполнения или невыполнения условия. Каждый путь называется ветвью.
Основным признаком разветвляющегося алгоритма является существование условного перехода. Он происходит во время проверки выражения на истину или ложь.
Как правило, логические выражения представлены знаками «меньше», «больше», «меньше или равно», «больше или равно», «равно», «не равно». Иногда встречаются варианты, где условие связано между собой с помощью команд and (и) и or (или).
Примером такого алгоритма может быть решение следующей задачи: если выражение ((х+3)/1) равняется положительному числу, то вывести результат на экран, если отрицательному – сообщить пользователю об ошибке.
Достаточно просто на практике использовать основные алгоритмические конструкции. Ветвление является одним из самых распространенных методов решения.
Детерминированный цикл или цикл со счетчиком
Цикл со счетчиком – цикл, который включает в себя переменную, изменяющую значение с определенным шагом. Шаг задается пользователем или прописывается программистом во время написания обеспечения. Большая часть языков для такого цикла использует оператор for.
Чтобы программа выводила на экран две строки 4 раза:
- «Как дела?»
- «Хорошо, спасибо!»
- «Как дела?»
- «Хорошо, спасибо!»
Необходимо создать детерминированный цикл. Как это выглядит? Воспользуемся языком «Паскаль» для лучшего восприятия конструкции.
1. For i:=1 to 2 do:
— i является счетчиком цикла, именно он определяет количество повторений в цикле.
2. Begin (открываются операторные скобки для того, чтобы обе фразы являлись телом цикла и повторялись вместе.)
3. Writeln (‘Как дела?’):
— слово writeln означает вывод фразы, находящейся в одинарных кавычках.
4. Writeln (‘Хорошо, спасибо’).
Как видно, достаточно легко и даже интересно использовать основные алгоритмические конструкции. Базовые алгоритмы действительно широко известны, без них невозможно писать программы.
Цикл с постусловием
Цикл с постусловием может повторять неопределенное количество действий без вставки в них операторных скобок или составных слов. Он обязательно выполнится хотя бы один раз. Работает цикл, пока условие является ложным. Прекращается он при становлении показателей правильными. На этом построен алгоритм.
Основные алгоритмические конструкции такого типа работают именно в данном темпе.
Для реализации этого цикла необходима конструкция Repeat A until B. Дословно она переводится как «повторять действия, пока условие ложно». Соответственно, через А выражен сам процесс повторения, через В – данные, которые в результате должны принять правильное значение.
Цикл с предусловием
Цикл с постусловием строится таким образом, что он выполняется минимум один раз в любом случае. Однако имеются такие случаи, когда цикл необходим в случае того или иного условия, а при его отсутствии повторения осуществляться не должны. Иначе результат будет неверен. Именно в таком случае используется цикл с предусловием. Для его создания необходима конструкция «while A do B».
Первая команда дословно переводится как «пока». А – условие, а В – действия, которые будут повторяться. Вся конструкция означает: «пока условие является верным, выполнять действия».
Все основные алгоритмические конструкции работают лишь в определенных случаях. Какие же они в цикле с предусловием? Если необходимо, чтобы повторялось не одно действие, а сразу несколько, то стоит использовать или составные операторы, или специальные скобки. Цикл вполне может не выполниться, если при вхождении в него условие не является верным. Соответственно, повторяться действия будут, если оно правильное.
Вспомогательный алгоритм
Вспомогательный алгоритм используется в других процессах при помощи указания лишь его имени. Он к основным алгоритмическим конструкциям не относится. В языках программирования такой процесс действий называется подпрограммой. Для облегчения работы с кодом и впоследствии более простого решения задач каждое действие объединяется в один блок, который и является вспомогательным алгоритмом. Каждому из них можно задать свое имя, что позволяет впоследствии неоднократно обращаться к нему.
Источник: fb.ru