экзаменационные вопросы
.doc
ЭКЗАМЕНАЦИОННЫЕ ВОПРОСЫ по курсу «Информатика и программирование»
1 семестр 2006 год
Часть I.
-
Виды ошибок в программах и способы их поиска. Отладка и тестирование программ. Цель отладки и средства, обеспечиваемые средой Turbo Pascal. Возможные способы тестирования программ. Структурное программирование, как средство повышения надежности программ.
-
Методы передачи параметров подпрограмм в языке Turbo Pascal. Процедуры и функции, их отличия в описании и способах вызова. Побочный эффект действия функций. Передача процедур и функций в качестве параметров подпрограмм. Связь параметров, передаваемых по ссылке и значению, с локальными и глобальными переменными.
-
Операторы, операнды, выражения, отношения в языке Паскаль. Символьный и логический типы переменных. Допустимые значения и основные операции.
-
Операционная система ПЭВМ. Назначение и состав системных программных средств. Файловая система. Разновидности пользовательского интерфейса. Привести пример возможной структуры каталогов, организуемой для работы с каким-либо типовым пакетом программ для одной из операционных систем.
-
Подпрограммы. Назначение и реализация в языке Turbo Pascal. Описание, вызов, формальные и фактические параметры подпрограмм. Глобальные и локальные переменные, их область видимости. Прямая и косвенная рекурсия. Трассировка(индикация значений переменных) рекурсивных подпрограмм.
-
Понятие алгоритма. Свойства алгоритмов, способы их записи. Типовые алгоритмические управляющие конструкции, их минимальный набор. Исполнители алгоритмов. Системы команд, алгоритмические языки, программы, системы программирования.
-
Понятие структуры данных. Константа, простая переменная, массив, строка. Организация хранения перечисленных структур данных в памяти компьютера. Особенности строк как динамической структуры данных, представления строк в Паскале.
-
Предмет информатики. Информация, ее кодирование, измерение и обработка. Компьютер, принципы его работы, состав, применение (деловая сфера, управление, связь, образование, техника, наука, искусство, быт, компьютерные сети). Формы представления информации в персональном компьютере, на его входе и выходе.
-
Программные средства персональных компьютеров. Типовой состав системных и прикладных программ. Системы программирования. Алгоритмические языки компилирующего и интерпретирующего типов. На примере показать состав программного обеспечения для решения выбранной прикладной задачи.
-
Реализация алгоритмических конструкций ВЫБОР и ПОВТОРЕНИЕ в языке Паскаль. Привести примеры, показывающие возможность использования оператора цикла с предусловием вместо других операторов, реализующих указанные алгоритмические конструкции.
-
Реализация алгоритмической конструкции СЛЕДОВАНИЕ в языке Паскаль. Ввод и вывод переменных типов массив, запись, множество. Привести примеры.
-
Способы разработки программ. Восходящее и нисходящее проектирование. Структурное программирование, основная теорема, минимальный набор управляющих конструкции.
-
Структура программы на языке Паскаль. Идентификаторы, константы, переменные. Целые и вещественные типы переменных. Типизированные константы в Turbo Pascal.
-
Структуры данных очередь и стек. Отображение указанных формальных структур данных на линейно организованную память ЭВМ.В каких случаях оказывается целесообразным использование структур данных типа очереди и стека?
-
Тип файл в языке Паскаль. Особенности текстовых файлов. Связь между файловой переменной и внешним файлом. Запись в файл и считывание информации из файла. Последовательность операций в стандартном Паскале и Турбо Паскале для дозаписывания данных в существующий файл.
-
Типы запись и множество в языке Паскаль. Сравнить с типами массив и файл по следующим показателям: базовый тип, способ доступа к элементам, набор операций. Формирование значения переменной типа множество.
-
Типы переменных массив и строка в языке Паскаль. Множество значений, допустимые операции, способ доступа к элементам. Сравнить с типами запись, файл, множество. Ввод с клавиатуры массива произвольной длины.
-
Типы переменных. Классификация типов в языке Паскаль. Простые и сложные типы. Ввод и вывод переменных простых типов.
-
Файловый тип в Паскале. Сравнить с типами массив, запись и множество. Как осуществляется доступ к нужной записи в файле? Проверка наличия файла с заданным именем.
-
Этапы решения задачи с помощью компьютера. Понятие математической модели, привести примеры. Программирование. Запись, трансляция, отладка, выполнение и тестирование программ. Проиллюстрировать основные этапы решения задачи на примере.
Часть II.
-
Даны описания: const n = 1000; type mass = array[l..n] of –1..1; Привести пример подпрограммы для такой перестановки элементов заданного массива указанного типа, чтобы они располагались в порядке возрастания, а количество операций было бы порядка n.
-
Даны строковая константа и строка символов. Привести пример функции, позволяющей установить факт вхождения в строку первого и последнего символа константы.
-
Привести пример подпрограммы для вычисления вещественной степени вещественного числа, а также основной программы, вызывающей эту подпрограмму.
-
Привести пример подпрограммы для подсчета количества символов в текстовом файле, а также основной программы, которая открывает файл и вызывает указанную подпрограмму.
-
Привести пример подпрограммы, которая изменяет порядок следования символов в передаваемой как параметр строке на противоположный. Привести также пример вызова этой подпрограммы.
-
Привести пример подпрограммы, которая определяет являются ли компоненты файла упорядоченными по возрастанию.
-
Привести пример подпрограммы, ликвидирующей начальные пробелы в строке, а также вызывающей ее главной программы.
-
Привести пример подпрограммы-функции, которая возвращает число файлов с именами вида: l.txt, 2.txt, ..., 9.txt, находящихся в текущем каталоге. Здесь txt – строка расширения имени, которая передается в подпрограмму в качестве параметра.
-
Привести пример программы, эквивалентной следующей: var х,у : integer; begin readln(x); if x<0 then writeln(x*x) else writeln(x); end. без использования условного оператора.
-
Привести пример процедуры, добавляющей заданный в качестве параметра символ в начало текстового файла, название которого также передается в качестве параметра.
-
Привести пример процедуры, которая выводит на дисплей обозначения всех клеток шахматной доски, на которые может пойти король, позиция которого задана в качестве параметра подпрограммы. Заданная позиция также указывается, поэтому всего выводятся обозначения 9 клеток с использованием обычной нотации типа: a1, h8 и т.п. Записать также вызывающую данную процедуру программу, в которой ввод заданной позиции осуществляется с клавиатуры. Предполагается, что позиция на краю доски не задается. Следует использовать следующий заголовок подпрограммы: procedure king(pos:postype);
-
Привести пример рекурсивной функции вычитания двух натуральных чисел, а также программы, которая использует описанную функцию. Следует использовать только арифметические опрерации, в которых один операнд - единица, операции сравнения и управления программным потоком.
-
Привести пример рекурсивной функции сложения двух натуральных чисел, а также программы, которая использует описанную функцию. Следует использовать только арифметические опрерации, в которых один операнд - единица, операции сравнения и управления программным потоком.
-
Привести пример рекурсивной функции умножения двух целых чисел и вызывающей ее основной программы. Следует использовать только опрерации сложения, операции сравнения и управления программным потоком.
-
Привести пример функции для определения наличия заданного числа в текстовом файле (заданной последовательности цифр), а также вызывающей ее программы.
-
Привести пример функции для подсчета числа гласных букв в слове и вызывающей ее основной программы.
-
Привести пример функции, которая возвращает расстояние от точки с заданными координатами до начала координат. Использовать ее в подпрограмме, устанавливающей тот факт, что три точки лежат на окружности с центром в начале координат. Привести пример программы, вызывающей указанную подпрограмму. Заголовки функций: function g(z : ху) : real; function f(a,b,c : xy) : boolean;
-
Привести пример функции, которая устанавливает факт равенства двух простых дробей. Следует использовать такое описание: function f(a,b:drob):boolean. Привести также пример программы, которая вызывает эту функцию.
-
Привести пример функции, устанавливающей факт симметричности квадратной матрицы относительно главной диагонали. Составить программу, которая вызывает функцию, а также осуществляет ввод матрицы целых чисел (построчно) и вывод результата, возвращаемого подпрограммой.
-
Привести примеры подпрограмм формирования внешнего файла и считывания информации из него. При чтении данных из файла должны присваиваться соответствующие значения переменной t, которая определена следующим образом: const n = 1000; type abc = array[l..n] of (a,b,c); var t, q : abc; При формировании файла в него записываются данные в соответствии со значениями элементов массива q, который считается заданным и передается в подпрограмму по ссылке.