Один из самых простых методов, которые я использую для изучения новых тем, — это создание заметок по теме, а затем превращение этих заметок в вопросы и ответы. Запоминание ответов на вопросы кажется более естественным. Я смог запомнить эти 104 вопроса и ответа менее чем за несколько часов. Я хотел начать делать это для некоторых тем, которые я нахожу довольно интересными. Для начала вот несколько вопросов и ответов на тему «Концепции языка программирования» (PLC). Я читаю ваши мысли прямо сейчас и отвечаю: да, будет больше.

1. Назовите 3 причины для изучения ПЛК.

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

2. Назовите 5 областей программирования и языков, наиболее подходящих для каждой из них.

- Научные (Fortran, ALGOL 60)
- Деловые (COBOL)
- ИИ (Lisp, Scheme, Prolog)
- Интернет (PHP, Java, JavaScript)
- Игры ( С, С++)

3. Каковы 4 критерия оценки языков программирования?

– Читаемость
– Возможность записи
– Надежность
– Стоимость

4. В надежности что подразумевается под общей простотой?

- Простой язык имеет относительно небольшое количество базовых конструкций.

5. Что такое множественность признаков?

- наличие нескольких способов выполнения одной и той же задачи. т. е. count++ или count = count + 1

6. Дайте определение ортогональности.

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

7. С чем тесно связана ортогональность?

- Простота

8. Правда или ложь? Излишняя простота может стать проблемой.

- Истинный

9. Правда или ложь? Слишком большая ортогональность может вызвать проблемы?

- Истинный

10. Приведите пример проблемы с типом данных.

- C89 не имеет логического типа, поэтому x = 1 неоднозначен и может означать либо x = целое число 1, либо x = true

11. Заполните слово Семантика (________) должно следовать непосредственно из __________ (форма)

- значение
- Синтаксис

12. Почему простота и ортогональность являются проблемой при написании?

- Большое количество функций может привести к неправильному использованию некоторых функций и неиспользованию превосходных функций.

13. Когда ортогональность помогает писать?

- Когда объекты не слишком ортогональны

14. Когда язык выразительный?

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

15. Надежность… что такое проверка типов?

- Проверяет ошибки типа либо во время компиляции, либо во время выполнения

16. Когда предпочтительна проверка типов?

- Во время компиляции, поскольку проверка во время выполнения требует больших затрат.

17. Что такое обработка исключений?

- Перехват ошибок во время выполнения и забота об этих ошибках.

18. Что такое алиасинг?

- Наличие двух или более имен, присвоенных одному и тому же месту в памяти.

19. Как читабельность и возможность записи влияют на надежность?

- Если язык трудно читать, его трудно отлаживать. Если он написан неестественно, он, скорее всего, будет содержать ошибки.

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

- Стоимость обучения программистов
- Стоимость компиляции
- Стоимость исполнения
- Стоимость реализации

21. Что такое оптимизация и почему она считается фактором стоимости?

- Оптимизация — это попытка сэкономить время или место. Оптимизация увеличивает время компиляции.

22. Что в наибольшей степени влияет на языковые затраты?

- Надежность, техническое обслуживание и разработка программ

23. Назовите другие критерии оценки языков программирования.

- Универсальность
- Переносимость
- Четкость.

24. На основе какой архитектуры были разработаны самые популярные языки?

- Архитектура фон Неймана

25. Как называются языки, основанные на архитектуре фон Неймана?

- Императивные языки

26. На чем основаны императивные языки?

- Архитектура фон Неймана.

27. Что представляют имена переменных в императивном языке?

- ячейки памяти

28. Что представляют операторы присваивания в императивном языке?

- Перемещение данных из памяти в ЦП и обратно.

29. Назовите методологии проектирования программ.

– Проектирование сверху вниз или пошаговое уточнение
– Абстрагирование данных
– Объектно-ориентированное проектирование

30. Какой язык способствовал популяризации объектно-ориентированного программирования?

- Болтовня

31. Назовите четыре категории, в которые входят языки программирования.

- Императивность, Функциональность, Логика и Объектно-ориентированность

32. Опишите функциональный язык программирования.

- Возможность определять и вызывать функции.

33. Опишите логический язык.

- Содержит набор фактов и правил.

34. Объектно-ориентированные языки часто являются расширениями _______ _______.

- Императивные языки

35. Правда или ложь? Языки разметки — это языки программирования?

- Ложь

36. Назовите некоторые языковые компромиссы

– Надежность и стоимость исполнения
– Доступность записи и читабельность
– Возможность записи и надежность

37. Назовите один метод реализации для языка программирования.

- Сборник

38. Что такое компиляция?

- Процесс, в котором исходный код переводится компилятором на машинный язык.

39. В чем преимущество компиляции?

- Быстрое выполнение программы

40. Каковы фазы компилятора?

- Лексический анализатор, Синтаксический анализатор, Промежуточный генератор кода, Оптимизатор, Генератор кода

41. Что делает лексический анализатор?

- Отбрасывает комментарии и собирает символы в лексемы.

42. Что делает синтаксический анализатор?

- Проверяет наличие синтаксических ошибок и создает деревья разбора из лексем.

43. Что делает генератор промежуточного кода?

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

44. Что делает оптимизатор?

- Попытки сделать программу меньше и быстрее.

45. Что делает генератор кода?

- Переводит промежуточный код на машинный язык.

46. ​​Правда или ложь? Все фазы компилятора используют таблицу символов.

- Истинный

47. Каково назначение компоновщика?

- Объединить код из разных модулей в единую программу
- Включить код для вызова библиотечных подпрограмм
- Включить код для связи с ОС

48. Что выдает компоновщик?

- Исполняемый образ

49. Что такое чистая интерпретация?

