
- •Билет 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. Метод трассировки при визуальном и компьютерном способах отладки.
Билет 13. Организация ввода данных из стандартного файла input. Процедуры ввода.
Чтение происходит благодаря операторам Read и Readln (переход на новую строку). Вообще билет какой-то маразный и тривиальный.
Билет 14. Ввод данных из текстового файла в Турбо-среде.
Var fin: text;
X: real;
Begin
Chdir(‘d:\blablabla’);{Установка директории с файлом}
Assign (fin,’{название файла}’);{связь внутреннего и внешнего имени файла}
Reset(fin);{открытие файла для чтения и установка файла в начальное положение}
Read (fin,x);{Ввод из файла, в нашем случае вещественное число}
{остальная часть программы}
End;
Считывание из файла
Чтение данных из файла, открытого для считывания, производится с помощью команд Read() и ReadLn(). В скобках сначала указывается имя файловой переменной, а затем — список ввода1. Например:
Read(f, a, b, c); |
— читать из файла f три переменные a, b и c. После выполнения этой процедуры указатель в файле передвинется за переменную с; |
ReadLn(f, a, b, c); |
— читать из файла f три переменные a, b и c, а затем перевести указатель («курсор») на начало следующей строки; если кроме уже считанных переменных в строке содержалось ещё что–то, то этот «хвост» будет проигнорирован. |
Билет 15. Вывод данных в текстовый файл в среде Турбо-Паскаль.
Var fin, fout: text;
X: real;
Begin
Chdir(‘d:\blablabla’);{Установка директории с файлом}
Assign (fout,’res.txt’);{связь внутреннего и внешнего имени файла}
Rewrite (fout);{Открытие файла для записи и очистки файла}
Reset(fout);{открытие файла для чтения и установка файла в начальное положение}
{Ввод данных из файла fin и какое-либо преобразование}
Write (fout,x);{Вывод данных в файл, в нашем случае вещественное число}
End;
Запись в файл
Сохранять переменные в файл, открытый для записи командами Rewrite(f) или Append(f), можно при помощи команд Write() и WriteLn(). Так же, как в случае считывания, первой указывается файловая переменная, а за ней — список вывода:
Write(f, a, b, c); |
— записать в файл f переменные a, b и c; |
WriteLn(f, a, b, c); |
— записать в файл f переменные a, b и c, а затем записать туда же символ «конец строки». |
Выводить в текстовый файл можно переменные любых базовых типов (вместо значений логического типа выведется их строковый аналог TRUE или FALSE) или строки.
Билет 16. Концепция структурного программирования. Принцип Дейкстры.
Концепция структурного программирования:
Структурное программирование - новый подход к разработке программ, возникший в 70-х годах как одно из прогрессивных направлений в современном программировании. Стержнем этого направления является создание ясных, легко понимаемых, программ - необходимого условия надежности и правильности программных продуктов.
Под разработкой программ будем понимать все этапы решения задачи, начиная с постановки задачи и кончая получением корректных (правильных) результатов на ЭВМ.
Появление структурного программирования оценивается как революционный шаг на пути создания методологии разработки качественных программ, учитывающей комплексные требования надежности, эффективности, работоспособности, правильности в условиях реальных ограничений на ресурсы в процессе разработки. Под ресурсами понимаются не только машинные ресурсы, но прежде всего человеко-временные ресурсы.
Важнейшими концепциями структурного программирования, направленными на получение качественных программ, являются:
1. Упорядочение и ограничение управляющих и информационных структур таким образом, чтобы структура программы и данных отражала структуру решаемой задачи. Другими словами, должен выполняться следующий принцип (Э.Дейкстра): соответствие текстуальной упорядоченности программы порядку вычислений.
2. Разработка структуры программы путем систематизированного пошагового уточнения (метода "сверху-вниз"), ограничивающего сложность разработки на каждом уровне иерархии до приемлемой.
3. Использование системы обозначений, которая облегчает разработку и преобразование управляющих структур в конечный программный продукт.
Большая часть существующих языков программирования при своем создании не ориентировалась на поддержку структурного программирования, хотя многие из них имеют соответствующие управляющие структуры и при введении ограничений на использование ряда средств прекрасно согласуется со структурным подходом.