Системное программирование | Вопросы с ответами
Вопросы с ответами по дисциплине «Системное программирование». |
1. Операционная система – это___________:
+ Комплекс программ
— Прикладная программа
+ Администратор
— Обеспечение
— Назначение
— Пользование
— Сервисная программа
+ Менеджер ресурсов компьютера
2. Операционные системы являются ресурсами ___________ компьютера:
+ управления
+ диспетчеризация
+ планирование
— администратор
— менеджер
— обеспечение
— назначение
— пользование
3. Операционные системы для программирования приложений Win32API:
+ Windows 98
— Linux
+ Windows 2000
— Unix
+ Windows ХР
— Windows СЕ
— Windows NT
— MS DOS
4. Категории объектов ОС Windows приложении:
— Windows 98
— User
+ Graphics Device Interface
+ Unix
— Windows Shell
+ Kernel
— Network Services
— Base Services
5. Ресурсы принадлежащие каждому потоку в ОС Windows:
— потоки интерфейса пользователя
— пользовательские потоки
+ код исполняемой функции
— потоки исполняемой функции
+ набор регистров процессора
— библиотека общих элементов
— интерфейс пользователя
+ стек для работы приложения
6. Действия менеджера потоков, во время переключения процессора на исполнение другого потока:
— обслуживает очередь запускаемого потока
+ сохранить контекст прерываемого потока
+ восстановить контекст запускаемого потока
+ передать управление запускаемому потоку
— управляет доступом для ОС
— выполняет функции ввода и вывода
— обеспечивает функции для вывода графики
— обеспечивает функции для взаймодействия
7. Параметры функции CreateThread:
— TerminateThread
+ lpThreadAttributes
— AttachThreadInput
— CreateProcess
— CreateThread
— ExitThread
+ dwStackSize
+ lpStrtAddress
8. Функции работы с процессами и потоками в Win32 API:
— TerminateThread
— lpThreadAttributes
+ AttachThreadInput
+ CreateProcess
— ExitThread
+ CreateThread
— dwStackSize
— lpStrtAddress
9. Функция Sleep()___________:
+ задерживает выполнения потока
— возвращает нулевое значение
+ удаляет поток из очереди
— выполняет выход из потока
— освобождает память
+ делает короткие паузы
— завершает выполнение функций
— освобождает ресурсы
10. Классификация программ в зависимости от количества определяемых ими параллельных потоков управления:
— дуплексный
— многозадачный
+ многопоточный
— системный
+ с параллельным потоком
— параллельный
+ однопоточный
— с прямым потоком
11. Операции над потоком связанные с операционной системой:
— Create
+ Run
— Exit
+ Interrupt
— Open
+ Block
— Read
— Write
12. Ресурсы каждого процесса ОС Windows:
+ виртуальное адресное пространство
— код исполняемой функции
+ маркер доступа
— набор регистров процессора
— стек для работы приложения
+ страницы в реальной памяти
— стек для работы ОС
— консольный ввод
13. Объектам синхронизации первого класса в Windows, которые служат только для решения задач синхронизации параллельных потоков:
+ мьютекс (mutex)
+ событие (event)
+ семафор (semaphore)
— ожидающий таймер
— работа (job)
— процесс (process)
— поток (thread)
— консольный ввод (console input).
14. К третьему классу синхронизации относятся объекты, которые переходят
в сигнальное состояние по завершении своей работы:
— мьютекс (mutex)
— событие (event)
+ работа (job)
+ процесс (process)
+ поток (thread)
— семафор (semaphore)
— ожидающий таймер
— консольный ввод (console input)
15. Системные объекты, созданные менеджером объектов в Win32 API:
— класс
— поток
+ события
+ семафор
— процесс
+ критический раздел
— приоритет потока
— контекст
16. Логические комбинации флагов параметра dwDesiredAccess:
+ EVENT_ALL_ACCESS
+ EVENT_MODIFY_STATE
— ACTIONS_AFTER_EVENT
+ SYNCHRONIZE
— SEMAPHORE_ALL_ACCESS
— SEMAPHORE _MODIFY_STATE
— ACTIONS_BEFORE_EVENT
— CREATE_NEW_CONSOLE
17. Логические комбинации флагов параметра dwDesiredAccess, определяющий доступ к семафору:
— EVENT_ALL_ACCESS
— EVENT_MODIFY_STATE
+ SYNCHRONIZE
+ SEMAPHORE_ALL_ACCESS
— ACTIONS_AFTER_EVENT
+ SEMAPHORE _MODIFY_STATE
— ACTIONS_BEFORE_EVENT
— CREATE_NEW_CONSOLE
18. Значение функции WaitForsingieObject, в случае успешного завершения:
— wait_object_р
— wait_forsingie
+ wait_object_o
— wait_object
+ wait_abandoned
+ wait_timeout
— wait_exit
— wait_finally
19. Прототип функции waitForMuitipieObject:
+ DWORD nCount
+ CONST HANDLE *lpHandles
+ BOOL bWaitAll
— DWORD dwReserved
— BOOL bResume
— LPOVERLAPPED lpOverLapped
— HANDLE hThread
— DWORD IDThread
20. Значения функции waitForMuitipieobjects:
+ ОТ WAIT_OBJECT_0 ДО (WAIT_OBJECT_0 + nCount — 1);
— ОТ WAIT_OBJECT_0 ДО (WAIT_OBJECT_0 );
— ОТ WAIT_OBJECT_0 ДО (WAIT_OBJECT_0 + nCount);
+ ОТ WAIT_ABANDONED_0 ДО (WAIT_ABANDONED_0 + nCount — 1);
— WAIT_COMPLETION
+ WAIT_TIMEOUT
— ОТ WAIT_ABANDONED_0 ДО (WAIT_ABANDONED_0 + nCount + 1);
— ОТ WAIT_ABANDONED_0 ДО (WAIT_ABANDONED_0);
21. Состояние блока адресов в адресном пространстве:
+ выделен
— защищен
+ зарезвирован
+ свободен
— смещен
— удален
— копирован
— прикреплен
22. Интерфейсы (API) для управления памятью:
— Base Services
— Common Control Library
+ Virtual Memory
— Network Services
+ Memory Mapped File
+ Heap Memory
— Windows Shell
— Windows System Information
23. Куча – это___________:
— объекты памяти
— страница памяти
+ динамическая область памяти
— указатель блока памяти
+ блок памяти
— указатель строки
+ мелкие фрагменты памяти
— указатель функции
24. Функции для управления памятью кучи:
+ HeapAlloc()
— HeapDestroy()
+ HeapReAlloc()
— HeapFree()
— HeapSize()
+ HeapFree()
— HeapCreate()
— MapViewOfFile()
25. Форматы реального и виртуального адресов:
+ номер реальной страницы
— номер фактической страницы
— номер оперативной памяти
+ номер виртуальной страницы
— смещение в адресной строке
+ смещение в реальной и виртуальной странице
— файлы страницы
— номер динамической страницы
26. Форматы реального и виртуального адресов:
— a
+ r
— b
+ v
— c
+ d
— e
— k
27. Описание линейного адреса процесса в ОС Windows:
+ 32 бит
— 16 бит
+ от 0х00000000 до 0хFFFFFFFF
— 2 Гбайт логической памяти
— 4 Гбайт виртуальной памяти
— 2 Гбайт виртуальной памяти
+ 4 Гбайт логической памяти
— от 0х00000000 до 0х0000FFFF
28. Состояние страницы процесса виртуальной памяти:
— (блокирован);
— (выделен)
+ free (свободный)
— (не выделен)
+ committed (распределены)
— (готов)
— (не готов)
+ reserved (зарезвированый)
29. Функция файловой системы:
— совместно использовать объект файла
+ открытие доступа к существующему файлу
— выделят мелкие фрагменты файла
+ закрытие доступа к существующему файлу
— закрепление виртуальной памяти
+ установка указателя файла на нужную запись
— физическое или форматирование низкого уровня
— разбиение диска на разделы
30. Структура и описание каталога:
+ древовидная
— кольцевая
+ корневой
— табличная
+ (обратная косая)
— прямая
— выпуклая
— плоская
31. Имена каталогов и файлов не должны содержат:
— +
+ <
— *
+ :
+ /
— ?
— !
— .
32. Параметр dwDesiredAccess задает способ доступа к файлу и принимает значения:
+ 0
— FILE_SHARE_WRITE
— FILE_SHARE_READ
+ GENERIC_READ
+ GENERIC_WRITE
— OPEN_EXISTING
— OPEN_ALWAYS
— TRUNCATE_EXISTING
33. Значения параметра dwCreationDisposition при открытии файла:
— 0
— FILE_SHARE_WRITE
— FILE_SHARE_READ
— GENERIC_READ
— GENERIC_WRITE
+ OPEN_EXISTING
+ OPEN_ALWAYS
+ TRUNCATE_EXISTING
34. Правильная запись имени файла:
+ “C:\demo_file.dat”
— “C:\demo_file.dоt”
— “C:\demofile.dat”
— “C\demo_file.dat”
+ “C:\new_file.dat”
— “C:\ new_filedat”
+ “C:\back_file.dat”
— “\back_file.dat”
35. Значение функций GetFileType:
— FILE_SHARE_WRITE
— FILE_SHARE_READ
— GENERIC_READ
+ FILE_TYPE_DISK
+ FILE_TYPE_CHAR
— TRUNCATE_EXISTING
+ FILE_TYPE_PIPE
— OPEN_ALWAYS
36. Значения параметра функции CopyFile:
+ lpExistingFileName
— lpThreadAttributes
— AttachThreadInput
+ lpNewFileName
— dwStackSize
— lpStrtAddress
+ bFailIfExists
— TerminateThread
37. Верхние уровни, составляющие основу структуры реестра Windows:
— HKEY_LOCAL
— HKEY_LOCAL_WORD
+ HKEY_LOCAL_MACHINE
+ HKEY_CURRENT_USER
+ HKEY_CLASSES_ROOT
— HKEY_CURRENT_ MACHINE
— HKEY_CLASSES_ MACHINE
— HKEY_CLASSES_USER
38. API функции, применяемые для выполнения операций с реестром:
— RegReserverd
+ RegCloseKey
— RegClass
— RegSubKeys
+ RegCreateKey
— RegOpen
— RegQery
+ RegDeleteKey
39. API функции применяемые в среде Windows NT:
— RegQueryValue()
+ RegSetKeySecurity()
— RegCloseKey()
— RegFlushKey()
+ RegGetKeySecurity()
— RegLoadKey()
+ параметры безопасности
— RegOpenKey()
40. HKey идентифицирует текущий раздел или предопределенные дескрипторы:
— HKEY_LOCAL_MACHINE
— HKEY_LOCAL_WORD
+ HKEY_CLASSES_ROOT
— HKEY_CURRENT_ MACHINE
— HKEY_CLASSES_USER
+ HKEY_CURRENT_USER
— HKEY_CLASSES_ MACHINE
+ HKEY_USERS
41. Параметры функции WriteFile:
— nNumberOfBytes
— lpThreadAttributes
+ hFile
+ lpBuffer
— dwStackSize
— lpNewFileName
— bFailIfExists
+ nNumberOfBytesToWrite
42. Системный вызов для файла:
+ chown()
+ lchown()
— chmod
— fchmod
— stat()
— lstat()
+ fchown()
— read()
43. Метаданные файла связанные со временем:
— st_blocks
— st_dev
+ st_ctime
— st_uid
+ st_atime
— st_gid
— st_size
+ st_mtime
44. Функции для перемещения файла:
— lpNewFileName
+ replaceFile
— readFile
+ copyFile
— hFile
+ moveFile
— write_File
— delete_File
45. Механизм отображения файлов в память:
+ отображение содержимого файла
— установка времени таймера
+ представление или вид файла
+ когерентность данных
— указывать на функцию завершения
— создать файловое пространство
— открыть файл приложения
— создать файл загрузки
46. Параметры функции CreateFileMapping (создание объекта отображающий файл в память):
— lpBuffer
— numberOfBytes
— completionKey
+ flProtect
— readFile
+ lpAttributes
— waitCommEvent
+ hFile
47. Значения параметра flProtect :
— PAGE_READ
+ PAGE_READONLY
— PAGE_WRITEONLY
+ PAGE_READWRITE
— PAGE_READCOPY
+ PAGE_WRITECOPY
— PAGE_WRITE
— PAGE_COPYONLY
48. Прототип функции MapViewOfFile:
+ HANDLE hFileMappingObject
+ DWORD dwFileOffsetHigh
+ DWORD dwFileOffsetLow
— DWORD dwReserved
— BOOL bResume
— LPOVERLAPPED lpOverLapped
— HANDLE hThread
— DWORD IDThread
49. Прототип функции MapViewOfFileЕх, отображающий файл в адресное пространства с некоторого заданного виртуального адреса:
+ HANDLE hFileMappingObject
— DWORD dwReserved
+ DWORD DesireAccess
+ LPVOID lpBaseAddress
— BOOL bResume
— LPOVERLAPPED lpOverLapped
— HANDLE hThread
— DWORD IDThread
50. Механизм отображения файлов в память:
— узнать какой поток ее вызывает
+ файл отображен несколькими процессами
— хранить указатели на захваченную память
— запускать приложение
+ когерентность отображений
+ обмен данными между процессами
— открыть файл приложения
— создать файл загрузки
51. Функции файла stdio.h языка программирования С, создающие стандартную библиотеку ввода-вывода:
— stdout— файл ввода
— stlib —файлы библиотеки
+ stdin — стандартный файл ввода
— tanh —математикалыќ шамаларды шыєаратын файл
+ stdout — стандартный файл вывода
— strcmp —функция сравнения
+ stderr —файл вывода сообщения об ошибке
— main— программаны орындауды бастайтын файл
52. Прототип функции DllMain:
+ HINSTANCE
+ DWORD
+ LPVOID
— HMODULE
— LPCTSTR
— HANDLE
— DWORD
— LPCSTR
53. Параметр fdwReason может иметь одно из следующих значений, которое
указывает на причину, по которой операционная система вызывает
функцию DllMain:
— dont_resolve_dll_references
— load_library_as_datafile
— load_with_altered_search_path
+ dll_process_attach
+ dll_thread_attach
+ dll_process_detach
— case dll_process_attach
— dwPrewTlsIndex= dwFirstTlsIndex
54. Прототип функции LoadLibraryEx, для загрузки динамически подключаемых библиотек:
+ LPCTSTR
+ HANDLE
+ DWORD
— HINSTANCE
— DWORD_В
— LPVOID
— HMODULE
— LPCSTR
55. Значения параметра dwFiags, задающий флаги управления загрузкой модуля:
+ dont_resolve_dll_references
+ load_library_as_datafile
+ load_with_altered_search_path
— dll_process_attach
— dll_thread_attach
— dll_process_detach
— case dll_process_attach
— dwPrewTlsIndex= dwFirstTlsIndex
56. Действия необходимые для статической загрузки DLL:
— создать файл
+ поместить библиотеку и файл в каталог
— хранить указатели на захваченную память
— запускать приложение
— узнать какой поток ее вызывает
+ ввести имя используемой библиотеки импорта
— сопоставить каждому потоку свой указатель
+ описать импортируемые из DLL имена в приложении
57. Задачи динамической локальной памяти потока:
— создать DLL
— поместить библиотеку в каталог
+ хранить указатели на захваченную память
— поместить файл импорта этой библиотеки в каталог
+ узнать какой поток ее вызывает
— ввести имя используемой библиотеки импорта
+ сопоставить каждому потоку свой указатель
— описать импортируемые из DLL имена в приложении
58. Порядок работы с локальной памятью потока:
+ распределение указателя
— сохранить указатель
— использовать указатель
+ работа с указателем
+ освобождение указателя
— завершение функции
— возвращает значение
— запись значения
59. Динамические подключаемые библиотеки предназначены___________:
+ для разработки функционально-замкнутых библиотек функций
+ для снижения затрат на разработку ПО
— для открытия файла, который будет отображаться в динамической памяти
— для загрузки в адресное пространство процесса
— для завершения нового потока в процессе
— для сохранения файла и каталога
+ для уменьшения физической памяти
— для перехода в адресную строку
60. Функция для работы локальной памятью потока:
+ TlsAlloc
— LpBuffer
+ TlsSetValue
+ TlsGetValue
— CompletionKey
— ReadFile
— NumberOfBytes
— lpAttributes
61. Параметры функции CreateFileMapping (создание объекта отображающий файл в память):
— lpBuffer
— numberOfBytes
— completionKey
+ flProtect
— readFile
+ lpAttributes
— waitCommEvent
+ hFile
62. Распределение локальной памяти потока в DLL:
+ case DLL_PROCESS_ATTACH
— dwPrewTlsIndex= dwFirstTlsIndex
— dwPrewTlsIndex= dwNextTlsIndex
+ dwlsIndex=TlsAlloc(); If (dwlsIndex ==-1)
+ break;
— return 0;
— dDll=LoadLibrary;
— returnGetLastError();
63. Статическая локальная память:
— оповещает параллельные потоки
+ использует спецификатор памяти declspec(thread)
+ определяет локальные переменные
— устанавливает соединения между потоками данных
— принимает записи
— содержит очередь пакетов
— обслуживает очередь пакетов
+ создает отдельный переменной
64. Значения аргумента dwCreationDisposition для создания файла:
— CREATE_FILE
— CREATE_THREAD
+ CREATE_NEW
— OPEN
+ CREATE_ALWAYS
— CREATE
+ OPEN_ALWAYS
— CREATE_NEWFILE
65. Параметры функции для асинхронной записи данных в файл WriteFileEx:
+ lpBuffer
— numberOfBytes
— completionKey
— devceIoControl
— readFile
+ lpOverLapped
— waitCommEvent
+ hFile
66. Прототип функции UnlockFileEx для асинхронной отмены блокировки области файла:
— LONG lPeriod
+ HANDLE hFile
— HANDLE hTimer
+ DWORD dwReserved
— BOOL bResume
+ LPOVERLAPPED lpOverLapped
— HANDLE hThread
— DWORD IDThread
67. Функции, инициирующие посылку пакетов в порт завершения ввода-вывода:
— CreateIoCompletionPort
— NumberOfBytes
— CompletionKey
+ DevceIoControl
+ ReadFile
— NumberOfConcurrentThreads
+ WaitCommEvent
— hFile
68. Функции, инициирующие посылку пакетов в порт завершения ввода-вывода:
— CreateIoCompletionPort
— NumberOfBytes
— CompletionKey
+ ConnectNamedPipe
+ LockFileEx
— NumberOfConcurrentThreads
+ TransactNamedFile
— hFile
69. Порт завершения ввода-вывода:
+ объект синхронизации
— динамическая библиотека
+ оповещает параллельные потоки
— устанавливает соединения
— принимает записи
+ содержит очередь пакетов
— обслуживает очередь пакетов
— создает параллельные потоки
70. Параметры процедуры ввода-вывода:
— lpBuffer
+ dwErrorCode
— lpCompletionRoutine
— dwError
+ dwNumberOfBytesTrnsferred
— dwRet
— hFile
+ lpOverLapped
71. Механизм структурной обработки исключений:
+ не допускается использование оператора goto
— допускается использование оператора goto
+ допускается использование функций GetExeptionCode
— допускается использование оператора throw
— не допускается использование функций GetExeptionCode
— не допускается использование оператора throw
+ допускается использование функций GetExeptionInformation
— не допускается использование функций GetExeptionInformation
72. Заголовок файла об обработке исключений:
— string.h
+ windows.h
— stdio.h
— lm.h
— sddl.h
+ iostream.h
+ float.h
— math.h
73. Прототип обработки исключений с плавающей точкой:
— unsigned typedef void
+ unsigned int _controlfp()
— _se_translator_function
— void se_trans_func
+ unsigned int new
— unsigned int
+ unsigned int mask
— unsigned code
74. Блок исключений:
+ _try
— _search
+ _except
— _controlfp
+ _finally
— _exception
— _handle
— _function
75. Блок исключений:
+ _try
— _search
+ _except
— _controlfp
+ _leave
— _exception
— _handle
— _function
76. Параметры функции RaiseException:
+ lpNewFileName
— dwExceptionFlag
— setHandleInformation
+ nNumberOfArguments
+ lpArguments
— hReadPipe
— write_File
— delete_File
77. Значения параметра new для управления исключениями:
+ _EM_DENORMAL
— _EM_FUNCTION
— _EM_TRANSLATION
+ _EM_OVERFLOW
— _EM_BYZERO
— _EM_FLOAT
— _EM_WORD
+ _EM_ZERODIVIDE
78. Функция-транслятор___________:
+ преобразовывает исключения
— реализует исключения
+ использует инструкцию throw языка С++
— возвращает начальные значения
— завершает выполнение блока
— начинает раскрутку стека
+ описывается в заголовочном файле eh.h
— использует функцию _leave
79. Элементы безопасности объектов Win32:
— создает маркер доступа
+ поддержка защищенных каналов
— разрешает доступ к каналу
— создает аудит доступа к объекту
+ поддержка интеллектуальных карточек
— изменяет информацию безопасности
+ встроенная поддержка функций АРI
— следит за изменениями потока
80. Функции интеллектуальных карточек:
— поддержка защищенных каналов
+ аутентификация пользователей
+ проведение финансовых операции
— разрешает доступ к каналу
— создает аудит доступа к объекту
— изменяет информацию безопасности
— встроенная поддержка функций АРI
+ хранение информации о человеке
81. Режимы доступа к объектам:
+ R, W;
— RA
+ WA;
— СA
— WR
+ WC;
— RW
— CW
82. Модели управления в дискреционной модели безопасности:
+ иерархическое управление
— дистанционное управление
— сетевое управление
+ либеральное управление
— доступное управление
+ централизованное управление
— серверное управление
— древовидное управление
83. Основные функции списка управления доступами:
+ создается владельцем объекта
— создается сервером
— запрещает доступ к объекту
— создается операционной системой
+ открывает требуемый доступ к объекту
+ хранится в виде списка
— ограничивает код доступа
— используется сервером
84. Идентификатор безопасности (Security Identifier):
+ создается операционной системой
— создается сервером
— хранится в оперативной памяти
+ хранится в базе данных SAM
— хранится в логической памяти
— представляет учетную запись
+ бинарное представление учетной записи
— создает учетную запись
85. Символы обозначающие идентификатор безопасности:
— A
+ S
+ R
+ I
— T
— F
— L
— M
86. Дескрипторы безопасности, известные на платформах Windows:
— R -1-5-1
+ S-1-5-1
— R -1-5-5
— S -1-5-17
+ S -1-5-10
— I-1-5-16
+ S -1-5-18
— S-1-5-20
87. Главное отличие привилегий от прав доступа ___________:
— права доступа ограничивает доступ субъекта к объектам
— никаких отличии привилегий от прав доступа
+ правами доступа к объекту управляет владелец этого объекта
+ привилегии касаются субъектов, а не охраняемых объектов системы
— привилегии назначаются по умолчанию в операционных системах Windows
— привилегии касаются охраняемых объектов системы
+ привилегии назначаются субъектам администратором системы
— права доступа выполнить некоторое действие по отношению объектам системы
88. Информация сохраненная в маркере доступа:
— SID учетной записи пользователя
+ идентификатор безопасности текущей сессии (logon session)
— каждое сообщение содержит информацию о субъекте
— статистическая информация о маркере доступа
+ содержит информацию о субъекте, который выполнил действие
— хранятся учетные записи пользователей и групп
+ данные, определяющие политику безопасности на локальной машине
— базу данных учетных записей
89. Уровни безопасности потока-сервера для обработки запросов потока-клиента:
+ Security Anonymous level
+ Security Identification level
+ Security Impersonation level
— Security Delegation
— Security Reference Monitor
— Security Account Manager
— Security Accounts Database
— Security_attributes
90. Уровни безопасности потока-сервера для обработки запросов потока-клиента:
+ Object Open
— ObjectType
+ Object Deleted
— Object_inherit
— pObjectName
+ Object Open for Delete
— se_file_object
— ObjectSecurity
91. Виды связей между процессами-отправителями и адресатами:
— между собой связаны три процесса
+ между собой связаны только два процесса
— между собой связаны четыре процесса
— один процесс связан с N-1 процессами
— один процесс связан с N+1 процессами
+ один процесс связан с N процессами
— нет связи между процессами
+ каждый из N процессов связан с одним процессом
92. Топология связей между процессами:
— между собой связаны три процесса
— между собой связаны четыре процесса
+ между собой связаны только два процесса
— один процесс связан с N-1 процессами
+ один процесс связан с N процессами
— один процесс связан с N+1 процессами
— нет связи между процессами
+ каждый из N процессов связан с одним процессом
93. Тип вместимости связи между процессами (буферизации):
— ограниченная связь
— открытый тип вместимости связи
+ нулевая вместимость связи
— закрытая вместимость связи
+ ограниченная вместимость связи
+ неограниченная вместимость связи
— каждый из процессов связан с одним процессом
— первичный вместимость связи
94. Размер значения именованного канала, посылающий сообщение к серверу:
+ нулевая вместимость связи
— каждый из процессов связан с одним процессом
— первичный вместимость связи
— закрытая вместимость связи
— параллельная связь вместимости
+ неограниченная вместимость связи
— каждый из N процессов связан с одним процессом
+ ограниченная вместимость связи
95. Анонимные каналы:
+ не имеют имени
— имеют названия
+ полудуплексные
— дуплексные
+ передают данные потоком
— не передает данные
— устанавливают связи
— доступны
96. Функции соединения клиентов анонимными каналами:
— CreatePipe
+ DuplicateHandle
— WriteFile
— hWritePipe
— hReadPipe
+ SetHandleInformation
— ReadFile
+ CreateProcess
97. Способы передачи наследуемого дескриптора процессу-клиенту анонимного канала:
+ через командную строку
— синхронный обмен
+ через файл
— топологическая связь
— основе wm_copydata
— с помощью сервер
— через канал
+ посредством сообщения wm_copydata
98. Функции описанные в файле stdio.h, обеспечивают ввод-вывод в стандартные файлы:
— printf
+ stdin
+ stdout
— scanf
— stdopen
+ stderr
— stdcreate
— cin
99. Прототип именованных каналов:
— stdin
+ lpName
+ dwOpenMode
— scanf
— stdout
+ dwPipeMode
— stdcreate
— cin
100. Флаги, для определения направления передачи данных:
+ pipe_access_duplex
— pipe_name
— nOutBufferSize
— nDefaultTimeOut
+ pipe_access_inbound
+ pipe_access_outbound
— dwOpenMode
— dwPipeMode
Комментарии:
Добавить комментарий
Областное государственное бюджетное профессиональное образовательное учреждение
«Смоленская областная технологическая академия»
КОНТРОЛЬНО-ОЦЕНОЧНЫЕ СРЕДСТВА
ПМ.01 «РАЗРАБОТКА ПРОГРАММНЫХ МОДУЛЕЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ КОМПЬЮТЕРНЫХ СИСТЕМ»
программ подготовки специалистов среднего звена
09.02.03 Программирование в компьютерных системах
(базовый уровень)
Смоленск
2019
РАССМОТРЕН и ОДОБРЕН
на заседании цикловой методической комиссии
электрорадиотехнических дисциплин
Протокол №______ от « ___»__________20_г.
Председатель ЦМК _________________/В.С. Куликов/
УТВЕРЖДАЮ
Заместитель директора по учебной работе
___________________/________________/
«___» __________ 20__г .
Разработчик: Куликов Виталий Сергеевич, преподаватель
СОДЕРЖАНИЕ
1 Паспорт комплекса оценочных средств………………………………………. |
4 |
2 Спецификация оценочных средств……………………………………………. |
11 |
3 Комплекты вариантов оценочных средств……………………………………. |
20 |
ПАСПОРТ
комплекса оценочных средств
по ПМ.01 «РАЗРАБОТКА ПРОГРАММНЫХ МОДУЛЕЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ КОМПЬЮТЕРНЫХ СИСТЕМ»
программы подготовки специалистов среднего звена
по специальности 09.02.03 Программирование в компьютерных системах
СОДЕРЖАНИЕ
1 Назначение комплекса оценочных средств (КОС)…………………………… |
6 |
2 Перечень основных показателей оценки результатов, элементов знаний и умений, подлежащих текущему контролю и промежуточной аттестации…… |
6 |
3 Распределение основных показателей оценки результатов по видам аттестации………………………………………………………………………… |
8 |
4 Содержательно-компетентностные матрицы оценочных средств………….. |
9 |
5 Структура банка КОС для текущей контроля и промежуточной аттестации…………………………………………………………………………. |
10 |
1 Назначение комплекса оценочных средств (КОС)
Комплекс оценочных средств (КОС) предназначен для контроля и оценки образовательных достижений обучающихся при освоении программы МДК 01.01 «Системное программирование»
КОС включает контрольные материалы для проведения текущего контроля и промежуточной аттестации в форме экзамена.
КОС разработаны на основании положений:
ФГОС СПО по специальности 09.02.03 Программирование в компьютерных системах
программ подготовки специалистов среднего звена по специальности
09.02.03 Программирование в компьютерных системах
рабочей программы МДК 01.01 Системное программирование
2 Перечень основных показателей оценки результатов, элементов знаний и умений, подлежащих текущему контролю и промежуточной аттестации
Результаты (освоенные профессиональные компетенции) |
Основные показатели оценки результата |
Формы и методы контроля и оценки |
ПК1.1 Выполнять разработку спецификаций отдельных компонент. |
Разрабатывают спецификаций компонентов в соответствии с правилами создания спецификации. |
Экзамен (квалификационный). Дифференцированный зачет. Оценка защиты курсового проекта. Наблюдение за действиями на практике. Оценка защиты лабораторных работ. Тестовый контроль. |
Разрабатывают код программного продукта на основе готовой спецификации на уровне модуля в соответствии со справочной системой программной среды разработки. |
||
Применяют инструментальные средства автоматизации оформления документации в соответствии с правилами справочной системы инструментальных средств разработки. |
||
Тестируют программный продукт на уровне модулей в соответствии с методикой тестирования |
||
Составляют техническое задание для разрабатываемого программного продукта в соответствии с требованиями ГОСТ 19.201-78. |
||
ПК 1.2 Осуществлять разработку кода программного продукта на основе спецификаций на уровне модуля. |
Выбирают и применяют утилиты автоматизированного проектирования, отладки и тестирования программных модулей в соответствии с правилами справочной системы среды программирования. |
Экзамен (квалификационный). Дифференцированный зачет. Оценка защиты курсового проекта. Наблюдение за действиями на практике. Оценка защиты лабораторных работ. Тестовый контроль. |
Разрабатывают код программного модуля на современных языках программирования в соответствии с правилами справочной системы используемой среды программирования. |
||
Разрабатывают программу по разработанному алгоритму как отдельного модуля в соответствии с правилами справочной системы используемой среды программирования. |
||
Модифицируют программные продукты в инструментальной среде в соответствии с правилами справочной системы среды программирования. |
||
Выбирают инструментальные средства на этапе отладки программного продуктов соответствии с методикой отладки. |
||
ПК 1.3 Выполнять отладку программных модулей с использованием специализированных программных средств. |
Выполняют отладку программного продукта в соответствии с методикой отладки. |
Экзамен (квалификационный). Дифференцированный зачет. Оценка защиты курсового проекта. Наблюдение за действиями на практике. Оценка защиты лабораторных работ. |
Выполняют отладку программ на уровне модулей в соответствии с методикой отладки. |
||
Используют специализированный отладчик в соответствии с правилами справочной системы среды программирования. |
||
Применяют приемы программирования, встраивающие отладку в программный код в соответствии с правилами справочной системы среды программирования.. |
||
Выбирают принципы отладки и тестирования программных продуктов в соответствии с правилами справочной системы среды программирования. |
||
ПК 1.4 Выполнять тестирование программных модулей. |
Выполняют отладку и тестирование программы на уровне модуля в соответствии с правилами справочной системы среды программирования. |
Экзамен (квалификационный). Дифференцированный зачет. Оценка защиты курсового проекта. Наблюдение за действиями на практике. Оценка защиты лабораторных работ. Тестовый контроль. |
Проводят тестирование программного модуля по определенному сценарию в соответствии с правилами справочной системы среды программирования. |
||
Обосновывать внесение изменений в программу для защиты информации в соответствии с методикой защиты. |
||
Используют аппаратные средства защиты в соответствии с правилами их применения. |
||
Используют программные средства защиты в соответствии с правилами их применения. |
||
Обнаруживают и локализуют ошибки программного продукта в соответствии с правилами справочной системы среды программирования. |
||
ПК 1.5 Осуществлять оптимизацию программного кода модуля. |
Оптимизируют программный код модуля в соответствии с правилами справочной системы среды программирования. |
Экзамен (квалификационный). Дифференцированный зачет. Оценка защиты курсового проекта. Наблюдение за действиями на практике. Оценка защиты лабораторных работ. Тестовый контроль. |
Выбирают методы и средства разработки проектной и технической документации с использованием графических языков спецификации в соответствии с правилами справочной системы графических языков. |
||
ПК 1.6 Разрабатывать компоненты проектной и технической документации с использованием графических языков спецификации. |
Оформляют документацию на программные средства в соответствии с требованиями единой системы программной документации. |
Экзамен (квалификационный). Оценка защиты курсового проекта. Наблюдение за действиями на практике. Оценка защиты лабораторных работ. |
Используют инструментальные средства автоматизации оформления документации в соответствии с правилами справочной системы инструментальных средств разработки. |
||
Разрабатывают программную и сопровождаемую документацию в соответствии с требованиями единой системы программной документации. |
3 Распределение основных показателей оценки результатов по видам аттестации
Код и наименование элемента умений или знаний[1] |
Виды аттестации |
|
Текущий контроль |
Промежуточная аттестация |
|
У1 Осуществлять разработку кода программного модуля на современных языках программирования |
+ |
|
У2 Создавать программу по разработанному алгоритму как отдельный модуль |
+ |
|
У3 Выполнять отладку и тестирование программы на уровне модуля |
+ |
|
У4 Оформлять документацию на программные средства |
+ |
+ |
У5 Использовать инструментальные средства для автоматизации оформления документации |
+ |
+ |
З1 Основные этапы разработки программного обеспечения |
+ |
+ |
З2 Основные принципы технологии структурного и объектно-ориентированного программирования |
+ |
+ |
З3 Основные принципы отладки и тестирования программных продуктов |
+ |
+ |
З4 Методы и средства разработки технической документации |
+ |
+ |
4 Содержательно-компетентностная матрица оценочных средств
Содержание учебного материала по программе УД |
Текущий контроль |
Промежуточная аттестация |
||
Проверяемые У, З, ОК, ПК |
Код оценочного средства |
Проверяемые У, З, ОК |
Код оценочного средства |
|
Системное программирование |
У 2,4,5, З 1,2,3,4 ОК1-10 ПК1.1-1.6 |
9 |
||
Раздел 1 Современные системы программирования |
У1-5 З 1-4 ОК1-10 ПК 1.1-1.2 |
10 |
||
Раздел 2 Машинно-ориентированная система программирования Ассемблер. Использование транслятора Turbo Assembler при разработке программ |
У1-5 З 1-4 ОК1-10 ПК 1.3-1.4 |
10 |
||
Раздел 3 Разработка, отладка и тестирование программ для многозадачных операционных системы (ОС) на примере OC Windows |
У1-5 З 1-4 ОК1-10 ПК 1.5-1.6 |
10 |
5 Структура банка КОС для текущего контроля и промежуточной аттестации
Код оценочного средства |
Тип оценочного средства |
Количество оценочных средств |
Ориентировочное время выполнения одного оценочного средства, час |
Общее время выполнения, час |
10 |
Практическое задание |
20 |
1 ч |
20 ч |
Промежуточная аттестация |
||||
9 |
Экзаменационное задание |
25 |
0,75 ч |
6 ч |
Всего |
26 ч |
СПЕЦИФИКАЦИЯ
оценочных средств
по МДК 01.01
«СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ»
программ подготовки специалистов среднего звена
по специальности 09.02.03 Программирование в компьютерных системах
Спецификация экзаменационного задания
1 Назначение
Спецификацией устанавливаются требования к содержанию и оформлению вариантов оценочного средства.
Экзаменационное задание входит в состав комплекса оценочных средств
и предназначено для промежуточной аттестации и оценки знаний и умений аттестуемых, соответствующих основным показателям оценки результатов подготовки по программе МДК 01.01 «Системное программирование» программы подготовки специалистов среднего звена по специальности 09.02.03 Программирование в компьютерных системах
2 Контингент аттестуемых обучающиеся ОГБПОУ СОТА
3 Условия аттестации: аттестация проводится в форме устного экзамена по завершении освоения учебного материала учебной дисциплины при положительных результатах текущего контроля.
4 Время контроля:
подготовка 30 мин.;
оформление и сдача 15 мин.;
всего 45 мин.
5. План варианта экзаменационного задания (соотношение контрольных задач/вопросов с содержанием учебного материала в контексте характера действий аттестуемых)
Содержание учебного материала по программе УД |
Коды ОПОР / литера категории действия/ количество контрольных задач/вопросов в билете |
Общее количество задач/вопросов по категориям действий |
||||||
ПК 1.1 – 1.2 |
ПК 1.3 – 1.4 |
ПК 1.5 – 1.6 |
||||||
В |
П |
А |
С |
О |
||||
Раздел 1 Современные системы программирования |
П1 |
1 |
||||||
Раздел 2 Машинно-ориентированная система программирования Ассемблер. Использование транслятора Turbo Assembler при разработке программ |
П1 |
C1 |
1 |
1 |
||||
Раздел 3 Разработка, отладка и тестирование программ для многозадачных операционных системы (ОС) на примере OC Windows |
А1 |
О1 |
1 |
1 |
||||
Всего |
5 |
2 |
1 |
1 |
1 |
6 Структура варианта экзаменационного задания
Основная задача: оценка знаний и умений аттестуемых, соответствующих основным показателям оценки результатов подготовки по программе учебной дисциплины
Краткая характеристика: Экзаменационное задание является комплексным, т.к. включает практическую и теоретическую части, объединенные логически. Теоретическая часть требует развернутого ответа, практическая часть выполняется на макете или с использованием прикладных средств моделирования.
Экзаменационный билет
- Теоретический вопрос
- Разработка программы на Assembler
- Разработка программы на Borland C++ Builder
7 Система оценки решения задач, ответов на вопросы, выполнения заданий
% результативности (правильных ответов) |
Качественная оценка уровня подготовки |
|
Отметка |
Вербальный аналог |
|
90 ÷ 100 |
5 |
отлично |
80 ÷ 89 |
4 |
хорошо |
70 ÷ 79 |
3 |
удовлетворительно |
менее 70 |
2 |
неудовлетворительно |
8 Трудоемкость
Трудоемкость выполнения/решения, мин (час) |
Количество задач |
||
1 |
2 |
3 |
|
Одной (го) задачи/вопроса |
10 |
10 |
10 |
30 мин. |
9 Перечень используемых нормативных документов
ФГОС СПО по специальности 09.02.03 Программирование в компьютерных системах
Рабочая программа ПМ.01
Устав ОГБПОУ СОТА
ППССЗ по специальности 09.02.03 Программирование в компьютерных системах
Положение о текущем контроле знаний и промежуточной аттестации обучающихся ОГБПОУ СОТА
10 Рекомендуемая литература для разработки оценочных средств и подготовки обучающихся к аттестации
Основные источники:
- Канцедал С.А. Программирование на языках высокого уровня М.: ИТ Форум: ИНФРА – М, 2017
- Партыка Т. Л., Попов И. И. Операционные системы, среды и оболочки. 2-е издание. Стереотип М.: Форум, 2015
Дополнительные источники:
- Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение Спб.: Питер, 2009. – 624 с.
- Компьютерные сети. Учеб.пособие// Максимов Н. В., Попов И. И. 4-е издание, испр. И доп. – М.: Форум, 2010. 464 с.
- Компьютерные сети. Учеб.пособие// Кузин А. В.,Демин В. М. – 2-е издание – М.: Форум, 2010. 192 с.
- Сетевые операционные системы / В. Г. Олифер, Н. А. Олифер. – Спб.: Питер, 2009. – 544 с.
- Бесплатная, виртуальная, электронная, Интернет библиотека www.xserver.ru (дата обращения 13.08.18).
- Журнал Компьютер Пресс: Тестирование. Безопасность: www.compress.ru (дата обращения 13.08.18).
- Компьютерная и техническая документация: www.emanual.ru (дата обращения 13.08.18).
- Образовательный портал: http\www.edu.sety.ru (дата обращения 13.08.18).
11 Перечень материалов, оборудования и информационных источников, используемых в аттестации
- ПК
- ЛВС
- СПО Assembler
- СПО Borland C++ Builder
Спецификация практического задания
- Назначение
Спецификацией устанавливаются требования к содержанию и оформлению вариантов оценочного средства.
Практическое задание входит в состав комплекса оценочных средств и предназначено для текущего контроля и оценки знаний и умений обучающихся, соответствующих основным показателям оценки знаний и умений обучающихся, соответствующих основным показателям оценки результатов подготовки по программе МДК 01.01 «Системное программирование» ППССЗ по специальности 09.02.03 Программирование в компьютерных системах
Контингент аттестуемых: обучающиеся ОГБПОУ СОТА
Условия аттестации: контроль проводится после изучения тем 1-5 учебной дисциплины в форме лабораторной работы.
- Время контроля:
выполнение 1 час
- Структура варианта практического задания
Основная задача: оценка знаний и умений обучающихся, соответствующих основным показателям оценки результатов подготовки по программе учебной дисциплины.
Краткая характеристика
Для реализации личностного потенциала обучающимся предлагаются задания разных уровней.
Задание первого варианта состоит из 1 задачи, выполнение которой является пошаговым действием в достижении результата. Задача данного варианта носит репродуктивный характер.
Задание второго варианта состоит из 1 задачи, в которой указаны исходные данные для выполнения действия и средства выполнения, но отсутствует комментарий к выполнению. Задача данного варианта носит частично-поисковый характер.
Третий вариант включает 1 задачу, в которой указаны исходные данные. Обучающийся должен выбрать средства выполнения, описать алгоритм действий для достижения результата. Задания носят поисковый характер.
Задание
Вариант 1
1. Изучить программную модель микроконтроллера, используя раздел «Теоретическое введение».
2. Изучить инструкцию пользователя симулятора микроконтроллера, используя соответствующий подраздел «Теоретического введения».
3. Изучить команды пересылки. Изучение каждой команды проводить следующим образом:
- Открыть окно «Дисассемблер».
- В пункте меню «Правка» выбрать опцию «Вставка команды».
- В открывшемся окне «Вставить инструкцию» ввести мнемокод соответствующей команды пересылки, описание которой представлено в меню «Справка», и нажать на кнопку ОК. Записать в отчет строку о введенной в окно «Дисассемблер» команде.
- Открыть окна «Процессор», «Регистры», «Дамп памяти данных». Просмотреть содержимое этих окон.
- Выполнить команду пересылки, выбрав в меню «Запуск команды» опцию «Шаг».
- Записать в отчет изменения в окнах «Процессор», «Регистры», «Дамп памяти данных».
- Для повторного выполнения команды в меню «Запуск команды» выбрать опцию «Сброс».
4. Написать и исследовать работу программы пересылки байта из ячейки памяти программ с адресом 71Н в регистр R1 банка 1.
- Функциональная модель микроконтроллера.
- Содержимое регистров и ячеек памяти окон «Процессор», «Регистры», «Дамп памяти данных» до и после выполнения каждой команды пересылки в соответствии с таблицей 1.3.
- Содержимое регистров и ячеек памяти окон «Процессор», «Регистры», «Дамп памяти данных» и памяти программ до и после выполнения каждой команды разработанной программы в соответствии с таблицей 1.4.
Таблица 1 — Результаты выполнения команд
№ |
Команда |
Код |
Выполняемая |
Содержимое используемых регистров и ячеек памяти до и после выполнения |
Пояснение |
|
До |
После |
|||||
1 |
MOV A,R0 |
Е8 |
Пересылка байта данных из регистра R0 в аккумулятор A |
А/00 РС/00 PSW/00 |
A/F2 РС/01 PSW/01 |
|
2 |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
… |
Вариант 2
- Исследовать команды записи в стек и считывания из стека: PUSH P1; PUSH 01; PUSH PSW; POP PSW; POP 01; POP P1.
- Исследовать команды входа и выхода из подпрограмм.
- Написать и исследовать работу подпрограммы возведения в квадрат числа в аккумуляторе.
- Написать и исследовать программу опроса содержимого двух младших разрядов порта Р1 и перехода в зависимости от их состояния к одной из четырех подпрограмм, начальные адреса которых находятся в ячейках 21Н, 25Н, 3AН и 2FН.
1. Загрузить последовательность команд: MOV P1, #3FH; MOV R1, #C3H; MOV A, R1; PUSH P1; PUSH 01; PUSH PSW; SETB RS1; MOV P1, #1H; MOV 01H, #02H; POP PSW; POP 01; POP P1.
2. Выполнить последовательность команд в пошаговом режиме.
3. Записать в отчет в соответствии с таблицей 2.2 выполняемые команды и содержимое изменяемых регистров и ячеек памяти.
4. Загрузить, начиная с адреса 0000, последовательность команд: ACALL 05; LJMP 20; NOP; NOP; NOP; RET.
5. Выполнить программу, состоящую из данной последовательности команд в пошаговом режиме.
6. Записать в отчет в соответствии с таблицей 2.2 выполняемые команды и содержимое изменяемых регистров и ячеек памяти.
7. Разработать и ввести подпрограмму возведения в квадрат числа с использованием команды MUL AB. Для обращения к подпрограмме использовать команду ACALL.
8. Убедиться в работоспособности подпрограммы.
9. Записать в отчет в соответствии с таблицей 2.2 выполняемые команды и содержимое изменяемых регистров. Определить время выполнения подпрограммы.
10. Разработать программу опроса содержимого двух младших разрядов порта Р1 и перехода в зависимости от их состояния к одной из четырех подпрограмм, начальные адреса которых находятся в ячейках 21Н, 25Н, 3AН и 2FН
11. Задавая в порт различные кодовые комбинации в используемых разрядах, проверить работоспособность программы.
Таблица 2 — Результаты выполнения команд
№ |
Команда |
Код |
Выполняемая |
Содержимое регистров и памяти до и после выполнения |
Пояснение |
|
До |
После |
|||||
1 |
MOV A,R0 |
Е8 |
Пересылка байта данных из регистра R0 |
А/00 R0/F2 0000/F2 |
A/F2 R0/F2 0000/F2 |
|
2 |
… |
… |
… |
… |
… |
… |
Вариант 3
1. Разработать и ввести в окно «Дисассемблер» программу сложения двух произвольно выбранных однобайтовых чисел.
2. Осуществляя запуск программы в режиме «Шаг», убедиться в правильности ее выполнения, используя окна «Дисассемблер». «Процессор», «Регистры». Результаты наблюдений свести в табл.3.3. Определить время выполнения программы.
3. Разработать и ввести в окно «Дисассемблер» программу умножения двух произвольно выбранных однобайтовых чисел.
4. Осуществляя запуск программы в режиме «Шаг», убедиться в правильности ее выполнения, используя окна «Дисассемблер». «Процессор», «Регистры». Обратить внимание на формируемые флаги. Результаты наблюдений свести в таблице 3.3. Определить время выполнения программы.
Таблица 3 — Результаты выполнения команд
№ |
Команда |
Код |
Выполняемая |
Содержимое регистров и памяти до и после выполнения |
Пояснение |
|
До |
После |
|||||
1 |
MOV A,R0 |
Е8 |
Пересылка байта данных из регистра R0 |
А/00 R0/F2 0000/F2 |
A/F2 R0/F2 0000/F2 |
|
2 |
… |
… |
… |
… |
… |
… |
5. Разработать и ввести в окно «Дисассемблер» программу деления произвольно выбранных однобайтовых чисел.
6. Осуществляя запуск программы в режиме «Шаг», убедиться в правильности ее выполнения, используя окна «Дисассемблер». «Процессор», «Регистры». Результаты наблюдений свести в таблицу. Определить время выполнения программы.
7. Исследовать команды сдвига вправо и влево. Результаты наблюдений свести в таблицу.
8. Загрузить из каталога Examples программу «Временная задержка.txt».
9. Используя меню 3апуск, установить точку останова программы на команде с адресом 0007.
10. Запустить программу в непрерывном режиме (опция Запуск).
11. В окне «Процессор» считать информацию о времени выполнения и числе циклов исполняемой программы.
12. Используя длительности исполнения команд программы, рассчитать время исполнения программы.
13. Ввести изменения в исполняемой программе для получения временной задержки, заданной преподавателем.
14. Запустить модернизированную программу и определить время ее выполнения в соответствии с п.п. 8 – 10. Сравнить полученные данные с расчетным значением.
- Система оценки знаний
Отлично: выполнен вариант 3. Ошибки отсутствуют (допущена незначительная ошибка).
Хорошо: выполнен вариант 3, допущено не более 3-х неточностей/ошибок; выполнен вариант 2, ошибки отсутствуют (допущены незначительные недочеты/ошибки, но не более 3-х).
Удовлетворительно: выполнен вариант 3, допущено 4-5 неточностей/ошибок; выполнен вариант 2, допущено не более 4 неточностей/ошибок; выполнен вариант 1, ошибки отсутствуют (допущено не более 3-х неточностей/ошибок).
Неудовлетворительно: допущено большее количество ошибок; задания выполнены частично или не выполнены.
- Трудоемкость
Вариант (для всех вариантов)
Трудоемкость выполнения/решения, мин (час) |
Количество задач, вопросов |
1 |
|
Одной задачи |
60мин |
Всего задания |
60 мин |
- Перечень используемых нормативных документов
ФГОС СПО по специальности 09.02.03 Программирование в компьютерных системах
Рабочая программа МДК 01.01 «Системное программирование»
Устав ОГБПОУ СОТА
ППССЗ по специальности 09.02.03 Программирование в компьютерных системах
Положение о текущем контроле знаний и промежуточной аттестации обучающихся ОГБПОУ СОТА
- Рекомендуемая литература для разработки оценочных средств и подготовки обучающихся к аттестации
Основные источники:
- Канцедал С.А. Программирование на языках высокого уровня М.: ИТ Форум: ИНФРА – М, 2017
- Партыка Т. Л., Попов И. И. Операционные системы, среды и оболочки. 2-е издание. Стереотип М.: Форум, 2015
Дополнительные источники:
- Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение Спб.: Питер, 2009. – 624 с.
- Компьютерные сети. Учеб.пособие// Максимов Н. В., Попов И. И. 4-е издание, испр. И доп. – М.: Форум, 2010. 464 с.
- Компьютерные сети. Учеб.пособие// Кузин А. В.,Демин В. М. – 2-е издание – М.: Форум, 2010. 192 с.
- Сетевые операционные системы / В. Г. Олифер, Н. А. Олифер. – Спб.: Питер, 2009. – 544 с.
- Бесплатная, виртуальная, электронная, Интернет библиотека www.xserver.ru (дата обращения 13.08.18).
- Журнал Компьютер Пресс: Тестирование. Безопасность: www.compress.ru (дата обращения 13.08.18).
- Компьютерная и техническая документация: www.emanual.ru (дата обращения 13.08.18).
- Образовательный портал: http\www.edu.sety.ru (дата обращения 13.08.18).
- Перечень материалов, оборудования и информационных источников, используемых в аттестации
ПК
ЛВС
СПО Assembler
СПО Borland C++ Builder
КОМПЛЕКТ ЭКЗАМЕНАЦИОННОГО ЗАДАНИЯ
Экзаменационный билет № _1_ |
|
Экзаменационный билет № _2_ |
|
Экзаменационный билет № _3_ |
|
Экзаменационный билет № _4_ |
|
Экзаменационный билет № _5_ |
|
Экзаменационный билет № _6_ |
3. Структурированный тип: Фирма Поля: название фирмы, Ф.И.О. директора, количество сотрудников, адрес, уставной капитал. Функции: Ввод количества фирм с клавиатурыЗаполнение массива структур с клавиатурыПечать массива структур на экране Вычисление среднего уставного капитала Поиск структуры с заданными Ф.И.О. директора. (Borland C++ Builder). |
Экзаменационный билет № _7_ |
Поля: Ф.И.О. абонента, номер телефона, тип соединения (индивидуальный, спаренный, коллективного пользования), адрес владельца Функции: Ввод количества абонентов с клавиатурыЗаполнение массива структур с клавиатуры Печать массива структур на экране Поиск абонента с заданным номером Подсчет количества абонентов с телефоном индивидуального пользования. (Borland C++ Builder). |
Экзаменационный билет № _8_ |
Поля: тип детали (например, видеокарта, процессор и т. п), марка, производитель, цена, срок гарантийного обслуживания Функции:Заполнение массива структур с клавиатуры Печать массива структур на экране Вычисление средней стоимости одного компьютера Поиск комплектующей детали с минимальным гарантийным сроком обслуживания Вывод перечня комплектующих заданного типа. (Borland C++ Builder). |
Экзаменационный билет № _9_ |
Поля: тип, радиус действия, цена одной минуты связи. Функции:Заполнение массива структур с клавиатуры Печать массива структур на экране Вычисление средней стоимости одного часа связи для средств заданного типа Поиск средства связи с максимальным радиусом действия. (Borland C++ Builder). |
Экзаменационный билет № _10_ |
Поля: Название, фирма-производитель, входная цена одной единицы товара, количество, торговая надбавка в процентах Функции: Заполнение массива структур с клавиатуры Печать массива структур на экране Поиск товара с минимальной ценой заданного производителя Вычисление общего количества товаров. (Borland C++ Builder). |
Экзаменационный билет № _11_ |
Поля: Ф.И.О., номер билета, количество книг на руках, дата перерегистрации(число, месяц, год) Функции: Заполнение массива структур с клавиатуры Печать массива структур на экране Поиск читателя с наиболее поздней датой перерегистрации Вычисление общего количества книг на руках. (Borland C++ Builder). |
Экзаменационный билет № _12_ |
Поля: автор, название, год издания, число страниц Функции: Заполнение массива структур с клавиатуры Печать массива структур на экране Подсчет книг заданного автора Поиск книги с наиболее поздним годом издания. (Borland C++ Builder). |
Экзаменационный билет № _13_ |
d7 d6 d5 d4 d3 d2 d1 d0 = d0+2(d1+2(d2+2(d3+2(d4+2(d5+2(d6+2 d7)))))) (Assembler).
Поля: Название фирмы-провайдера, название тарифа, абонентская плата, количество бесплатных минут, входящих в абонентскую плату, стоимость минуты разговора в дневное и вечернее время Функции: Заполнение массива структур с клавиатуры. Печать массива структур на экране Поиск тарифа с максимальной абонентской платой. Подсчет оптимального по цене тарифа с условием, что абонент планирует наговаривать в месяц не более некоторого числа минут, заданного с клавиатуры. (Borland C++ Builder). |
Экзаменационный билет № _14_ |
|
Экзаменационный билет № _15_ |
|
Экзаменационный билет № _16_ |
|
Экзаменационный билет № _17_ |
|
Экзаменационный билет № _18_ |
3. Описать класс прямоугольника с характеристиками a и b – длины сторон, и методами нахождения периметра, площади и диагонали прямоугольника. Решить следующие задачи с использованием описанного класса: имеется прямоугольный участок со сторонами А и В. Определить стоимость работ по установке забора вокруг участка, если установки забора длиной 10 метров требует расходов в N рублей. (Borland C++ Builder). |
Экзаменационный билет № _19_ |
|
Экзаменационный билет № _20_ |
|
Экзаменационный билет № _21_ |
ECS: 100 B8 04 30 05 00 30 СВ Что делает данная программа? (Assembler).
|
Экзаменационный билет № _22_ |
• Пересылка значения 25Н в регистре AL • Сдвиг содержимого регистра AL на 1 бит влево • Пересылка значения 15Н в регистр BL • Умножение содержимого регистра AL на содержимое регистра BL (Assembler).
|
Экзаменационный билет № _23_ |
|
Экзаменационный билет № _24_ |
|
Экзаменационный билет № _25_ |
|
Экзаменационный билет № _26_ |
|
Экзаменационный билет № _27_ |
|
Экзаменационный билет № _28_ |
|
Экзаменационный билет № _29_ |
|
Экзаменационный билет № _30_ |
|
Перечень вопросов по дисциплине «Системное программирование»
1. Понятие системного программного продукта.
2. Стадии разработки программного обеспечения.
3. Технология инкрементального программирования.
4. Понятие объекта: состояние, поведение, методы. Понятие класса и
идентичность объектов.
5. Принципы объектной модели.
6. Проблема создания и уничтожения объектов.
7. Понятие ссылки. Операции над ссылками и способы применения ссылок.
8. Статические и постоянные члены класса. Встраиваемые методы.
9. Дружественные функции.
10.Понятие полиморфизма в программировании. Виды полиморфизма в среде разработки Delphi.
11.Иерархические отношения между классами: композиция.
12.Иерархические отношения между классами: наследование.
13.Виртуальные методы и позднее связывание.
14.Понятие абстрактного класса.
15.Использование потокового ввода-вывода.
16.Порождаемые функции в обобщённом программировании.
17.Порождаемые классы в обобщённом программировании.
18.Использование основных контейнеров стандартной библиотеки.
19.Классы функциональных объектов: создание и применение.
20.Использование алгоритмов стандартной библиотеки.
21.Парадигма защитного программирования.
22.Понятие операционной системы, ее назначение и функции.
23.Утилиты операционной системы GNU/Linux.
24.Понятие файла. Виртуальная файловая система ОС GNU/Linux.
25.Разграничение доступа к файлам. Доступ к устройствам.
26.Организация взаимодействия пользователя с системой.
27.Организация ввода-вывода системного уровня.
28.Концепция процесса. Состояния процесса и диаграмма смены состояний.
Операции над процессами.
29.Планирование процессов. Политики планирования.
30.Сигналы и их использование для управления процессами.
31.Использование времени в программных системах. Часы POSIX. Таймеры.
32.Понятие потока выполнения. Сравнительный анализ потоков и процессов.
33.Асинхронные параллельные потоки.
34.Задача «разделение доступа к ресурсу». Способы ее решения.
35.Задача «синхронизация по готовности данных». Способы ее решения.
36.Системные средства синхронизации потоков.
37.Мониторы Хоара.
38.Проектирование и модели многопоточных приложений.
39.Иерархия памяти. Виртуальная память: концепция и инструменты.
40.Взаимодействие процессов: проблематика и средства. Каналы.
41.Сокеты и их применение для взаимодействия процессов.
42.Проблематика разработки многопоточных приложений.
18
-
История развития
ВТ в связи с историей развития системного
программного обеспечения.
Современные
компьютерные системы наряду с прикладным
ПО всегда содержат системное, которое
обеспечивает организацию вычислительного
процесса. История
системного программного обеспечения
связана с появлением первой развитой
в современном понимании ОС UNIX.
1965
— Bell labs разрабатывает операционную
систему Multix — прообраз UNIX, имеющий далеко
не все части современной системы. До
этого времени не существовало мобильных
ОС (переносимых на разные типы машин) и
Multix
также не был
мобильной ОС.
1971
— написан UNIX
для работы на мощнейшей платформе того
времени PDP
— 11
1977
— Становится переносимой системой, т.к.
переписан на языке C
(AT&T system V)
1981 — платформа
Intel начинает резко наращивать свои
возможности. Колоссальным прорывом
было создание 8088, затем 8086, 80286, etc.
Появляется однопользовательская
ОС MS-DOS, на 10 лет ставшая
стандартом де-факто для пользователей
персональных компьютеров. Но для машин
с процессором Intel появляются
и версии UNIX.
Конец 80 – начало
90 гг. –
аппаратные средства резко увеличивают
свою мощность. Microsoft
создает
новую ОС Windows
NT и появляется
стандарт Win32.
Позже появляется Windows 95 – ОС
для одного рабочего места, но имеющая
многие возможности NT,
призванная вытеснить
MS-DOS. Аппаратные средства позволяют
создавать 64-битные версии такой ОС, как
UNIX, и в скором
времени она появляется и используется
на платформе Alpha
фирмы DEC.
С
наращиванием мощности аппаратных
средств системное программное обеспечение
становится все более изощренным и
имеющим большие возможности.
-
Общая классификация
вычислительных машин. Современные
архитектурные линии ЭВМ. Системное ПО
и его место в современной информатике.
ЭВМ являются
преобразователями информации. В них
исходные данные задачи преобразуются
в результат ее решения. В соответствии
с используемой формой представления
информации машины
делятся на два класса:
непрерывного
действия — аналоговые и дискретного
действия — цифровые.
В силу
универсальности цифровой формы
представления информации цифровые
электронные вычислительные машины
представляют собой наиболее
универсальный
тип устройства обработки информации.
Основные свойства ЭВМ — автоматизация
вычислительного процесса на основе
программного управления, огромная
скорость выполнения арифметических и
логических операций, возможность
хранений большого количества различных
данных, возможность решения широкого
круга математических задач и задач
обработки данных. Особое значение ЭВМ
состоит в том, что впервые с их появлением
человек получил орудие для автоматизации
процессов обработки информации.
Управляющие
ЭВМ –
предназначены для управления объектом
или производственным процессом. Для
связи с объектом их снабжают датчиками.
Непрерывные значения сигналов с датчиков
преобразуются с помощью аналогово-цифровых
преобразователей в цифровые сигналы,
кот. вводятся в ЭВМ в соотв с алгоритмом
упр-я. После анализа сигналов формируются
упр. воздействия, которые с пом.
цифро-аналоговых преобразователей
преобразуются в аналоговые сигналы.
Через исполнительные механизмы изменяется
состояние объекта.
Универсальные ЭВМ
– предназначены для решения большого
круга задач, состав которых при разаработке
ЭВМ не конкретизируется.
Пример современных
архитектурных линий ЭВМ:
персональные ЭВМ (IBM
PC и Apple
Macintosh – совместимые
машины), машины для обработки специфической
информации (графические станции Targa,
Silicon Graphics),
большие ЭВМ (мэйнфреймы IBM,
Cray, ЕС ЭВМ).
Общее назначение
системного ПО
— обеспечивать интерфейс между
программистом или пользователем и
аппаратной частью ЭВМ (операционная
система, программы-оболочки) и выполнять
вспомогательные функции (программы-утилиты)
Современная
операционная система обеспечивает
следующее:
1) Управление
процессором путем передачи управления
программам.
2) Обработка прерываний,
синхронизация доступа к ресурсам.
3) Управление памятью.
4) Управление
устройствами ввода-вывода.
5)
Управление инициализацией программ,
межпрограммные связи.
-
Управление
данными на долговременных носителях
путем поддержки файловой системы.
См.
также стандарты в (1).
-
Общее
понятие архитектуры. Принципы построения
ВС 4-го поколения.
Архитектура –
совокупность технических средств и их
конфигураций, с помощью которых
реализована ЭВМ. ЭВМ 4 поколения, имеет,
как правило, шинную архитектуру, что
означает подключение всех устройств к
одной электрической магистрали, наз.
шиной. Если устройство выставило сигнал
на шину, другие могут его считать. Это
свойство используется для организации
обмена данными. С этой целью шина
разделена на 3 адреса – шина адреса,
шина данных и шина управляющего сигнала.
Все современные ЭВМ также включают
устройство, наз. арбитром шины, которое
определяет очередность занятия ресурсов
шины разными устройствами. В PC
распространены
шины ISA,
EISA, PCI, VLB.
Процессор
Опер.
память
Уст-ва
ввода-вывода
ШИНА
Соседние файлы в папке Экзамен
- #
- #
- #
- #
Системы программирования.
Курс записан со слов Тамары Васильевны РУДЕНКО студентами 2 потока 2 курса 2005 года запуска. За ошибки дорогая редакция ответственности не несёт.
План курса:
1. Системы программирования.
2. Элементы теории трансляции.
3. Язык C++.
Рекомендуемая литература:
C++:
-
Б. Страуструп. ‘Язык C++. Специальное издание’. Бином, 2001.
-
Г. Шилдт. ‘Самоучитель C++’.
-
Ира Пол. ‘ООП на C++’.
-
Стандарт C++. ISO/IEC 14882. (1998)
-
Б. Страуструп. ‘Дизайн и эволюция языка C++’.
-
Г. Буч. ‘Об’ектно-ориентированный анализ и проектирование с примерами приложений на C++’. http://vmk.ugatu.ac.ru/book/buch/index.htm
-
Г. Буч, Д. Рэмбо, А. Джакобсон. ‘Язык UML. Руководство пользователя’. http://povt.zaural.ru/edocs/uml/content.htm
СП:
-
А.Ю. Молчанов. ‘Системное программное обеспечение’, 2003.
-
А.В. Гордеев, А.Ю. Молчанов. ‘Системное программное обеспечение’, 2001.
-
А. Ахо, Р. Сети, Дж. Ульман. ‘Компиляторы. Принципы, технологии, инструменты’.
-
А. Ахо, Дж. Ульман. “Green Dragon”. ‘Теория компиляции’.
-
Волкова И.А., Руденко Т.В. ‘Формальные грамматики и языки. Элементы теории трансляции’. 1999.
Материалы в поддержку лекций и практикума доступны на http://cmcmsu.no-ip.info/
Системы программирования. Вводные понятия.
Система программирования – комплекс программных средств, которые поддерживают весь технологический цикл разработки программного продукта.
Программа – текст на языке программирования, который его автор способен запустить на выполнение на ЭВМ в рамках некоторой конкретной среды, дать входные данные, получить результаты и понять их. Например, мы пишем программы в процессе обучения на ВМК.
Программный продукт – программа, которую пользователь может инсталлировать, задать ей входные данные, сам анализировать результаты, а так же сопровождать её, то есть программный продукт может жить без присутствия автора (отличительное свойство – отчуждаемость). Для этого программа должна быть хорошо документирована, тщательно протестирована, должна быть возможность настройки. Расходы при разработке программного продукта возрастают примерно в три раза относительно разработки программы.
Интегрированный программный продукт – программный продукт, который может быть интегрирован с другими программными продуктами в рамках некоторой программной системы. Интегрированные программные продукты одной системы, как правило, имеют похожий пользовательский интерфейс, средства обмена данными друг с другом. Возникает проблема совместного доступа к ресурсам (процессор, память).
Например, Microsoft Office. Приложения имеют похожие кнопочки и менюшки, могут обмениваться данными с помощью технологии OLE (Object Linking Environment).
При разработке интегрированного программного продукта расходы возрастают ещё в три раза.
Технологический цикл программного продукта.
Технологический цикл (жизненный цикл) – последовательность действий, выполняющихся при разработке программного продукта.
По статистике Standish Group, разработка программ не всегда заканчивается успешно. Было исследовано 300 компаний и 24 тысячи проектов. Только 26% из них были завершены в срок, бюджет не был превышен, вся функциональность была реализована. 46% были завершены не вовремя, бюджет был превышен, функциональность реализована не полностью. 28% проектов вообще не были завершены. Поэтому выбор технологии программирования – очень важная и нетривиальная задача. Он зависит от различных факторов: от специфики проекта, от компании-разработчика и т.д.
Технология программирования – набор рекомендаций по разработке программного продукта, включающий в себя разбиение на этапы, выбор инструментальной поддержки и т.д.
Этапы технологического цикла:
-
анализ требований (требования заказчика уточняются, документируются, хотя бы частично формализуются. Для этого применяется простое текстовое описание, таблица решений, которая содержит условия на входные данные и эффекты на них, а также специальные языки спецификации, например Use case.)
-
проектирование (как правило, используется стратегия divide & conquer, проектирование в большом и в малом. Сначала выявляется структура, потом уточняются элементы структуры. Применяется алгоритмическая или об’ектная декомпозиция. При первой процесс обработки данных разбивается на модули, в рамках каждого из которых выбираются некоторые алгоритмы. При второй предметная область разбивается на активные части – об’екты, которые могут взаимодействовать с другими об’ектами. Применяются диаграммы взаимодействия об’ектов, а также UML – Universal Markup Language.)
-
кодирование (по описанной в спецификации функциональности и интерфейсам кодится модуль/класс)
-
тестирование и отладка (тестирование – запуск программы на некоторых входных данных с целью обнаружить дефект – несоответствие ожидаемого результата и выданного программой. Отладка – обнаружение причины дефекта и её исправление. Различают тестирование методом белого ящика и методом чёрного ящика (когда известен исходный код, или, соответственно, нет). По цели различают функциональное, нагрузочное, стрессовое, регрессионное, адаптивное тестирование.)
-
внедрение (перенос продукта на целевую систему с инструментальной)
-
сопровождение (исправление ошибок, перевод в новую среду, добавление функциональности).
Этапы 1 – 4 относятся к непосредственной разработке продукта. Используют различные модели чередования этапов:
-
каскадная (устар.)
-
каскадно-возвратная (появляется возможность возврата в любой момент)
-
спиральная (итерационная) – сейчас наиболее распространена
Прототипы обладают частичной функциональностью и могут быть показаны заказчику. Достоинством этой модели является возможность на каждой итерации согласовывать требования заказчика со своим видением задачи. Сопровождение продукта при использовании этой модели не требует перестройки работы.
Идеальная система программирования
Идеальная система программирования должна включать в себя некоторые составные части, поддерживающая технологический цикл.
1, 2. Анализ требований и проектирование:
-
средство для создания текстовых материалов и диаграмм
-
контролёр непротиворечивости (например, в таблице решений – неперекрываемость входных данных)
-
браузер, который показывает взаимодействие компонентов системы
-
средства вывода этой информации
-
репозиторий проекта – организованное хранилище всех этих материалов, для него должны быть обеспечены:
-
согласованность изменений (непротиворечивость дополнений по сравнению со старой архитектурой)
-
непротиворечивость
-
санкционированный доступ (разрешение прав группам – проектировщикам, которые могут менять структуру проекта, кодеры могут менять интерфейс об’ектов, которые они описывают, но только в разрешённых пределах)
-
контроль версий (конфигураций) (версии, зависимости, восстановление)
-
3. Кодирование:
-
частичная автоматизация генерации кода (например, генерация кода пользовательского интерфейса)
-
богатые библиотеки алгоритмов/классов (и программа-библиотекарь)
-
синтаксически-ориентированный редактор (хинты, хоткеи, выделение служебных слов, баланс скобок, дописывание идентификаторов)
-
транслятор (компилятор или интерпретатор) – это нечто, что может помочь человеку, написавшему программу на языке высокого уровня, обеспечить её выполнение в рамках некоторой среды
-
редактор связей (линкер) – программа, получающая на вход отдельные файлы с неразрешёнными внешними ссылками и увязывающая отдельные связи
-
макрогенератор
-
загрузчик – программа, обеспечивающая настройку модуля на конкретные адреса оперативной памяти, функции загрузчика в последнее время выполняет не система программирования, а операционная система
4. Тестирование и отладка:
-
отладчик (желательно общение программы с программистом не в терминах адресов, а в терминах программы – переменных, функций, об’ектов, т.е. использование не только адресно-кодового, но и символьного отладчик)
-
генератор тестов (по частично формализованной спецификации)
-
автоматизация прогона (полезно при регрессивном тестировании). По словам ТВ, в Microsoft проги тестируют автоматически по ночам. Я знал, что их пишут не для людей
-
частичная автоматизация обработки результатов прогона
-
анализ тестового покрытия – проверка на соответствие выборки заявленному требованию (например, при тестировании методом белого ящика с проверкой всех операторов программы аналайзер проверит, прошлись ли мы по всем ветвям алгоритма)
Кроме того, идеальная система программирования должна включать также средства управления проектом (как оказывается, ни программисты, ни менеджеры не могут эффективно управлять проектом; как показывает практика, для этого необходим человек, выросший из этого или похожего проекта). Средства системы программирования для управления проектом должны включать в себя:
-
средства заблаговременного планирования работ (составление списка задач, графика работ, распределение ответственности)
-
управление рисками – оценка степени рисков и решение проблем (менеджеры говорят, что проблемы возникают, как правило, не технические, а организационные: нестабильные требования заказчика, низкая вовлечённость высшего руководства, низкое привлечение пользователей)
-
координация и отслеживание плана работ
Также важна для систем программирования поддержка виртуальных групп разработчиков. Понятно, что взаимодействие программистов можно организовать с помощью электронной почты, мгновенных сообщений, форумов, видеоконференций. Но при этом возникают проблемы секретности, совмещения разных средств обмена информацией, архивирования и ведения логов.
Близки к нашей идеальной системе программирования так называемые CASE-средства (Computer Aided Software Engineering). Там подразумевается:
-
наличие репозитория проекта
-
поддержка визуальных методов проектирования (мощные графические средства, язык моделирования и т.д.)
-
средства ведения документации
-
интеграция всех этих средств.
Реальные CASE-средства:
-
Rational Suite – очень дорогая система. Компания Rational предлагает не только инструментальные средства, но и методику использования – Rational Unified Process
-
Rational Rose (анализ и проектирование)
-
Rational Team Test (тестирование)
-
Rational Robot – запоминание переходов в пользовательском интерфейсе
-
ERwin от фирмы Computer Outsource Internal
-
Paradigm Plus от Platinum
-
Oracle Design от угадайте кого
Система программирования C в UNIX:
-
компиляторы
-
редакторы
-
отладчики
-
координатор make – программа, которая по описанию зависимостей между частями проекта и действий по их сборке (нужен более широкий термин!) обеспечивает перекомпиляцию только тех частей проекта, которые это требуют (которые были изменены); непосредственно компиляцией и сопутствующими действиями make не занимается, используя указанные ему средства
-
Source Code Control System (SCCS) – управление доступом и сохранение версий
-
lint анализирует код лучше, чем компилятор, но не создаёт об’ектного модуля
-
manual (man man)
-
форматёры nroof (визуализирует специально размеченный текст) и tbl (перевод в таблицу)
-
lex – генератор лексических анализаторов и yacc – генератор синтаксический анализаторов
ЧАСТЬ I
Системы программирования, поддерживающие об’ектно-ориентированную разработку. Принципы об’ектно-ориентированного программирования.