ВУЗ:
then Z ← Y + W
else Z ← Y + X
5. Для чего при трансляции операторов необходимо указывать тип данных, связанный с переменными в задаче 4? По-
чему многие языки высокого уровня требуют от программистов указывать тип каждой переменной в начале программы?
6. Назовите и опишите четыре существующие парадигмы программирования.
7. Предположим, что функция f получает два числа в качестве параметров и возвращает меньшее из них в качестве ре-
зультата. Если переменные w, х, у и z представляют собой числа, то какой результат будет возвращен этой функцией при
вычислении выражения f(f(w,х),f(y,z))?
8. Предположим, что f – это функция, возвращающая в качестве результата строку, в которой все символы из входной
строки переставлены в обратном порядке, а g – это функция, осуществляющая конкатенацию двух входных строк. Если х –
строка "abcd", что вернет функция g(f(х),х)?
9. Предположим, что вы собираетесь написать объектно-ориентированную программу для ведения своих финансовых
записей. Какие данные нужно хранить в объекте, представляющем ваш текущий счет в банке? На какие сообщения должен
реагировать этот объект? Какие еще объекты следует использовать в программе?
10. Опишите отличия, существующие между машинным языком и языком ассемблера.
11. Разработайте язык ассемблера для машины, описанной в приложении В.
12. Некий Джон Программер утверждает, что возможность объявления констант в программе является излишней, по-
скольку вместо них можно использовать переменные. Например, в разделе 5.2 можно описать переменную AirportAlt, а
потом присвоить ей нужное значение в начале программы. Почему это решение хуже, чем вариант с использованием кон-
станты?
13. Опишите отличия, существующие между операторами объявления и выполняемыми операторами.
14. Объясните разницу между литералом, константой и переменной.
15. Что такое приоритет оператора?
16. Что такое структурное программирование?
17. Чем отличается смысл символа равенства в операторе
if(X = 5) then (...)
от смысла этого же символа в следующем операторе присваивания?
X = Z + Y
18. Начертите блок-схему структуры, выраженной следующими операторами языков C++ и Java:
for(x = 0; х < 8; ++х)
{…}
19. Начертите блок-схему структуры, выраженной следующими операторами языков С, C++ и Java:
switch(suit)
{ case "clubs": bid(l): break;
case "diamonds": bid(2): break;
case "hearts": bid(3): break;
case "spades": bid(4): break;
}
20. Если вы знакомы с нотной записью, проанализируйте принятый принцип записи нот с точки зрения языка програм-
мирования. Что здесь является управляющими структурами? Какой предусмотрен синтаксис для вставки комментариев? Ка-
кие музыкальные обозначения похожи на операторы for, представленные на рис. 5.8?
21. Перепишите следующий фрагмент программы, используя один оператор case вместо серии вложенных операторов
if-then-else.
if (W = 5)
then (Z ← 7)
else (if (W = 6)
then (Y ← 7)
else (if (W = 7)
then (X ← 7) ) )
22. Выразите приведенную ниже запутанную последовательность операторов с помощью единственного оператора if-
then-else.
if X > 5 then goto 80
X = X + 1
goto 90
80 X = X + 2
90 ...
23. Опишите отличия между транслятором и интерпретатором.
24. Предположим, что переменная X в программе описана как переменная типа integer. Какая ошибка будет обнару-
жена транслятором при выполнении следующего оператора?
X ← 2.5
25. Что означает выражение "язык программирования со строгой типизацией"?
26. Почему большой массив не всегда можно передать в вызываемую процедуру по значению?
27. Предположим, что процедура modify определена следующим образом:
procedure modify(Y)
Y ← 7;
Страницы
- « первая
- ‹ предыдущая
- …
- 136
- 137
- 138
- 139
- 140
- …
- следующая ›
- последняя »