Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры госы.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
10.34 Mб
Скачать

Основные сведения[править | править вики-текст]

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

Зависимость показывает, что один компонент предоставляет сервис, необходимый другому компоненту. Зависимость изображается стрелкой от интерфейса или порта клиента к импортируемому интерфейсу.[1]

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

Делегация показывается связь внешнего контракта компонента с внутренней реализацией этого поведения внутренними компонентами.[1]

АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ

АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №51

по специальности 5B0704 - Вычислительная техника и программное обеспечение

  1. В одномерном массиве, состоящем из n вещественных элементов, вычислить максимальный элемент массива. Выполнить задание, оформив его в виде функции. Все необходимые данные для функции должны передаваться им в качестве параметров. Продемонстрируйте использование этой функции в программе.

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.lang.management.BufferPoolMXBean;

import java.util.*;

/**

* Created by Asem on 13.05.2015.

*/

public class Gos_ekz {

public static void main(String[] args) {

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

List list = new ArrayList();

Integer l_max_element;

Integer l_elements_num = 0;

try {

l_elements_num = Integer.valueOf(reader.readLine());

} catch (IOException e) {

e.printStackTrace();

}

for (int i = 1; i <= l_elements_num; i++) {

list.add(new Random().nextInt(100));

}

System.out.println("Initial array : ");

System.out.println(Arrays.toString(list.toArray()));

l_max_element = get_max(list);

System.out.println("Max element "+l_max_element);

}

public static Integer get_max(List<Integer> p_list) {

Integer l_result = p_list.get(0);

for (int i = 0; i < p_list.size(); i++) {

if (p_list.get(i) > l_result) {

l_result = p_list.get(i);

}

}

return l_result;

}

}

  1. Напишите программу реализации системной функции WriteConsole

#include <windows.h>

#include <iostream.h>

int main()

{

HANDLE hStdOut; // дескриптор стандартного вывода

CHAR_INFO ci[80*25]; // прямоугольник, из которого будем выводить

COORD size; // размеры этого прямоугольника

// координаты левого угла прямоугольника, из которого выводим

COORD coord;

// координаты левого угла прямоугольника, в который пишем

SMALL_RECT sr;

// читаем стандартный дескриптор вывода

hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);

// заполняем прямоугольник, который будем выводить, пробелами

for (int i = 0; i < 80*25; ++i)

{

ci[i].Char.AsciiChar = ' ';

ci[i].Attributes = BACKGROUND_BLUE | BACKGROUND_INTENSITY;

}

// устанавливаем левый угол многоугольника, из которого пишем

coord.X = 0;

coord.Y = 0;

// устанавливаем размеры прямоугольника, который пишем

size.X = 80;

size.Y = 25;

// вводим координаты левого верхнего угла многоугольника,

// в который пишем

cout << "Input left coordinate to write: ";

cin >> sr.Left;

cout << "Input top coordinate to write: ";

cin >> sr.Top;

// вводим координаты правого нижнего угла прямоугольника,

// в который пишем

cout << "Input right coordinate to write: ";

cin >> sr.Right;

cout << "Input down coordinate to write: ";

cin >> sr.Bottom;

// пишем прямоугольник в буфер экрана

if (!WriteConsoleOutput(

hStdOut, // дескриптор буфера экрана

ci, // прямоугольник, из которого пишем

size, // размеры этого прямоугольника

coord, // и его левый угол

&sr)) // прямоугольник, в который пишем

{

cout << "Write console output failed." << endl;

return GetLastError();

}

return 0;

}

  1. Найдите всех сотрудников, у которых нет руководителей с использованием оператора NOT EXISTS

select * from employees e where not exists (select * from employees where employee_id=e.manager_id)

  1. Охарактеризовать составные элементы приведенного устройства и схему их включения. Объяснить работу устройства с помощью временных диаграмм прохождения входных импульсов.

  2. Современные языки программирования ПО.

