- •Вопрос №2 Алгоритм. Основные алгоритмические структуры и конструкции
- •Вопрос №3 Этапы построения алгоритма. Технологическая цепочка решения задачи на эвм
- •Вопрос №6 Трансляция. Виды трансляторов
- •Типы данных
- •Вопрос №9 Организация ввода-вывода. Оператор присваивания. Стандартные функции языка Pascal
- •Вопрос №10 Условный оператор. Оператор выбора. Логические выражения и операции
- •Вопрос №11 Операторы циклов в языке Pascal
- •Вопрос №12 Массивы. Одномерные и двухмерные массивы. Описание массивов. Принципы работы с массивами
- •Вопрос №13 Массивы данных. Алгоритмы обработки массивов данных
- •Вопрос №14 Принципы и алгоритмы сортировки. Оценка алгоритмов сортировки. Характеристики алгоритмов сортировки
- •Вопрос №15 Алгоритм быстрой сортировки
- •Вопрос №16 Записи. Описание записей. Принципы работы с записями
- •Вопрос №17 Процедуры в языке Pascal. Описание и вызов процедур.
- •Описание и вызов процедур и функций
- •Вопрос №19 Формальные и фактические параметры подпрограммы. Способы передачи параметров
- •Вопрос №20 Глобальные и локальные переменные. Область действия описаний
- •Вопрос №21 Рекурсия. Рекурсивные алгоритмы и подпрограммы
- •Вопрос №22 Строковый тип данных. Основные операции для работы со строками
- •Вопрос №23 Множественный тип данных. Основные операции над множествами.
- •Вопрос №24 Типизированные и нетипизированные файлы. Основные операции для работы с ними
- •Вопрос №25 Текстовые файлы. Операции для работы с ним
- •Вопрос №26 Структурный подход к программированию. Основные принципы
- •Вопрос №27 Нисходящая и восходящая разработка. Достоинства и недостатки. Принципы нисходящего структурного программирования
- •1)Метод нисходящей разработки пс
- •2)Метод восходящей разработки пс
- •Вопрос №28 Принцип модульного программирования. Структура модуля
- •Вопрос №29 Объектно-ориентированный подход к программированию. Основные принципы
- •Вопрос №30 Понятия класса и объекта. Описание классов и Object Pascal. Создание и уничтожение объектов
- •Вопрос №31 Инкапсуляция. Примеры реализации
- •Вопрос №32 Свойства как механизм доступа к данным
- •Вопрос №33 Наследование. Примеры реализации принципа наследования
- •Вопрос №34 Полиморфизм. Примеры реализации
- •Вопрос №35 Методы. Виртуальные и динамические методы
Вопрос №1 Алгоритм. Свойства алгоритма. Способы формализации алгоритма.
Алгоритм - точное предписание исполнителю совеpшить определенную последовательность действий для достижения поставленной цели за конечное число шагов. обычно формулируют несколько общих свойств алгоритмов, позволяющих отличать алгоритмы от других инструкций.
Такими свойствами являются:
• Дискретность (прерывность, раздельность) – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
• Определенность – каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
• Результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов.
• Массовость – алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
(формализация через языки программирования и схему)
Вопрос №2 Алгоритм. Основные алгоритмические структуры и конструкции
1. Базовая структура "следование". Образуется последовательностью действий, следующих одно за другим:
2. Базовая структура "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:
если-то;
если-то-иначе;
выбор;
выбор-иначе.
Базовая структура "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.
Вопрос №3 Этапы построения алгоритма. Технологическая цепочка решения задачи на эвм
Работа по решению прикладной задачи на компьютере проходит через следующие этапы:
постановка задачи;
математическая формализация;
построение алгоритма;
составление программы на языке программирования;
отладка и тестирование программы;
проведение расчетов и анализ полученных результатов.
Вопрос №4 Алгоритмический язык. Структура алгоритмического языка.
Алгоритми́ческий язык — формальный язык, используемый для записи, реализации или изучения алгоритмов. Всякий язык программирования является алгоритмическим языком, но не всякий алгоритмический язык пригоден для использования в качестве языка программирования .
Вопрос №5 Алгоритмический язык. Машино-зависимые и машинно-независимые языки. Поколения языков программирования
Машинно-зависимые языки зависят от типа компьютера. Каждый компьютер имеет свой собственный язык программирования – машинный язык – и может исполнять программы, записанные только на этом языке. Машинный язык включает в себя набор команд, выполняемых процессором данной конкретной машины. Команды на машинном языке представляют собой набор двоичных знаков.
Машинно-независимые языки не зависят от типа компьютера, на котором они используются. Машинно-независимые языки в отличие от машинно-зависимых называются языками высокого уровня. Они делятся на процедурно-ориентированные и проблемно-ориентированные языки.
Процедурно-ориентированные языки предназначены для описания алгоритмов решения задач и иногда называются универсальными языками программирования. Структура процедурно-ориентированных языков ближе к естественному языку, чем к машинному. Процедурно-ориентированными языками пользуются специалисты, знакомые с математическими формулировками решаемых задач, методами их решения и приемами программирования. Это могут быть как профессиональные программисты, так и специалисты в различных областях, хорошо владеющие программированием и методами решения задач в своей области.
При программировании на процедурно-ориентированных языках не требуется детального знания устройства компьютера. Наиболее широко используемыми языками высокого уровня являются БЭЙСИК, ПАСКАЛЬ, СИ.
Проблемно-ориентированные языки не требуют подробной записи алгоритма решения задачи. Пользователь должен лишь указать последовательность решения задач из ранее подготовленного набора, указать исходные данные и требуемую форму выдачи результата.