- •Билет 1. Базовые понятия пpогpамиpования. Действие, процесс, алгоритм, программа.
- •Билет 2. Функциональная структура эвм. Основные устройства эвм, их функциональные характеристики.
- •Билет 3. Представление данных в памяти эвм. Понятие переменной, константы, типа, диапазона значений.
- •Билет 4. Требования к качеству программного продукта. Основные критерии качества.
- •Билет 5. Этапы разработки программ. Роль каждого этапа в получении качественного программного продукта. Технология программирования.
- •Билет 6. Главная метафора процедурно-ориентированных языков. Стиль программирования.
- •Билет 7. Внешняя спецификация задачи, ее роль в процессе разработки программы. Состав внешней спецификации, структура документа.
- •Билет 8. Состав языка программирования. Синтаксис и семантика языка. Метаязык для записи синтаксических правил.
- •Билет 9. Структурные уровни языка программирования. Уровни языка Паскаль. Особенности языка Паскаль.
- •Билет 10. Простейшие конструкции языка Паскаль. Основные символы, слова, выражения.
- •Билет 11. Элементарные инструкции языков программирования. Особенности кодирования инструкции на язык Паскаль.
- •Билет 12. Кодирование арифметических, логических и литерных инструкций на язык Паскаль.
- •Билет 13. Организация ввода данных из стандартного файла input. Процедуры ввода.
- •Билет 14. Ввод данных из текстового файла в Турбо-среде.
- •Билет 15. Вывод данных в текстовый файл в среде Турбо-Паскаль.
- •Билет 16. Концепция структурного программирования. Принцип Дейкстры.
- •Билет 17. Основные правила композиции структурированных программ. Базисы Вирта и Дейкстры. Эквивалентность базисов.
- •Билет 18. Последовательность действий. Особенность реализации в языке Паскаль.
- •Билет 19. Альтернативные действия. Альтернатива и полуальтернатива. Особенность реализации в языке Паскаль. Синтаксис и семантика.
- •Билет 20. Повторяемые действия. Реализация итерационных циклов пока и до в языке Паскаль. Синтаксис и семантика, особенность реализации.
- •Билет 21. Реализация параметрического цикла в языке Паскаль. Синтаксис и семантика, ограничения при использовании.
- •Билет 22. Выбор из нескольких альтернатив. Реализация в стандартном и Турбо-Паскале.
- •Билет 23. Скалярные типы данных в языке Паскаль. Упорядоченные и неупорядоченные типы.
- •Билет 24. Структурный тип данных "массив". Реализация массивов переменной длины.
- •Билет 25. Правила записи программного модуля.
- •Билет 26. Основные стратегии проектирования алгоритмов, их сравнительная характеристика.
- •Билет 27. Основные декомпозиционные структуры программ. Сегменты-блоки и сегменты-процедуры, их спецификация.
- •Билет 32. Функции. Правила описания и использования.
- •Билет 33. Чистые процедуры. Правила и способы подстановки параметров. Механизм подстановки.
- •Билет 34. Структура программы. Локализация объектов.
- •Билет 35. Побочный эффект. Причины возникновения и правила предупреждения.
- •Билет 36. Цель и содержание отладки программы. Классификация ошибок. Уровни корректности программы в процессе отладки.
- •Билет 37. Основные действия при отладке. Контроль программы. Фазы контроля.
- •Билет 38. Характеристика восходящего и нисходящего способов отладки.
- •Билет 39. Локализация и исправление ошибок в процессе отладки в Турбо-среде.
- •Билет 40. Функциональное и структурное тестирование. Метод тестовых счетчиков.
- •Билет 41. Документирование программ в процессе разработки. Состав документации.
- •Билет 42. Классификация алгоритмов внутренней сортировки. Сравнительная оценка методов сортировки.
- •Билет 43. Эффективность программы. Средства стандартного и Турбо-Паскаля для повышения эффективности.
- •Билет 44. Надежность программы. Организация надежного ввода. Средства Паскаля для повышения надежности.
- •Билет 45. Эргономичность программы. Роль структурного программирования в повышении эргономичности.
- •Билет 46. Мобильность программ. Отличие версии Турбо-Паскаль от стандартного Паскаля.
- •Билет 47. Метод бисекции (деления пополам). Использование его в алгоритмах сортировки и решения уравнений.
- •Билет 48. Способы организации надежного ввода из стандартного файла, влияние на структуру программы.
- •Билет 49. Организация массива из текстового файла. Процедуры, обеспечивающие различную степень зависимости от входных данных.
- •Билет 50. Локализация процедур Паскаля. Внешние процедуры.
- •Билет 51. Структурирование циклов. Метод объединения условий при решении задачи информационного поиска в файле.
- •Билет 59. Метод трассировки при визуальном и компьютерном способах отладки.
Билет 6. Главная метафора процедурно-ориентированных языков. Стиль программирования.
Главная метафора процедурно-ориентированных языков: это соответствие понятий привычных для человека компонентам языка программирования.
Классы языков программирования (далее ЯП):
- процедурно-ориентированные (действие);
- функциональные (функция);
- объектно-ориентированные (объект);
- логические (логическое выражение);
- графические (графика);
- средоориентированные (экран).
Процедурно-ориентированные языки ближе всего к машинному образу мышления, к таким ЯП относится Pascal
В 70-е годы программирование стало массовым. Брукс «Мифический человекомесяц». Была создана технология разработки структурных программ.
1972г – Дейкстра – Книга о базисе и структурированном программировании.
В Pascal воплощается главная метафора программирования.
Стиль – это метафора, воплощенная в языке программирования:
- рельеф (должен выбираться осознанно, должны быть видны все вложенности и тд и тп, служит для подчеркивания порядка действий)
- выбор меток
- выбор имен переменных (как и метки, должны быть логически обоснованы, нести смысловую нагрузку)
- наличие комментариев (для ускорения работы с исходным текстом кода, часть документации)
Билет 7. Внешняя спецификация задачи, ее роль в процессе разработки программы. Состав внешней спецификации, структура документа.
Внешняя спецификация программы - это полное и точное описание задачи.
Внешние спецификации программ должны включать описания состава входных и выходных данных, а также требуемых зависимостей между ними, фиксируя точный смысл поставленной задачи. Кроме того, во внешние спецификации должны входить описания структуры и формы записи входных тестов с входными данными и структуры и формы выходных текстов, включающих результаты ввода и анализа выходных данных, а также решения задач и, возможно, промежуточные результаты вычислений.
Спецификация имеет следующую структуру:
1. Задача.
2. Входные данные:
-состав (имя, смысл, тип, структура);
-диапазон;
-точность;
-объем;
-форма записи.
3. Выходные данные:
-состав (имя, смысл, тип, структура);
-диапазон;
-точность;
-объем;
-выходная форма.
4. Метод.
5. Аномалии:
-описание аномальных ситуаций;
-реакция на нее.
6. Функциональные тесты.
Спецификация:
1) служит заданием на разработку программы (из нее разработчик программы должен извлечь все, что ему нужно знать о стоящей перед ним задаче);
2) является частью соглашения между заказчиком программы и ее разработчиком, описанием задачи, которое приемлемо для заказчика, не обязательно сведущего в программировании;
3) она должна использоваться для проверки готовой программы (решает ли разработанная программа поставленную задачу).
Билет 8. Состав языка программирования. Синтаксис и семантика языка. Метаязык для записи синтаксических правил.
Синтаксис – правила построения конструкций языка.
Семантика – правила истолкования синтаксических конструкций языка.
Пять уровней ЯП (от сложного к простому):
1) Программа
2) Предложение
3) Выражение – правила для вычисления значения (операнды, соединенные знаком операций)
4) Слова – Константы и переменные
5) Алфавит – Таблица ASCII – символы языка + ключевые слова
Метаязык - это язык для описания языка, средствами которого описываются и исследуются свойства некоторого другого, предметного (объективного) языка (например, Backus-Naur form). Язык может являться своим же метаязыком (например, для описания русского языка можно использовать тот же русский язык).
1) Форма Бэкуса-Наура (БНФ) – язык строится с помощью рекурсии;
2) Расширенные БНФ (повторение, циклическое);
3) Синтаксические диаграммы (вложенные в блок-схему РБНФ).