Наиболее современными языками программирования являются С++ и Java. С середины 90-х годов многие объектно–ориентированные языки реализуются как системы визуального проектирования, в которых интерфейсная часть программного продукта создается в диалоговом режиме, практически без написания программных операторов. К объектно – ориентированным системам визуального проектирования относятся Visual Basic, Delphi, C++ Builder, Visual C++. Язык VBA (Visual Basic for Application) – язык приложений Microsoft Office (Excel, Word, Power Point и др). VBA соблюдает основной синтаксис языка и правила программирования языков Basic – диалектов, позволяет создавать макросы для автоматизации выполнения некоторых операций и графический интерфейс пользователя, интеграцию между различными программными продуктами.

Наиболее современными языками программирования являются С++ и Java. С середины 90-х годов многие объектно–ориентированные языки реализуются как системы визуального проектирования, в которых интерфейсная часть программного продукта создается в диалоговом режиме, практически без написания программных операторов. К объектно – ориентированным системам визуального проектирования относятся Visual Basic, Delphi, C++ Builder, Visual C++. Язык VBA (Visual Basic for Application) – язык приложений Microsoft Office (Excel, Word, Power Point и др). VBA соблюдает основной синтаксис языка и правила программирования языков Basic – диалектов, позволяет создавать макросы для автоматизации выполнения некоторых операций и графический интерфейс пользователя, интеграцию между различными программными продуктами.

Java

Язык Java зародился как часть проекта создания передового программного обеспечения (ПО) для различных бытовых приборов. Реализация проекта была начата на языке С++, но вскоре возник ряд проблем, наилучшим средством борьбы с которыми было изменение самого инструмента - языка программирования. Стало очевидным, что необходим платформо-независимый язык программирования, позволяющий создавать программы, которые не приходилось бы компилировать отдельно для каждой архитектуры и можно было бы использовать на различных процессорах под различными операционными системами. Язык Java потребовался для создания интерактивных продуктов для сети Internet. Фактически, большинство архитектурных решений, принятых при создании Java, было продиктовано желанием предоставить синтаксис, сходный с Си и Cи++. В Java используются практически идентичные соглашения для объявления переменных, передачи параметров, операторов и для управления потоком выполнением кода. В Java добавлены все хорошие черты C++.

Object PAL

Object PAL является мощным языком программирования. Object PAL представляет собой объектно-ориентированный, управляемый по событиям, визуальный язык программирования. На начальном уровне функциональности Object PAL можно осуществлять операции с данными, создавать специальные меню, а также управлять сеансом ввода данных. События в Object PAL порождают команды, которые имитируют эффект использования Paradox в интерактивном режиме. Существует возможность автоматизировать часто выполняемые задания, а также осуществлять над таблицами, формами и отчетами действия, которые были не доступны при интерактивной работе. Также Object PAL предоставляет все средства полнофункционального языка программирования в среде Windows. Можно использовать Object PAL для создания законченных систем, в которых реализованы специальная система меню, справочная система, а также всевозможные проверки данных. В Object PAL можно сохранить свои наработки в динамически компонуемой библиотеке, доступ к которой будут иметь несколько форм. Кроме того, можно установить связь с другими динамическими библиотеками, содержащие прграммы написанные на таких языках как Си, C++ или Паскаль.

АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ

АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №52

по специальности 5B0704 - Вычислительная техника и программное обеспечение

  1. Создайте класс Тест, содержащий две закрытые переменные типа int с именами count и max. Включите функции доступа. Первая функция set() устанавливает значения этих переменных, а вторая get() – возвращает их значения. Введите в класс функцию show(), которая выводит на экран значения этих переменных. Реализуйте функцию show() вне класса. В функцию main() включите краткую демонстрацию работы созданного класса.

public class Test {

private int max;

private int count;

public Test() {

}

public void setMax(Integer p_max) {

this.max = p_max;

}

public int getMax() {

return this.max;

}

public void setCount(Integer p_count) {

this.count = p_count;

}

public int getCount() {

return this.count;

}

public String show() {

return "Value of max : " + this.getMax() + " Value of count : " + this.getCount();

}

}

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.lang.management.BufferPoolMXBean;

import java.util.*;

/**

* Created by Asem on 13.05.2015.

*/

public class Gos_ekz {

public static void main(String[] args) {

Test test = new Test();

String test_class_show;

test.setCount(5);

test.setMax(10);

test_class_show = test.show();

System.out.println("Test class show(): " + test_class_show);

String this_class_show = show(test);

System.out.println("This class show(): "+this_class_show);

}

public static String show(Test test) {

return "Value of max : " + test.getMax() + " Value of count : " + test.getCount();

}

}

  1. Напишите программу реализации системной функции WriteConsoleInput

