Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы АВЗ БУП2004.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.14 Mб
Скачать

Билет № 7

1. Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схемах. Разбиение задачи на подзадачи.

Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.

Существуют следующие основные алгоритмические структуры:

линейная структура (следование); разветвляющаяся (ветвление); циклическая (цикл).

Линейный – все действия алгоритма выполняются последовательно друг за другом.

Условный (разветвляющийся) – порядок выполнения действий зависит от выполнения какого либо условия.

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

Блок – схемы алгоритмов

Линейный Условный

с полным ветвлением с неполным ветвлением

Циклический

цикл с параметром

цикл с постусловием

цикл с предусловием

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

А ргументами этого алгоритма являются две переменные А, В, а результатом -переменная X. Если условие А >= В истинно, то выполняется команда Х:=А*В, в противном случае выполняется команда Х:=А+В. В результате печатается то значение переменной X, которое она получает в результате выполнения одной из серий команд.

В циклические алгоритмы входит последовательность команд, выполняемая многократно. Такая последовательность команд называется телом цикла.

Циклы бывают с предусловием, с постусловием и с параметром (счетчиком).

В циклах с предусловием (цикл "пока") тело цикла выполняется до тех пор, пока выполняется условие. Выполнение таких циклов происходит следующим образом: пока условие справедливо (истинно), выполняется тело цикла, когда условие становится несправедливым, выполнение цикла прекращается.

В циклах с постусловием(цикл "как только") сначала выполняется тело цикла, затем проверяется условие. Если оно не выполняется, происходит следующий шаг цикла, если условие выполняется – происходит выход из цикла.

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

Циклические алгоритмы, в которых тело цикла выполняется заданное число раз, реализуются с помощью цикла с параметром (со счетчиком). Цикл со счетчиком реализуется с помощью команды повторения.

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

Билет 8

1. Величины: константы, переменные, типы величин. Присваивание, ввод и вывод величин. Линейные алгоритмы работы с величинами.

Основными понятиями в алгоритмических языках обычно являются следующие. Имена (идентификаторы), Операторы, Операции, Выражения

Имена (идентификаторы) - употребляются для обозначения объектов программы (переменных, массивов, функций и дp.)

Операции:

  • арифметические операции + , - , * , / и дp. ;

  • логические операции и, или, не ;

  • операции отношения < , > , <=, >= , = , <> ;

  • операция сцепки (иначе, "присоединения", "конкатенации") символьных значений дpуг с другом с образованием одной длинной строки; изображается знаком "+".

Выражения -предназначаются для выполнения необходимых вычислений , состоят из констант, переменных, указателей функций (например, exp(x)), объединенных знаками операций.

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

Различают выражения арифметические, логические и строковые.

Данные - величины, обрабатываемые программой. Имеется три основных вида данных: константы, переменные и массивы .

Константы - это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения. Примеры констант:

    • числовые 7.5, 12;

    • логические да (истина) , нет (ложь);

    • символьные "А", "+";

    • строковые "abcde", "информатика", "" (пустая строка).

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

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

Операторы (команды). Оператор - это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав операторов входят: ключевые слова; данные; выражения и т.д.

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

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

На языке Pascal оператор ввода – read(x); или readln(x);

На языке Pascal оператор вывода – write(x); или writeln(x);

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

Он записывается так: (на языке Pascal) переменная:=значение.

Например:

  1. A:=75 - 40 (читается: «переменной А присвоить значение 75 - 40»);

  2. B:=22 + 10 (читается: «переменной В присвоить значение 22 + 10»);

  3. C: =A – B (читается: «переменной С присвоить значение А - В»).

Понятие присваивания одно из важнейших в программировании. Суть его можно пояснить на следующем примере.

Таблица 8

Команда

Результат исполнения

N:=3

3

N:=4

4

N:=N+1

5

Все эти команды - присваивания. Ошибкой было бы понимать их как «N равно 3», «N равно 4»... Если бы это было так, то третью команду нужно было бы понимать как «N равно N+1», а это очевидная бессмыслица, так как, сократив это выражение Ha N, мы получили бы «0 = 1». На самом деле первая команда записывает в переменную N число 3, вторая изменяет его на 4, а третья увеличивает его еще на 1 и вновь записывает в переменную N.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]