- •Понятие информации, виды и способы её представления
- •Задачи получения, передачи, преобразования и хранения информации
- •Язык как способ представления и передачи информации
- •Задачи, требующие автоматизированной обработки информации
- •Системы автоматизированной и автоматической обработки информации
- •Назначение и структура операционных систем
- •Исторические этапы автоматизации обработки информации
- •Последовательность обработки прикладных программ
- •Жизненный цикл программного обеспечения
- •Задачи системного программного обеспечения
- •Назначение и последовательность функционирования компиляторов
- •Требования к языкам программирования и их классификация
- •Понятие алгоритма, его основные свойства и способы записи
- •14. Временная и объёмная сложность алгоритма
- •15. Оценки временной сложности алгоритма
- •16. Структура рекурсивных алгоритмов
- •18. Методы доступа к функциям из библиотек и пакетов
- •22. Операции над данными стандартных типов и их старшинство
- •24. Манипуляторы потокового ввода и вывода
- •25. Ссылочные типы данных и их применение
- •27. Структурный тип данных
- •29. Многомерные массивы
- •30. Строки и массивы символов
- •31. Файлы и потоки
- •32. Методы открытия файлов для обмена информацией
- •33. Прямой доступ к отдельным записям в файлах
- •34. Программная реализация алгоритмов линейной структуры
- •35. Программная реализация разветвляющихся алгоритмов
- •36. Реализация циклических алгоритмов с заранее неизвестным количеством повторений
- •37. Реализация циклических алгоритмов с заранее известным количеством повторений
- •39. Предварительное описание функции
- •40. Локальные и глобальные величины программы
- •41. Способы обмена информацией между вызывающей и вызываемой функциями
- •42. Передача функций в качестве параметров функций
- •44. Динамические переменные. Выделение и освобождение памяти при выполнении программы
- •45. Построение списковых (последовательных) структур
- •46. Последовательные, циклические и рекурсивные алгоритмы
- •47. Базовая структура цифровой машины с хранимой программой
- •48. Архитектура и структура команд четырёхадресной машины
- •49. Архитектура и структура команд трёхадресной машины
- •50. Архитектура и структура команд двухадресной машины
- •51. Архитектура и структура команд одноадресной машины
- •52. Классификация устройств памяти систем обработки информации
- •53. Реализация устройств оперативной и долговременной памяти
- •54. Позиционные системы счисления и выполнение арифметических операций
- •55. Представление целых и действительных чисел в позиционных системах счисления
- •56. Связь между системами счисления с основаниями вида 2k
- •57. Перевод целых и действительных чисел из одной позиционной системы в другую
- •58. Прямой, обратный и дополнительный коды
- •59. Нормализованное представление чисел, переполнение, модифицирванные коды
- •60. Алгоритмы сложения и вычитания в дополнительных и обратных кодах
- •61. Алгоритмы умножения в дополнительных и обратных кодах
- •62. Структуры рекурсивных алгоритмов
- •63. Применение рекурсивных алгоритмов
- •64. Оценка сложности рекурсивных алгоритмов
35. Программная реализация разветвляющихся алгоритмов
Разветвляющийся алгоритм описывает вычислительный процесс, реализация которого происходит по одному из нескольких заранее предусмотренных направлений. Направления, по которым может следовать вычислительный процесс, называются ветвями. Выбор конкретной ветви вычисления зависит от результатов проверки выполнения некоторого логического условия. Результатами проверки являются истина (да), если условие выполняется, и ложь (нет) при невыполнении условия.
Здесь дам такие же рекомендации, как в предыдущем пункте.
36. Реализация циклических алгоритмов с заранее неизвестным количеством повторений
Примером циклов, число повторений которых не задано, являются итерационные вычислительные процессы. В них решение задачи реализуется путем последовательного приближения к искомому результату. Процесс является циклическим, поскольку заключается в многократных вычислениях. Начальное приближение Y0 выбирается заранее или задается по определенным правилам. Заканчивается итерационное вычисление при выполнении условия Yi - Yi-1 <= d, где d – допустимая ошибка вычисления.
37. Реализация циклических алгоритмов с заранее известным количеством повторений
При организации этих циклов присутствуют стандартные элементы, сопровождающие любой цикл:
подготовка первого выполнения цикла (присвоение счетчику цикла начального значения);
тело цикла, которое образуют блоки, выполняемые многократно;
изменение значения счетчика циклов и сравнение его с конечным значением.
Блок-схемы циклических алгоритмов существенно отличаются структурами повторения «повторять ДО» (do… while) или «повторять ПОКА» (while …). В первом варианте проверка условий окончания циклических вычислений осуществляется в конце цикла, а во втором – в начале цикла.
Цикл «повторять ДО» выполняется, по крайней мере, один раз, а цикл «повторять ПОКА» может сразу привести к выходу из цикла.
38. Структура функции в языке C++. Прототип, заголовок и вызов функции
Функция - это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи.
Использование функций требует что бы функция была сначала объявлена, а потом определена. Объявление функции сообщает компилятору тип возвращаемого значения, тип параметров и как функция работает, и называется прототипом функции.
Прототип (описание) функции может внешне почти полностью совпадать с заголовком ее определения:
тип имя (СпецификацияФормальныхАгрументов);
Основное различие – точка с запятой в конце описания (прототипа). Второе отличие – необязательность имен формальных аргументов в прототипе даже тогда, когда они есть в заголовке определения функции.
39. Предварительное описание функции
См. предыдущий пункт.
Каждая функция, перед тем, как она будет вызвана, по крайней мере, должна быть объявлена. Это обязательное условие успешной трансляции и вольный перевод соответствующего сообщения об ошибке (Call to undefined function 'ИмяФункции'), выдаваемого транслятором в случае вызова необъявленной функции.
Объявление и определение - разные вещи. Объект может быть много раз объявлен, но только один раз определён. Прототип функции при этом играет роль объявления функции. В объявлении функции сосредоточена вся необходимая транслятору информация о функции - о списке её параметров и типе возвращаемого значения. И это всё, что в момент трансляции вызова необходимо транслятору для осуществления контроля над типами. Несоответствия типов параметров в прототипе и определении функции выявляются на стадии окончательной сборки программы. Несоответствие спецификации возвращаемого значения в объявлении прототипа и определении функции также является ошибкой.