#include <windows.h>

#include <iostream.h>

int main()

{

HANDLE hStdIn; // для дескриптора стандартного ввода

INPUT_RECORD ir; // входная запись

DWORD dwNumberWritten; // количество записанных записей

DWORD dwNumber; // для количества записей в буфере ввода

// получить дескриптор стандартного ввода

hStdIn = GetStdHandle(STD_INPUT_HANDLE);

if (hStdIn == INVALID_HANDLE_VALUE)

{

cout << "Get standard input handle failed." << endl;

return GetLastError();

}

// подсчитываем записи в буфере ввода

if (!GetNumberOfConsoleInputEvents(hStdIn, &dwNumber))

{

cout << "Get number of console input events failed." << endl;

return GetLastError();

}

// печатаем количество событий ввода

cout << "Number of console input events = " << dwNumber << endl;

// инициализируем запись события ввода

ir.EventType = KEY_EVENT;

ir.Event.KeyEvent.bKeyDown = 0x1;

ir.Event.KeyEvent.wRepeatCount = 1;

ir.Event.KeyEvent.wVirtualKeyCode = 0x43;

ir.Event.KeyEvent.wVirtualScanCode = 0x2e;

ir.Event.KeyEvent.uChar.AsciiChar = 'c';

ir.Event.KeyEvent.dwControlKeyState =0x20;

// записываем запись в буфер ввода

if (!WriteConsoleInput(hStdIn, &ir, 1, &dwNumberWritten))

{

cout << "Write console input failed." << endl;

return GetLastError();

}

cout << "Write one record into the input buffer." << endl;

// подсчитываем записи в буфере ввода

if (!GetNumberOfConsoleInputEvents(hStdIn, &dwNumber))

{

cout << "Get number of console input events failed." << endl;

return GetLastError();

}

// печатаем количество событий ввода

cout << "Number of console input events = " << dwNumber << endl;

// очищаем входной буфер

cout << "Flush console input buffer." << endl;

if (!FlushConsoleInputBuffer(hStdIn))

{

cout << "Flush console input buffer failed." << endl;

return GetLastError();

}

// подсчитываем записи в буфере ввода

if (!GetNumberOfConsoleInputEvents(hStdIn, &dwNumber))

{

cout << "Get number of console input events failed." << endl;

return GetLastError();

}

// печатаем количество событий ввода

cout << "Number of console input events = " << dwNumber << endl;

return 0;

}

  1. Создайте скрипт-файл loademp.sql для интерактивной загрузки строк в таблицу MY_EMPLOYEE. Соедините первую букву имени с семью первыми буквами фамилии для получения идентификатора пользователя для данного служащего.

SET ECHO OFF

SET VERIFY OFF

INSERT INTO my_employee

VALUES (&p_id, '&p_last_name', '&p_first_name',

lower(substr('&p_first_name', 1, 1)||

substr('&p_last_name', 1, 7)), &p_salary);

SET VERIFY ON

SET ECHO ON

  1. Охарактеризовать составные элементы приведенного устройства и схему их включения. Объяснить работу устройства с помощью временных диаграмм прохождения входных импульсов.

  2. Сравнение диаграммы классов и структуры базы данных.

Диаграмма классов (англ. Static Structure diagram) — диаграмма, демонстрирующая классы системы, их атрибутыметоды и взаимосвязи между ними. Входит в UML.

Существует два вида:

  • Статический вид диаграммы рассматривает логические взаимосвязи классов между собой;

  • Аналитический вид диаграммы рассматривает общий вид и взаимосвязи классов входящих в систему.

Существуют разные точки зрения на построение диаграмм классов в зависимости от целей их применения:

  • Концептуальная точка зрения — диаграмма классов описывает модель предметной области, в ней присутствуют только классы прикладных объектов;

  • Точка зрения спецификации — диаграмма классов применяется при проектировании информационных систем;

  • Точка зрения реализации — диаграмма классов содержит классы, используемые непосредственно в программном коде (при использовании объектно-ориентированных языков программирования).