Тест №4 по теме "Программирование"
тест по информатике и икт на тему
1) Подпрограмма – это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих местах программы обеспечивается лишь обращение к ней по имени.
2) Подпрограмма – это независимая от основной программы группа операторов, оформленная в виде самостоятельной прог-раммной единицы. Она записывается однократно, обращение к ней из основной программы не происходит.
3) Подпрограмма – это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы и записанная в отдельный файл.
Правильный ответ – 1.
2. Какие утверждения для подпрограмм верны?
А. О ни избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты, т. е. сократить объем программы.
Б. О ни улучшают структуру программы, облегчая понимание при разборе.
В. О ни уменьшают вероятность появления ошибок, повышают устойчивость к ошибкам программирования и непредвиденным последствиям при модификации.
Правильный ответ – 3.
3. Какие параметры называются фактическими?
1) Фактические параметры – это переменные, фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров, над которыми производятся действия.
2) Фактические параметры – это параметры, которые передаются процедуре при обращении к ней.
3) Фактические параметры – это параметры, которые присутствуют в процедуре.
Правильный ответ – 2.
4. Какие параметры называются формальными?
1) Формальные параметры – это переменные, фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров, над которыми производятся действия.
2) Формальные параметры – это параметры, которые передаются процедуре при обращении к ней.
3) Формальные параметры – это параметры, которые присутствуют в процедуре.
Правильный ответ – 1.
5. Как связаны между собой формальные и фактические параметры?
1) Число и тип формальных и фактических параметров совпадают с точностью до их следования.
2) Число формальных и фактических параметров совпадают.
3) Типы формальных и фактических параметров могут не совпадать.
Правильный ответ – 1.
6. Какие переменные называются глобальными?
1) Глобальные переменные – это те переменные, которые объявлены в описании основной части, и их могут использовать любые процедуры и функции данной программы.
2) Переменные, описанные внутри подпрограммы, называются глобальными, и они могут быть использованы только внутри данной подпрограммы.
3) Переменные, описанные внутри подпрограммы, называются глобальными, и они могут быть использованы как внутри данной подпрограммы, так и в основной программе.
Правильный ответ – 1.
7. Какие переменные называются локальными?
1) Локальные переменные – это те переменные, которые объявлены в описании основной части, и их могут использовать любые процедуры и функции данной программы.
2) Переменные, описанные внутри подпрограммы, называются локальными, и они могут быть использованы только внутри данной подпрограммы.
3) Переменные, описанные внутри подпрограммы, называются локальными, и они могут быть использованы как внутри данной подпрограммы, так и в основной программе.
Правильный ответ – 2.
8. Выберите правильное описание функции.
Правильный ответ – 3.
9. Каковы отличия функции от процедуры?
1) Процедура может иметь несколько значений, а функция только одно (оно и будет ее результатом). Кроме того, в теле функции обязательно должен быть хотя бы один оператор присвоения, где в левой части стоит имя функции, а в правой – ее значение. Иначе значение не будет определено.
2) Функция может иметь несколько значений, а процедура только одно (оно и будет ее результатом). Кроме того, в теле процедуры обязательно должен быть хотя бы один оператор присвоения, где в левой части стоит имя процедуры, а в правой – ее значение. Иначе значение не будет определено.
3) Процедура может иметь только одно значение, как и функция. Кроме того, в теле процедуры обязательно должен быть хотя бы один оператор присвоения, где в левой части стоит имя процедуры, а в правой – ее значение. Иначе значение не будет определено.
Правильный ответ – 1.
10. Указывается ли тип результата в описании функции?
1) В Quick Basic – нет, в Паскале – да
2) В Quick Basic – да, в Паскале – нет,
Правильный ответ – 1.
11. Что такое рекурсия?
1) Объект, который частично определяется через другие неизвестные объекты, называется – рекурсивным.
2) Объект, который частично определяется через самого себя, называется – рекурсивным.
3) Объект, который частично определяется через другие известные объекты, называется – рекурсивным.
Правильный ответ – 2.
12. Как избавиться от бесконечного обращения подпрограммы к самой себе?
1) Требуется наличие некоторого условия (условного оператора) в тексте программы, по достижении которого дальнейшее обращение не происходит.
2) Требуется наличие оператора цикла в тексте программы, по окончании которого дальнейшее обращение не происходит.
Правильный ответ – 1.
13. Возможно ли задачи, явно не содержащие в себе рекурсию, свести к рекурсивной?
3) Задачи, не содержащие явно в себе рекурсию, невозможно свести к рекурсивным.
Правильный ответ – 2.
14. Что такое область действия переменной?
1) Область действия переменной называется часть программы, где она может быть использована. Область действия переменных определяется местом их объявления.
2) Область действия переменной называется часть программы, где она не может быть использована.
3) Область действия переменных определяется той частью программы, где она используется.
Правильный ответ – 1.
15. Может ли локальная переменная быть одновременно глобальной?
1) Да, по отношению к более высокому уровню вложенности.
3) Да, по отношению к вложенным в нее подпрограммам.
Правильный ответ – 3.
16. Как происходит замена формальных параметров на фактические?
1) Формальные параметры заменяются на фактические в произвольном порядке.
2) Формальные параметры заменяются на фактические в порядке их следования.
3) Формальные параметры заменяются на фактические в обратном порядке их следования.
Правильный ответ – 2.
17. Что произойдет при совпадении имен глобальных и локальных переменных?
1) Глобальные переменные отменяют действия локальных переменных.
2) Локальные переменные, в пределах своего действия, отменяют действия глобальных переменных.
РАЗДЕЛ 3. СТРУКТУРНОЕ И МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ
Это независимая именованная часть программы, которую после однократного описания можно многократно вызвать по имени из последующих частей программы для выполнения определенных действий.
Один из видов подпрограммы. ____________________________
1.3 Рекурсия, это:
Ситуация, когда программа вызывает сама себя непосредственно или косвенно (через другие функции) ____________________________
ЗАДАНИЕ 2
Укажите понятия, которые соответствуют перечисленным ниже определениям:
1. Подпрограмма – это отдельная функционально независимая часть программы.
2. Глобальными называются переменные, объявленные в основной программе и доступные как программе, так и всем ее подпрограммам.
3. Локальными называются переменные, объявленные внутри подпрограммы и доступные только ей самой.
ЗАДАНИЕ 3
Перечислите категории формальных параметров подпрограммы:
1) параметры-значения (эти параметры в основной программе подпрограммой не меняются);
2) параметры-переменные (эти параметры подпрограмма может изменить в основной программе);
3) параметры-константы (используются только в версии 7.0);
4) параметры-процедуры и параметры-функции (т. е. процедурного типа).
ЗАДАНИЕ 4
Выполните тест. Из предложенных ответов выберите правильный.
1. В некоторой программе описаны переменные:
Какая из процедур или функций, заголовки которых приведены ниже, может быть вызвана из этой программы с помощью оператора
a) function f(var a:integer; b:integer; var c:real; d:real; var e:char; g:char);
b) function f(var a:integer; b:integer; var c:real; d:real; var e:char; g:char): char;
c) procedure f(var a:integer; b:integer; var c:real; var e:char; g:char): char;
2. Определите какие величины являются результатом работы подпрограммы в следующем заголовке
procedure kvadr(a,b,c:real; var x1,x2:real; var y:string);
Не хватает данных:
3. Определите тип значения функции в следующем заголовке
function nok(x, y: integer): real;
4. Определите, какой заголовок подпрограммы-функции записан правильно
a) funtion nod(x,y:integer):integer;
b) function nod(x,y);
c) function nod(x,y:integer):integer;
d) function nod(x,y:integer);
5. Фактические параметры записываются
b) в заголовке подпрограммы-функции
c) в заголовке подпрограммы-процедуры
d) в команде вызова подпрограммы
6. Какой вид программы применяют, если в результате получается несколько величин
a) подпрограмму-функцию и подпрограмму-процедуру
c) нельзя использовать подпрограмму
7. Заголовок подпрограммы-функции начинается со слова .
d) нет правильного ответа
8. Величины, описанные в подпрограмме называют
9. Фактические параметры записываются
a) в команде вызова подпрограммы
b) в заголовке подпрограммы-процедуры
c) в заголовке подпрограммы-функции
10. Подпрограмма-функция возвращает в основную программу
a) все варианты правильные
c) единственное значение
d) несколько значений
11. Укажите, какие параметры являются параметрами-значениями, а какие параметрами-переменными
а) var c,d : integer;
procedure P(x,y: integer);
б) var c,d : integer;
procedure Q (x: integer; var y: integer);
в) var c,d : integer;
procedure S (var x,y: integer);
Критерии оценки теста
100%-95% – 5(отлично)
94%-75% – 4(хорошо)
74%-60% – 3(удовлетворительно)
Менее 60%– 2(неудовлетворительно)
Тема 3.2 Структуризация в программировании
ЗАДАНИЕ 1
Структурное программирование — методология и технология разработки программных комплексов, основанная на принципах:
1) — программирования "сверху-вниз";
2) — модульного программирования.
При этом логика алгоритма и программы должны использовать три основные структуры: последовательное выполнение, ветвление и повторение.
ЗАДАНИЕ 2
Ответьте на предложенные вопросы:
1.1 Заглушка в структурном программировании, это:
Это функция, имеющая "пустое" тело, то есть "заглушка" ничего не делает. ____________________________
1.2 Метод восходящего проектирования, это:
Подход, при котором в первую очередь определяются вспомогательные модули, которые потребуются для проектируемой программы. ____________________________
1.3 Нисходящее программирование, это:
Методика разработки программ, при которой разработка начинается сопределения целей решения проблемы, после чего идет последовательная детализация, заканчивающаясядетальной программой. ____________________________
1.4 Модульное программирование, это:
Это организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определенным правилам. ____________________________
Тема 3.3 Модульное программирование
ЗАДАНИЕ 1
Типовая структура программного продукта включает:
1) головной модуль — управляет запуском программного продукта (существует в единственном числе);
2) управляющий модуль — обеспечивает вызов других модулей на обработку;
3) рабочие модули — выполняют функции обработки;
4) сервисные модули и библиотеки, утилиты — осуществляют обслуживающие функции.
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
§ 2.4. Запись вспомогательных алгоритмов на языке Паскаль
Информатика. 9 класса. Босова Л.Л. Оглавление
Ключевые слова:
- подпрограмма
- процедура
- функция
- рекурсивная функция
Запись вспомогательных алгоритмов на языке Паскаль
Запись вспомогательных алгоритмов в языках программирования осуществляется с помощью подпрограмм. В Паскале подпрограмма является частью основной программы. Её описание располагается между разделом var и программным блоком главной программы. Если подпрограмм несколько, то их описания располагаются в произвольном порядке одно за другим.
Структура описания подпрограммы аналогична структуре главной программы. Описание подпрограммы начинается с заголовка и заканчивается оператором end.
В Паскале различают два вида подпрограмм: процедуры и функции.
Процедуры. Запись вспомогательных алгоритмов на языке Паскаль
Процедура — подпрограмма, имеющая произвольное количество входных и выходных данных.
Описание процедуры имеет вид:
- procedure <имя_процедуры> (<описание параметров-значений>;
- var: Сописание параметров-переменных>);
- begin
- <операторы>
- end;
В заголовке процедуры после её имени приводится перечень формальных параметров и их типов. Входные параметры, значения которых не изменяются в программе, должны быть параметрами-значениями. Выходные (результирующие) параметры должны быть параметрами-переменными.
Для вызова процедуры достаточно указать её имя со списком фактических параметров. В качестве параметров-значений можно указывать имена переменных, константы и выражения.
Например, заголовок процедуры вычисления наибольшего общего делителя может быть описан так:
- procedure nod (a, b: integer; var с: integer);
Возможны следующие варианты вызова этой процедуры:
- nod (36, 15, z) — в качестве параметров-значений использованы константы;
- nod (х, у, z) — в качестве параметров-значений использованы имена переменных;
- nod (х+у, 15, z) — в качестве параметров-значений использованы выражение и константа;
В любом случае между фактическими и формальными параметрами должно быть полное соответствие по количеству, порядку следования и типу.
Пример 1. Напишем процедуру для нахождения наибольшего общего делителя двух чисел с помощью алгоритма Евклида. Используем её для нахождения наибольшего общего делителя следующих шести чисел: 16, 32, 40, 64, 80 и 128.

