Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekz_informatika.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
106.8 Кб
Скачать

Вопросы для подготовки к экзамену (1 семестp).

1. Базовые понятия пpогpаммиpования. Действие, пpоцесс, алгоритм, программа.

2. Функциональная структура ЭВМ значений.

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. Основные декомпозиционные структуры программ. Сегменты-блоки и сегменты-процедуры, их спецификация.

28. Рабочий проект программы. Top-down граф.

29. Правила получения окончательной программы. Документация проекта.

30. Начальные шаги проектирования программы. Связь с внешней спецификацией. Основные варианты абстракций верхних уровней.

31. Процедуры языка Паскаль. Типы процедур. Правила выбора, описания и использования процедур.

32. Функции. Правила описания и использования.

33. Чистые процедуры. Правила и способы подстановки параметров. Механизм подстановки.

34. Структура программы. Локализация объектов.

35. Побочный эффект. Причины возникновения и правила предупреждения.

36. Цель и содержание отладки программы. Классификация ошибок. Уровни корректности программы в процессе отладки.

37. Основные действия при отладке. Контроль программы. Фазы контроля.

38. Характеристика восходящего и нисходящего способов отладки.

39. Локализация и исправление ошибок в процессе отладки в Турбо-среде.

40. Функциональное и структурное тестирование. Метод тестовых счетчиков.

41. Документирование программ в процессе разработки. Состав документации.

42. Классификация алгоритмов внутренней сортировки. Сравнительная оценка методов сортировки.

43. Эффективность программы. Средства стандартного и Турбо-Паскаля для повышения эффективности.

44. Надежность программы. Организация надежного ввода. Средства Паскаля для повышения надежности.

45. Эргономичность программы. Роль структурного программирования в повышении эргономичности.

46. Мобильность программ. Отличие версии Турбо-Паскаль от стандартного Паскаля.

47. Метод бисекции (деления пополам). Использование его в алгоритмах сортировки и решения уравнений.

48. Способы организации надежного ввода из стандартного файла, влияние на структуру программы.

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

50. Локализация процедур Паскаля. Внешние процедуры.

51. Структурирование циклов. Метод объединения условий при решении задачи информационного поиска в файле.

52. Структурирование циклов. Метод объединения условий и метод барьера при решении задачи включения элемента в упорядоченный массив.

55. Структурирование циклов. Метод флажка на примере организации надежного ввода с детальным анализом каждой переменной.

56. Организация процесса нисходящей разработки многомодульных программ. Самодокументирование процесса.

57. Независимость программы от данных при работе с массивами переменной длины. Обеспечение этого свойства на этапе спецификации задачи.

58. Экономия вычислений при суммировании рядов. Использование рекуррентных соотношений.

59. Метод трассировки при визуальном и компьютерном способах отладки.

Ответы на билеты к экзамену по информатике.

_____________________________________________________________________________________

Билет №1

Базовые понятия пpогpаммиpования. Действие, пpоцесс, алгоритм, программа.

Программирование - это способ решения задач с помощью ПК.

Задача - это вопрос, на который нужно ответить, или требование, которое нужно выполнить, опираясь на те условия и учитывая те ограничения, которые указаны в задаче. Базовые понятия: Самое важное понятие - ДЕЙСТВИЕ. Действие совершается над объектом и приводит к определенному результату. Если действие можно разложить на составные части, то оно называется ПРОЦЕССОМ.

Если нет - это элементарное действие. Каждое действие можно описать с помощью языка или системы формул. АЛГОРИТМ - это описание процесса, т.е. описание последовательности элементарных действий, приводящих к определенному результату.

Каждое элементарное действие наз. инструкцией.

ПРОЦЕССОРОМ наз. исполнитель, который выполняет элементарные действия согласно инструкциям (человек, автомат, ЭВМ). ПРОГРАММОЙ называется алгоритм, который написан на языке, понятном вычислительной машине. Различие между общим алгоритмом и программой машины состоит в том, что в последней правила поведения должны быть уточнены до мельчайших подробностей и она должна быть составлена в точном соответствии с правилами записи, определенными для используемой машины.

Существует несколько уровней ЯП.

Нижний уровень - внутренний язык машины (машинный код: 0 и 1). Программа на ЯП высокого уровня может быть введена в машину, но не может быть выполнена. Программа, которая переводит (транслирует) программу с языка высокого уровня на внутренний язык машины, называется транслятор: компилятор или интерпретатор.

Компилятор - программа, которая транслирует код с языка высокого уровня на язык машины: сначала перевод, потом выполнение программы (Паскаль).

Интерпретатор переводит каждое действие и тут же выполняет, пооператорно (Basic).

_____________________________________________________________________________________

Билет №2

Функциональная структура ЭВМ.

Основные устройства ЭВМ, их функциональные характеристики.

Схема:

Входные данные (устройство ввода) -> Память (программа)(внутренние данные) -> Выходные данные (устройство вывода). К памяти две стрелки <-> Процессор.

Две главные компоненты ЭВМ:

1) ПАМЯТЬ (запоминающее устройство). В памяти в закодированном виде содержатся объекты, над которыми производятся действия. Эти закодированные объекты наз. данными. Основные характеристики памяти:

- емкость (размер);

- скорость, с которой данные заносятся в память и извлекаются из нее.

2) ПРОЦЕССОР - это устройство, которое выполняет 2 основные функции:

- производит действия над данными;

