Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы по информатике.docx
Скачиваний:
13
Добавлен:
01.03.2025
Размер:
480.16 Кб
Скачать

18 Понятие алгоритма. Свойства алгоритмов. Способы представления алгоритмов. Блоки, используемые для построения блок-схем и их функции

Понятие алгоритма Человек ежедневно встречается с необходимостью следовать тем или иным правилам, выполнять различные инструкции и указания. Например, переходя через дорогу на нерегулируемом перекрестке необходимо сначала посмотреть налево. Если машин нет, то перейти полдороги, а если машины есть, ждать, пока они пройдут, затем перейти полдороги. После этого посмотреть направо и, если машин нет, то перейти дорогу до конца, а если машины есть, ждать, пока они пройдут, а затем перейти дорогу до конца.  В математике для решения типовых задач мы используем определенные правила, описывающие последовательности действий. Например, правила сложения дробных чисел, решения квадратных уравнений и т. д. Обычно любые инструкции и правила представляют собой последовательность действий, которые необходимо выполнить в определенном порядке. Для решения задачи необходимо знать, что дано, что следует получить, какие действия и в каком порядке следует для этого выполнить. Предписание, определяющее порядок выполнения действий над данными с целью получения искомых результатов, и есть алгоритм.  Слово "алгоритм" появилось в IX веке и произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса Ал-Хорезми (Alhorithmi). В своей книге "Об индийском счете" он изложил правила записи натуральных чисел с помощью арабских цифр и правила выполнения четырех арифметических действий над многозначными числами. В настоящее время понятие алгоритма является одним из фундаментальных понятий науки информатики. Алгоритм - точное предписание, состоящее из последовательности действий для некоторого исполнителя, ведущих к  решению задачи за конечное число шагов. Алгоритм моделирует решение задачи в виде точно определенной последовательности действий для некоторого исполнителя по преобразованию исходных данных в результирующие. Процесс составления алгоритмов называют алгоритмизацией. Исполнитель алгоритма - это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом. Исполнителя характеризуют: среда, элементарные действия, система команд, отказы.  Среда (или обстановка) - это "место обитания" исполнителя.  Система команд исполнителя - строго заданный список команд, который может выполнять каждый исполнитель. Для каждой команды должны быть заданы условия применимости (состояние среды, в которой выполняется команда) и описаны результаты выполнения команды.  После вызова команды исполнитель совершает соответствующее элементарное действие.  Отказы исполнителя возникают, если команда вызывается при недопустимом для нее состоянии среды.  Обычно исполнитель ничего не знает о цели алгоритма. Он выполняет все полученные команды, не задавая вопросов "почему" и "зачем". Основным исполнителем несложных алгоритмов является человек. При решении сложных задач в роли исполнителя часто выступает ЭВМ. Пример. Для исполнителя Робота из школьного учебника среда - это бесконечное клеточное поле. Стены и закрашенные клетки тоже часть среды. А их расположение и положение самого Робота задают конкретное состояние среды.  Команда Робота "вверх" может быть выполнена, если выше Робота нет стены. Ее результат - смещение Робота на одну клетку вверх. 

 Свойства алгоритмов  Основные свойства алгоритмов: - дискретность (прерывность). Алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов, при этом для выполнения каждого шага требуется конечный отрезок времени;  - определенность. Каждое правило алгоритма должно быть четким и однозначным. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче; - результативность (или конечность) состоит в том, что за конечное число шагов алгоритм должен приводить к решению задачи или после конечного числа шагов останавливаться из-за невозможности получить решение с выдачей соответствующего сообщения, либо неограниченно продолжаться в течение времени, отведенного для исполнения алгоритма, с выдачей промежуточных результатов; - массовость означает, что алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.

19Базовые алгоритмические конструкции. Базовая структура «следование» (линейная структура)

Следованием - называется конструкция представляющая собой последовательное выполнение 2-х и более операторов простых или составных.

20 Базовая структура «ветвление». Виды ветвлений, характеристика.

Формат оператора: if ( выражение ) оператор_1; [else оператор_2;]

Ветвление задает выполнение одного либо другого оператора (групп операторов) в зависимости от результата выполнения, какого либо условия.

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

Формат оператора:

switch ( выражение ){

case константное_выражение_1: [список_операторов_1]

case константное_выражение_2: [список_операторов_2]

case константное_выражение_п: [список_операторов_п]

[default: операторы ]}

21 Базовая структура «цикл». Виды циклов, характеристика.

Циклом называется процесс многократного выполнения одного или группы операторов одних и тех же. Существуют 3 типа циклов:

с пост условием do оператор while выражение:

; с предусловием while ( выражение ) оператор

с параметром for (инициализация: выражение: модификации) оператор:

22Общая характеристика языка программирования С++. Алфавит языка. Понятие переменной и константы, их типы. Примеры объявления переменных и констант.

Непосредственный предшественник Си++ – язык Си с классами – появился в 1979 году, а в 1997 году был принят международный стандарт Си++, который фактически подвел итоги его 20-летнего развития. Принятие стандарта обеспечило единообразие всех реализаций языка Си++. Не менее важным результатом стандартизации стало то, что в процессе выработки и утверждения стандарта язык был уточнен и дополнен рядом существенных возможностей.

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

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

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

Распределенные системы, функционирующие на разных компьютерах, также разрабатываются на языке Си++. Этому способствует то, что у широко распространенных компонентных моделей CORBA и COM есть удобные интерфейсы на языке Си++.

Обработка сложных структур данных – текста, бизнес-информации, Internet-страниц и т.п. – одна из наиболее распространенных возможностей применения языка. В прикладном программировании, наверное, проще назвать те области, где язык Си++ применяется мало.

Разработка графического пользовательского интерфейса на языке Си++ выполняется, в основном, тогда, когда необходимо разрабатывать сложные, нестандартные интерфейсы. Простые программы чаще пишутся на языках Visual Basic, Java и т.п.

Программирование для Internet в основном производится на языках Java, VBScript, Perl.

Алфавит совокупность всех разрешенных символов в языке

Алфавит C++ включает:

• прописные и строчные латинские буквы и знак подчеркивания;

• арабские цифры от О до 9;

• специальные знаки:

" { } , i [ ] ( ) + - / % * . \

? < = > ! & # - ; ' '

• пробельные символы: пробел, символы табуляции, символы перехода на новую

строку.

Из символов алфавита формируются лексемы языка:

• идентификаторы в языке Си++ – это последовательность знаков, начинающаяся с буквы или знака подчеркивания. В идентификаторах можно использовать заглавные и строчные латинские буквы, цифры и знак подчеркивания. ;

• ключевые (зарезервированные) слова;

• знаки операций;

• константы;

• разделители (скобки, точка, запятая, пробельные символы).