- Выполнение программы интерпретатором без перевода исходного кода в более низкую форму.

50. В чем преимущество интерпретации?

- Хорошо для отладки

51. Каковы некоторые недостатки интерпретации?

– Медленное выполнение
– Требуется больше места во время выполнения

52. Опишите гибридную систему реализации.

- Исходный код преобразуется в промежуточный код и отправляется интерпретатору.

53. Какой тип промежуточного кода создается компилятором Java?

- Байтовый код

54. Как называется интерпретатор Java?

- Виртуальная машина Java (JVM)

55. Какой тип компиляции выполняют интерпретаторы Java?

- Своевременная компиляция

56. Что такое своевременная компиляция?

- Перевод байтового кода в машинный код при выполнении

57. Какие языки программирования полагаются на препроцессор?

- С и С++

58. Что делает препроцессор?

– Берет встроенные команды из исходного кода и удаляет их перед компиляцией.
– Например, #include «myLib.h» копируется в исходный код.

59. Что такое среда программирования?

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

60. Что такое IDE?

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

61. Кто разработал Планкалкул?

- Конрад Цузе

62. На что годился Планкалкул?

- Хорошо для выражения вычислений.

63. Что означает Планкалкул?

- Расчет программы

64. Правда или ложь? Планкалкул так и не был реализован.

- Истинный

65. Какая самая простая структура данных в Планкалкуле?

- Один бит

66. Какие типы могут быть получены из одного бита в Планкалкуле?

- Плавающая точка и целое число

67. Заполните пропуск. В Планкалкуле с плавающей запятой использовалась нотация ______ ___________ и скрытый бит.

- Двойки-дополнение

68. Правда или ложь? В Plankalkul оператор if имеет необязательный оператор else.

- Ложь

69. Есть ли в Планкалкуле инструкция goto?

- No

70. Заполните пропуск. В Планкалкуле есть оператор for, похожий на тот, что в ________.

- Паскаль

71. Включал ли Планкалкул утверждения?

- Да

72. Что такое утверждения?

- Математические выражения, показывающие текущие отношения между программными переменными.

73. Какие проблемы машинного кода?

- Трудно читать
- Абсолютная адресация делает модификацию утомительной.

74. Назовите два псевдокодовых языка.

- Короткий код и код скорости

75. Кто разработал краткий код?

- Джон Мочли

76. Правда или ложь? Короткий код состоял из закодированных версий математических выражений.

- Истинный

77. Как назывались переменные в Short Code?

- С байт-парными кодами.

78. Был ли составлен или интерпретирован краткий код?

- интерпретируется

79. Как еще называли интерпретацию во времена Short Code?

- Автоматическое программирование

80. Кто разработал Speedcode?

- Джон Бэкус для IBM 701

81. Боинг 701 был расширен до виртуального _____ _____ ________.

- Трехточечный калькулятор

82. Правда или ложь? Speedcode был намного эффективнее машинного кода?

- Истинный

83. Кто разработал систему компиляции UNIVAC?

- Грейс Хоппер

84. Как назывались системы компиляции, разработанные Грейс Хоппер?

- А-0, А-1 и А-2

85. Что делали системы компиляции, разработанные Грейс Хоппер?

- Расширенные псевдокоды в машинный код.

86. Кто разработал Фортран?

- Джон Бэкус для IBM 704

87. Какова была основная цель компилятора Fortran?

- Скорость сгенерированного кода

88. Правда или ложь? Компилятор Фортрана был почти вдвое менее эффективным, чем то, что можно было бы сделать вручную.

- Истинный

89. Заполните пропуск. ________ был первым общепринятым компилируемым языком высокого уровня.

- Фортран

90. Правда или ложь. Fortran У меня было форматирование ввода/вывода.

- Истинный

91. Сколько символов может быть в имени переменной в Fortran I?

- Up to 6

92. Правда или ложь? В Фортране у меня были пользовательские подпрограммы.

- Истинный

93. Правда или ложь? Fortran У меня был оператор if/else.

- False, только оператор if

94. Как программисты объявили переменную как целое число в Fortrain I? Как насчет плавающей точки?

- Поскольку имя начинается с I, J, K, L, M или N, переменные неявно являются целыми. Все остальные были с плавающей запятой

95. Какая функция была добавлена ​​в Fortran II?

- Независимая компиляция подпрограмм

96. Правда или ложь? Fortran III был самой успешной версией Fortran.

- Ложь. Фортран никогда не был широко распространен.

97. Какой была первая стандартизированная версия Фортрана? Какой год?

- Фортран IV в 1966 году.

98. Какие функции добавил Fortran IV?

- Явное объявление типа переменных
- Возможность передавать подпрограммы в качестве параметров другим подпрограммам
- Логическая конструкция IF

99. Когда Fortran получил ELSE на свой оператор IF?

- Фортран 77

100. Когда Фортран начал поддерживать строчные буквы?

- Фортран 90

101. Назовите другие функции, реализованные в Fortran 90.

- Рекурсия
- Динамические массивы, указатели и оператор множественного выбора

102. Что включала в себя стандартизация Fortran 90?

- Список функций, которые будут удалены

103. Когда Фортран получил объектно-ориентированные возможности?

- Фортран 2003

104. Назовите функцию, добавленную в Fortran 2008.

- Лучшая поддержка параллельного программирования

Хочу больше?

P1. 104 Вопросы и ответы по языку программирования
P2. 95 Вопросы и ответы по языку программирования
P3. 123 Вопросы и ответы по языку программирования
P4. 77 Вопросы и ответы по языку программирования
P5. 146 Вопросы и ответы по языку программирования
P6. 94 Вопросы и ответы по языку программирования
P7. 141 язык программирования. Вопросы и ответы