- управляет последовательностью действий в программах.

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

Внутренние данные, обрабатываемые программой, состоят из входных, выходных и промежуточных данных.

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

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

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

____________________________________________________________________________________

Билет №3

Представление данных в памяти ЭВМ. Понятие переменной, константы, типа, диапазона значений.

В алгоритмах и программах данные встречаются в виде констант и переменных.

КОНСТАНТА - это постоянная величина, которая определяется своим значением.

ПЕРЕМЕННАЯ - величина, значение которой может меняться в процессе вычислений.

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

Тип константы определяется формой ее записи. Тип переменной определяется множеством значений, которые она может принимать.

Основными типами, применяемыми в машинных алгоритмах, являются цел, вещ, лог и лит.

Значениями целых переменных являются числа: 0, 1, -1, 2, -2,..., которые в памяти машины представляются точно.

Значениями вещественных переменных являются действительные числа, записываемые в виде десятичных дробей: 0.5, 1.2*10^6. Вещественные числа в памяти представлены с округлением.

Значениями логических переменных являются логические значения: истина (1) и ложь (0).

Значениями литерных переменных являются литеры или цепочки литер из определенных алфавитов - русского, латинского и тп: 'упчк!!!11', 'х='.

При размещении в памяти машины каждой константе и переменной выделяется отдельный участок памяти. Имя переменной является адресом этого участка.

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

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

Основным свойством этих типов данных является неделимость их значений. Каждое значение есть объект, не распадающийся на компоненты. Такие объекты в памяти машины представлены простыми переменными.

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

_____________________________________________________________________________________

Билет №4

Требования к качеству программного продукта. Основные критерии качества.

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

К программному продукту предъявляются слудующие требования:

1. Работоспособность - возможность выполнения программы на имеющейся машине.

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

3. Надежность - отсутствие отказов при выполнении программы даже для неправильно закодированных или недопустимых данных.

4. Эффективность - минимальность времени получения решения задачи в целом, включая как время выполнения программы, так и время разработки программы и данных, тестирования и отладки.

5. Документированность - наличие инструкции по пользованию и описаний внутренней логики программы.

6. Мобильность - независимость программы от конкретной реализации.

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

8. Читабельность - программа должна быть понятной.

_____________________________________________________________________________________

Билет №5

Этапы разработки программ. Роль каждого этапа в получении качественного программного продукта. Технология программирования.

Полный процесс разработки программ состоит из следующих этапов (технологический процесс):

1. Постановка задачи.

2. Анализ задачи и составление спецификации программы - на этом этапе проводится анализ задачи, уточняется ее постановка и разрабатываются требования, предъявляемые к программе. Создается полное и точное описание программы, называемое ее спецификацией. Уточняются обычно четыре основных момента: вход/выход данные, метод и аномалии. Спецификация задачи - это важный документ, сопровождающий программу на всем ее цикле жизни. Играет следующую роль: во-первых, служит заданием на разработку программы (из нее разработчик программы должен извлечь все, что ему нужно знать о стоящей перед ним задаче); во-вторых, является частью соглашения между заказчиком программы и ее разработчиком, описанием задачи, которое приемлемо для заказчика, не обязательно сведущего в программировании; в-третьих, она должна использоваться для проверки готовой программы (решает ли разработанная программа поставленную задачу).

3. Проектирование алгоритма и структур данных и проектирование тестов - на этом этапе формируется общая структура программы. Фундаментальным подходом к разработке программ и программных систем является нисходящее проектирование (проектирование "сверху вниз" или пошаговое уточнение). В основе нисходящего проектирования лежит идея постепенного раскрытия деталей проектируемой программы по мере движения от общей цели, сформулированной на самом верхнем уровне в условии задачи, к уровню объектов, выраженных в терминах, "понятных ЭВМ". Алгоритм записывается метаязыком, предназначенным для описания внутренней логики программы, а также для фиксации проектных решений по организации вычислений.

4. Кодирование алгоритма на языке программирования - на этом этапе алгоритм переводится с метаязыка на язык программирования.

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

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

7. Исполнение программы.

Первые 4 этапа выполняются последовательно. Пятый этап распределяется по всем этапам - каждый завершается составлением документации.

Чем меньше задача, тем сложнее выделить отдельные этапы. Но не следует стремиться к объединению отдельных этапов, даже если задача простая.

Особенностью современной методики разработки программ является то, что 2 и 3 этапам уделяется основное внимание. Чем тщательнее они выполняются, тем легче кодировать и отлаживать программу.

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

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

Технология структурного программирования:

1. Нисходящее проектирование алгоритмов и данных.

2. Строгая последовательность этапов программирования.

3. Выполнение требований к качеству продукта.

_____________________________________________________________________________________

_____________________________________________________________________________________

Билет №6

Главная метафора процедурно-ориентированных языков. Стиль программирования.

Главная метафора процедурно-ориентированных языков:

Это соответствие понятий привычным человеку компонентам языка программирования.

Классы языков программирования:

- процедурно-ориентированные (действие);

- функциональные (функция);

- объектно-ориентированные (объект);

- логические (логическое выражение);

- графические (графика);

- средоориентированные (экран).

Процедурно-ориентированные языки ближе всего к машинному образу мышления, к таким языкам программирования относится Pascal

В 70-е годы программирование стало массовым. Брукс «Мифический человекомесяц». Была создана технология разработки структурных программ.

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