Условия всех задач из категории B5
Историческая справка и теоретические сведения
Первые программы заключались в установке ключевых переключателей на передней панели вычислительного устройства. Очевидно, таким способом можно было составить только небольшие программы.
С развитием компьютерной техники появился машинный язык, с помощью которого программист мог задавать команды, оперируя с ячейками памяти, полностью используя возможности машины. Однако использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Поэтому от его использования пришлось отказаться.
Язык программирования – специальная кодовая система для записи компьютерных программ. Каждый язык программирования обладает определенной семантикой, лексикой и синтаксисом. В мире придумано и реализовано свыше 8000 тысяч языков программирования, но востребованными являются не более 20 – 30 различных языков.
Синтаксис языка – набор правил, определяющий конструкции языка и формат их представления.
Семантика языка – набор правил, определяющий содержание и смысл конструкций языка.
Наиболее популярные языки программирования:
C;
C++;
C#;
Java;
Basic;
Pascal;
Delphi;
Oberon;
Ada;
Fortran;
Assembler.
Под основными конструкциями языка программирования, как правило, понимают следующие:
декларация переменных (как простых, так и сложных);
описание констант;
использование циклических конструкций;
использование условных выражений;
построение логических выражений и выражений, содержащих операции отношения;
использование операции присваивания и функций ввода / вывода данных.
Блок-схема - геометрическая форма записи представленного фрагмента кода.
В блок-схеме каждое предписание алгоритма изображается с помощью плоской геометрической фигуры - блока. Переходы от предписания к предписанию изображаются линиями связи - линиями потоков информации, а направление переходов - стрелками.
Рассмотрим составляющие элементы, встречающиеся в заданной блок-схеме:
Наименование | Геометрическое обозначение | Функция |
Процесс | Выполнение операции или группы операций, в результате которых изменяются значение, форма представления или расположение данных | |
Решение | Выбор направления выполнения алгоритма или программы в зависимости от некоторых условий |
Предварительная инициализация переменных - специальное присваивание переменным определенного значения, чтобы в момент когда начнется основная обработка, данные переменные содержали нужные подготовительные значения.
Операция ":=" обозначается как операция присваивания в таком языке программирования как Pascal.
Вычислительные процессы с многократным повторением однотипных вычислений или действий для различных значений входящих величин называются циклическими, повторяемые участки вычислений - циклами, изменяющиеся в цикле величины - переменные цикла.
Любой цикл состоит из двух фундаментальных фрагментов:
заголовок цикла;
тело цикла.
*Примечание: максимально удобно рассматривать решение примеров, используя вспомогательную процессинговую таблицу переменных, позволяющую в каждый конкретный момент времени проанализировать их значения.
Методические указания
Для успешного решения задач из данной категории вы должны:
проанализировать представленную блок-схему и понять, какой тип цикла в ней зашифрован;
ввести процессинговую таблицу переменных и на каждой итерации заполнять данную таблицу рассчитанными значениями.
Задача №1
Дано:
фрагмент некой программы в виде схематичной блок-схемы
Найти:
определите значение переменной b после выполнения фрагмента алгоритма:
Примечание: знаком ":=" обозначена операция присваивания
Задача №2
Дано:
фрагмент некой программы в виде блок-схемы
Найти:
определите значение переменной s после выполнения фрагмента алгоритма
Примечание: знаком ":=" обозначена операция присваивания
Задача №3
Дано:
фрагмент программы в виде блок-схемы:
Найти:
определите значение переменной s после выполнения фрагмента алгоритма
Примечание: знаком ":=" обозначена операция присваивания
Задача №4
Дано:
фрагмент алгоритма в виде блок-схемы:
Вопрос:
определите значение переменной s после выполнения фрагмента алгоритма
Примечание: знаком := обозначена операция присваивания