Измените программу так, чтобы с её помощью можно было найти:
- а) наибольший общий делитель следующих пяти чисел: 12, 24, 30, 48 и 51;
- б) наибольший общий делитель произвольных десяти целых двузначных чисел.
Функции. Запись вспомогательных алгоритмов на языке Паскаль
Описание функции имеет вид:
- function <имя_функции> (<описание входных данных>):
- <тип_функции>;
- begin
- <операторы>;
- <имя_функции> := <результат>
- end;
В заголовке функции после её имени приводится описание входных данных — указывается перечень формальных параметров и их типов. Там же указывается тип самой функции, т. е. тип результата.
Функция — подпрограмма, имеющая единственный результат, записываемый в ячейку памяти, имя которой совпадает с именем функции. Поэтому в блоке функции обязательно должен присутствовать оператор <имя_функции>:=<результат>.
Для вызова функции достаточно указать её имя со списком фактических параметров в любом выражении, в условиях (после слов if, while, until) или в операторе write главной программы.
Пример 2. Напишем программу нахождения максимального из четырёх целых чисел, использующую функцию поиска максимального из двух чисел:

Измените программу так, чтобы с её помощью можно было найти:
- а) максимальное из чисел а, b, с;
- б) максимальное из чисел b, с, d;
- в) минимальное из четырёх чисел;
- г) разность максимального и минимального из четырёх чисел.
Пример 3. В январе Саше подарили пару новорождённых кроликов. Через два месяца они дали первый приплод — новую пару кроликов, а затем давали приплод по паре кроликов каждый месяц. Каждая новая пара также даёт первый приплод (пару кроликов) через два месяца, а затем — по паре кроликов каждый месяц. Сколько пар кроликов будет у Саши в декабре?
Составим математическую модель этой задачи. Обозначим через /(n) количество пар кроликов в месяце с номером n. По условию задачи, ?(1) = 1, ?(2) = 1, ?(3) = 2. Из двух пар, имеющихся в марте, дать приплод в апреле сможет только одна: ?(4) = 3. Из пар, имеющихся в апреле, дать приплод в мае смогут только пары, родившиеся в марте и ранее: ?(5) = ?(4) + ?(3) = 3 + 2 = 5. В общем случае: ?(n) = ?(n — 1) + ?(n — 2), n ? 3.
Числа 1, 1, 2, 3, 5, 8,… образуют так называемую последовательность Фибоначчи, названную в честь итальянского математика, впервые решившего соответствующую задачу ещё в начале XIII века.
Оформим в виде функции вычисление члена последовательности Фибоначчи.
- function f (n: integer): integer;
- begin
- if (n=l) or (n=2) then f:=1
- else f:=f(n-l)+f(n-2)
- end;
Полученная функция считается рекурсивной — в ней реализован способ вычисления очередного значения функции через вычисление её предшествующих значений.
Напишите программу, вычисляющую и выводящую 10 первых членов последовательности Фибоначи.
САМОЕ ГЛАВНОЕ
Запись вспомогательных алгоритмов в языках программирования осуществляется с помощью подпрограмм. В Паскале различают два вида подпрограмм: процедуры и функции. Процедура — подпрограмма, имеющая произвольное количество входных и выходных данных. Функция — подпрограмма, имеющая единственный результат, записываемый в ячейку памяти, имя которой совпадает с именем функции.
Вопросы и задания к § 2.4. Запись вспомогательных алгоритмов на языке Паскаль
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Дополняет ли презентация информацию, содержащуюся в тексте параграфа?