- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •Классификация:
- •Система контекстной помощи
- •По модели данных[править | править вики-текст]
- •По степени распределённости[править | править вики-текст]
- •Основные сведения[править | править вики-текст]
- •Ассоциации[править | править вики-текст]
- •Агрегация[править | править вики-текст]
- •Композиция[править | править вики-текст]
- •Обобщение (наследование)[править | править вики-текст]
- •Реализация[править | править вики-текст]
- •Зависимость[править | править вики-текст]
- •Уточнения отношений[править | править вики-текст]
- •Уровни схемы базы данных[править | править вики-текст]
- •Иды требований по характеру[править | править вики-текст]
- •Источники требований[править | править вики-текст]
- •Вид и состав требований тз[править | править вики-текст]
- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •9. Экономическая часть проекта
- •9.1. Технико-экономический анализ и оценка показателей экономической эффективности проекта.
- •9.2. Расчёт себестоимости электроэнергии
- •Развитие языков программирования и средств разработки
- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •Анализ требований к проекту
- •Проектирование
- •Реализация
- •Тестирование продукта
- •Внедрение и поддержка
- •По целям исследований
- •По особенностям представления
- •Свойства парадигм программирования
- •Инициализация объектов данных[править | править вики-текст]
- •Программирование арифметических операций[править | править вики-текст]
- •Циклы[править | править вики-текст]
- •Инвариантные фрагменты кода[править | править вики-текст]
Основные сведения[править | править вики-текст]
Компоненты связываются через зависимости, когда соединяется требуемый интерфейс одного компонента с имеющимся интерфейсом другого компонента. Таким образом иллюстрируются отношения клиент-источник между двумя компонентами.
Зависимость показывает, что один компонент предоставляет сервис, необходимый другому компоненту. Зависимость изображается стрелкой от интерфейса или порта клиента к импортируемому интерфейсу.[1]
Когда диаграмма компонентов используется, чтобы показать внутреннюю структуру компонентов, предоставляемый и требуемый интерфейсы составного компонента могут делегироваться в соответствующие интерфейсы внутренних компонентов.
Делегация показывается связь внешнего контракта компонента с внутренней реализацией этого поведения внутренними компонентами.[1]
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №51
по специальности 5B0704 - Вычислительная техника и программное обеспечение
В одномерном массиве, состоящем из 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;
}
}
Напишите программу реализации системной функции 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;
}
Найдите всех сотрудников, у которых нет руководителей с использованием оператора NOT EXISTS
select * from employees e where not exists (select * from employees where employee_id=e.manager_id)
Охарактеризовать составные элементы приведенного устройства и схему их включения. Объяснить работу устройства с помощью временных диаграмм прохождения входных импульсов.
Современные языки программирования ПО.
Наиболее современными языками программирования являются С++ и 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 - Вычислительная техника и программное обеспечение
Создайте класс Тест, содержащий две закрытые переменные типа 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();
}
}
Напишите программу реализации системной функции 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;
}
Создайте скрипт-файл 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
Охарактеризовать составные элементы приведенного устройства и схему их включения. Объяснить работу устройства с помощью временных диаграмм прохождения входных импульсов.
Сравнение диаграммы классов и структуры базы данных.
Диаграмма классов (англ. Static Structure diagram) — диаграмма, демонстрирующая классы системы, их атрибуты, методы и взаимосвязи между ними. Входит в UML.
Существует два вида:
Статический вид диаграммы рассматривает логические взаимосвязи классов между собой;
Аналитический вид диаграммы рассматривает общий вид и взаимосвязи классов входящих в систему.
Существуют разные точки зрения на построение диаграмм классов в зависимости от целей их применения:
Концептуальная точка зрения — диаграмма классов описывает модель предметной области, в ней присутствуют только классы прикладных объектов;
Точка зрения спецификации — диаграмма классов применяется при проектировании информационных систем;
Точка зрения реализации — диаграмма классов содержит классы, используемые непосредственно в программном коде (при использовании объектно-ориентированных языков программирования).
