- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •Классификация:
- •Система контекстной помощи
- •По модели данных[править | править вики-текст]
- •По степени распределённости[править | править вики-текст]
- •Основные сведения[править | править вики-текст]
- •Ассоциации[править | править вики-текст]
- •Агрегация[править | править вики-текст]
- •Композиция[править | править вики-текст]
- •Обобщение (наследование)[править | править вики-текст]
- •Реализация[править | править вики-текст]
- •Зависимость[править | править вики-текст]
- •Уточнения отношений[править | править вики-текст]
- •Уровни схемы базы данных[править | править вики-текст]
- •Иды требований по характеру[править | править вики-текст]
- •Источники требований[править | править вики-текст]
- •Вид и состав требований тз[править | править вики-текст]
- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •9. Экономическая часть проекта
- •9.1. Технико-экономический анализ и оценка показателей экономической эффективности проекта.
- •9.2. Расчёт себестоимости электроэнергии
- •Развитие языков программирования и средств разработки
- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •Анализ требований к проекту
- •Проектирование
- •Реализация
- •Тестирование продукта
- •Внедрение и поддержка
- •По целям исследований
- •По особенностям представления
- •Свойства парадигм программирования
- •Инициализация объектов данных[править | править вики-текст]
- •Программирование арифметических операций[править | править вики-текст]
- •Циклы[править | править вики-текст]
- •Инвариантные фрагменты кода[править | править вики-текст]
Иды требований по характеру[править | править вики-текст]
Функциональный характер — требования к поведению системы
Бизнес-требования
Пользовательские требования
Функциональные требования
Нефункциональный характер — требования к характеру поведения системы
Бизнес-правила — определяют ограничения, проистекающие из предметной области и свойств автоматизируемого объекта (предприятия)
Системные требования и ограничения — определения элементарных операций, которые должна иметь система, а также различных условий, которым она может удовлетворять. К системным требованиям и ограничениям относятся:
Ограничения на программные интерфейсы, в том числе к внешним системам
Требования к атрибутам качества
Требования к применяемому оборудованию и ПО
Требования к документированию
Требования к дизайну и юзабилити
Требования к безопасности и надёжности
Требования к показателям назначения (производительность, устойчивость к сбоям и т. п.)
Требования к эксплуатации и персоналу
Прочие требования и ограничения (внешние воздействия, мобильность, автономность и т. п.).
Источники требований[править | править вики-текст]
Федеральное и муниципальное отраслевое законодательство (конституция, законы, распоряжения)
Нормативное обеспечение организации (регламенты, положения, уставы, приказы)
Текущая организация деятельности объекта автоматизации
Модели деятельности (диаграммы бизнес-процессов)
Представления и ожидания потребителей и пользователей системы
Журналы использования существующих программно-аппаратных систем
Конкурирующие программные продукты
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №56
по специальности 5B0704 - Вычислительная техника и программное обеспечение
Создайте класс card, который поддерживает каталог библиотечных карточек. Этот класс должен хранить заглавие книги, имя автора и выданное на руки число экземпляров книги. Заглавие и имя автора храните в виде строки символов, а количество экземпляров — в виде целого числа. Используйте открытую функцию-член show() для вывода информации на экран. В функцию main() включите краткую демонстрацию работы созданного класса.
struct Card
{
std::string title;
std::string author;
int count;
};
class Catalog
{
std::vector<Card> m_Cards;
public:
void Store (std::string title, std::string author, int count)
{
Card card;
card.title = title;
card.author = author;
card.count = count;
m_Cards.push_back (card);
}
void Show ()
{
for (unsigned i =0; i<m_Cards.size(); ++i)
std::cout << "Card " << i+1 << std::endl;
std::cout << "{ "<< std::endl;
std::cout << " title " << m_Cards[i].title << std::endl;
std::cout << " author " << m_Cards[i].author << std::endl;
std::cout << " count " << m_Cards[i].count << std::endl;
std::cout << "} "<< std::endl;
}
};
Напишите программу реализации системной функции WriteFile
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <iostream.h>
int main()
{
HANDLE hFile; // дескриптор файла
OVERLAPPED ovl; // структура управления асинхронным доступом к файлу
// инициализируем структуру OVERLAPPED
ovl.Offset = 0; // младшая часть смещения равна 0
ovl.OffsetHigh = 0; // старшая часть смещения равна 0
ovl.hEvent = 0; // события нет
// создаем файл для записи данных
hFile = CreateFile(
"C:\\demo_file.dat", // имя файла
GENERIC_WRITE, // запись в файл
FILE_SHARE_WRITE, // совместный доступ к файлу
NULL, // защиты нет
OPEN_ALWAYS, // открываем или создаем новый файл
FILE_FLAG_OVERLAPPED, // асинхронный доступ к файлу
NULL // шаблона нет
);
// проверяем на успешное создание
if (hFile == INVALID_HANDLE_VALUE)
{
cerr << "Create file failed." << endl
<< "The last error code: " << GetLastError() << endl;
cout << "Press any key to finish.";
cin.get();
return 0;
}
// пишем данные в файл
for (int i = 0; i < 10; ++i)
{
DWORD dwBytesWrite;
DWORD dwRet;
if (!WriteFile(
hFile, // дескриптор файла
&i, // адрес буфера, откуда идет запись
sizeof(i), // количество записываемых байтов
&dwBytesWrite, // количество записанных байтов
&ovl // запись асинхронная
))
{
dwRet = GetLastError();
if (dwRet == ERROR_IO_PENDING)
cout << "Write file pending." << endl;
else
{
cout << "Write file failed." << endl
<< "The last error code: " << dwRet << endl;
return 0;
}
}
// ждем, пока завершится асинхронная операция записи
WaitForSingleObject(hFile, INFINITE);
// увеличивает смещение в файле
ovl.Offset += sizeof(i);
}
// закрываем дескриптор файла
CloseHandle(hFile);
cout << "The file is written." << endl;
return 0;
}
В вузы на очную форму обучения принимаются абитуриенты моложе 35 лет. Создайте триггер, позволяющий контролировать возраст студента при выполнении зачисления студента (ввода данных в таблицу People).
create or replace trigger abitmoloje35
before update or insert of abit_datarozhd on people
for each row
begin
IF NOT :NEW.abit_datarozhd>('31/12/1980')
then
raise_application_error (-20203,'Abiturient doljen byt moloje 35');
end if; end;
Реализовать представленную в таблице функцию (Y) с помощью логических элементов ИЛИ-НЕ.
|
Диаграмма развертывания и архитектура ПО: сходство и отличие.
Диагра́мма развёртывания, Deployment diagram в UML моделирует физическое развертывание артефактов на узлах.[1] Например, чтобы описать веб-сайт диаграмма развертывания должна показывать, какие аппаратные компоненты («узлы») существуют (например, веб-сервер, сервер базы данных, сервер приложения), какие программные компоненты («артефакты») работают на каждом узле (например, веб-приложение, база данных), и как различные части этого комплекса соединяются друг с другом (например, JDBC, REST, RMI).
Узлы представляются как прямоугольные параллелепипеды с артефактами, расположенными в них, изображенными в виде прямоугольников. Узлы могут иметь подузлы, которые представляются как вложенные прямоугольные параллелепипеды. Один узел диаграммы развертывания может концептуально представлять множество физических узлов, таких как кластер серверов баз данных.
Существует два типа узлов:
Узел устройства
Узел среды выполнения
Узлы устройств — это физические вычислительные ресурсы со своей памятью и сервисами для выполнения программного обеспечения, такие как обычные ПК, мобильные телефоны. Узел среды выполнения — это программный вычислительный ресурс, который работает внутри внешнего узла и который предоставляет собой сервис, выполняющий другие исполняемые программные элементы.
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №57
по специальности 5B0704 - Вычислительная техника и программное обеспечение
Создайте класс, который содержит информацию об имени и адресе. Храните всю эту информацию в символьных строках закрытой части класса. Включите в класс открытую функцию открытую функцию display(), которая выводит эти имя и адрес на экран. В функцию main() включите краткую демонстрацию работы созданного класса.
#include <stdafx.h>
#include <iostream>
using namespace std;
class myclass {
int a;
public:
void set_a(int num);
int get_a();
};
void myclass::set_a(int num)
{
a=num;
}
int myclass::get_a(c)
{
return a;
}
int main();
{
myclass store, display;
store.set_a(15);
display.set_a(99);
cout<<"store.get_a() << "\n";
cout<<"display.get_a() << "\n";
cin.get();
cin.get();
return 0;
}
Напишите программу реализации системной функции WriteProcessMemory
#include <windows.h>
#include <iostream.h>
int main()
{
char c; // служебный символ
char lpszCommandLine[80]; // командная строка
char send[] = "This is a message."; // строка для пересылки
char buffer[80]; // буфер для ответа
LPVOID v = (LPVOID)0x00880000; // указатель на область памяти
HANDLE hWrite, hRead; // события для синхронизации
// записи-чтения в виртуальную память
char WriteEvent[] = "WriteEvent";
char ReadEvent[] = "ReadEvent";
// создаем события
hWrite = CreateEvent(NULL, FALSE, FALSE, WriteEvent);
hRead = CreateEvent(NULL, FALSE, FALSE, ReadEvent);
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
// формируем командную строку
wsprintf(lpszCommandLine, "C:\\ConsoleProcess.exe %d", (int)v);
// создаем новый консольный процесс
if (!CreateProcess(NULL, lpszCommandLine, NULL, NULL, FALSE,
CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi))
{
cout << "Create process failed." << endl;
return GetLastError();
}
// распределяем виртуальную память в этом процессе
v = VirtualAllocEx(
pi.hProcess,
v,
sizeof(send),
MEM_RESERVE | MEM_COMMIT,
PAGE_READWRITE);
if(!v)
{
cout << "Virtual allocation failed." << endl;
return GetLastError();
}
// записываем в виртуальную память сообщение
WriteProcessMemory(pi.hProcess, v, (void*)send, sizeof(send), NULL);
// оповещаем о записи
SetEvent(hWrite);
// ждем сигнала на чтение
WaitForSingleObject(hRead, INFINITE);
// читаем ответ
ReadProcessMemory(pi.hProcess, v, (void*)buffer, sizeof(buffer), NULL);
// выводим ответ
cout << buffer << endl;
// освобождаем виртуальную память
if (!VirtualFreeEx(pi.hProcess, v, 0, MEM_RELEASE))
{
cout << "Memory release failed." << endl;
return GetLastError();
}
cout << "Input any char to exit: ";
cin >> c;
return 0;
}
Теоретически в БД можно ошибочно внести оценку студенту по предмету, который он не изучает вовсе. Задача: разработать триггер, контролирующий (сумму) количество сданных предметов, которые не должны превышать количество предметов изучаемых группой студента (таблицы Evolution и Subject) с информацией о предметах изучаемых студентами(таблица Study).
Реализовать представленную в таблице функцию (Y) с помощью логических элементов И-НЕ.
X2
X1
X0
Y
X2
X1
X0
Y
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
1
0
1
1
1
0
Специфические требования технического задания.
