- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •Классификация:
- •Система контекстной помощи
- •По модели данных[править | править вики-текст]
- •По степени распределённости[править | править вики-текст]
- •Основные сведения[править | править вики-текст]
- •Ассоциации[править | править вики-текст]
- •Агрегация[править | править вики-текст]
- •Композиция[править | править вики-текст]
- •Обобщение (наследование)[править | править вики-текст]
- •Реализация[править | править вики-текст]
- •Зависимость[править | править вики-текст]
- •Уточнения отношений[править | править вики-текст]
- •Уровни схемы базы данных[править | править вики-текст]
- •Иды требований по характеру[править | править вики-текст]
- •Источники требований[править | править вики-текст]
- •Вид и состав требований тз[править | править вики-текст]
- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •9. Экономическая часть проекта
- •9.1. Технико-экономический анализ и оценка показателей экономической эффективности проекта.
- •9.2. Расчёт себестоимости электроэнергии
- •Развитие языков программирования и средств разработки
- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •Анализ требований к проекту
- •Проектирование
- •Реализация
- •Тестирование продукта
- •Внедрение и поддержка
- •По целям исследований
- •По особенностям представления
- •Свойства парадигм программирования
- •Инициализация объектов данных[править | править вики-текст]
- •Программирование арифметических операций[править | править вики-текст]
- •Циклы[править | править вики-текст]
- •Инвариантные фрагменты кода[править | править вики-текст]
По целям исследований
В зависимости от целей исследования выделяют следующие модели:
функциональные. Предназначены для изучения особенностей работы (функционирования) системы, её назначения во взаимосвязи с внутренними и внешними элементами;
функционально-физические. Предназначены для изучения физических (реальных) явлений, используемых для реализации заложенных в систему функций;
модели процессов и явлений, такие как кинематические, прочностные, динамические и другие. Предназначены для исследования тех или иных свойств и характеристик системы, обеспечивающих её эффективное функционирование.
По особенностям представления
С целью подчеркнуть отличительную особенность модели их подразделяют на простые и сложные, однородные и неоднородные, открытые и закрытые, статические и динамические, вероятностные и детерминированные и т. д. Стоит отметить, что когда говорят, например, о техническом устройстве как простом или сложном, закрытом или открытом и т. п., в действительности подразумевают не само устройство, а возможный вид его модели, таким образом подчеркивая особенность состава или условий работы.
Четкого правила разделения моделей на сложные и простые не существует. Обычно признаком сложных моделей служит многообразие выполняемых функций, большое число составных частей, разветвленный характер связей, тесная взаимосвязь с внешней средой, наличие элементов случайности, изменчивость во времени и другие. Понятие сложности системы — субъективно и определяется необходимыми для его исследования затратами времени и средств, потребным уровнем квалификации, то есть зависит от конкретного случая и конкретного специалиста.
Разделение систем на однородные и неоднородные проводится в соответствии с заранее выбранным признаком: используемые физические явления, материалы, формы и т. д. При этом одна и та же модель при разных подходах может быть и однородной, и неоднородной. Так, велосипед — однородное механическое устройство, поскольку использует механические способы передачи движения, но неоднородное по типам материалов, из которых изготовлены отдельные части (резиновая шина, стальная рама, пластиковое седло).
Все устройства взаимодействуют с внешней средой, обмениваются с нею сигналами, энергией, веществом. Модели относят к открытым, если их влиянием на окружающую среду или воздействием внешних условий на их состояние и качество функционирования пренебречь нельзя. В противном случае системы рассматривают как закрытые, изолированные.
Динамические модели, в отличие от статических, находятся в постоянном развитии, их состояние и характеристики изменяются в процессе работы и с течением времени.
Характеристики вероятностных (иными словами, стохастических) моделей случайным образом распределяются в пространстве или меняются во времени. Это является следствием как случайного распределения свойств материалов, геометрических размеров и форм объекта, так и случайного характера воздействия внешних нагрузок и условий. Характеристики детерминированных моделей заранее известны и точно предсказуемы.
Знание этих особенностей облегчает процесс моделирования, так как позволяет выбрать вид модели, наилучшим образом соответствующей заданным условиям. Этот выбор основывается на выделении в системе существенных и отбрасывании второстепенных факторов и должен подтверждаться исследованиями или предшествующим опытом. Наиболее часто в процессе моделирования ориентируются на создание простой модели, что позволяет сэкономить время и средства на её разработку. Однако повышение точности модели, как правило, связано с ростом её сложности, так как необходимо учитывать большое число факторов и связей. Разумное сочетание простоты и потребной точности и указывает на предпочтительный вид модели.
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №74
по специальности 5B0704 - Вычислительная техника и программное обеспечение
Даны два массива. Массив А состоит из N элементов , массив В состоит из М элементов. Оба массива отсортированы по убыванию. Разработать программу для слияния этих массивов в отсортированный по убыванию массив С, не содержащий одинаковых элементов. (билет 4)
import com.sun.org.apache.xpath.internal.SourceTree;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.*;
import static java.util.Collections.*;
public class Arr {
public static List<Integer> sort(List<Integer> p_array, String p_sort_type) {
List<Integer> l_return = p_array;
if (p_sort_type.toUpperCase().equals("ASC")) {
Collections.sort(l_return);
} else if (p_sort_type.toUpperCase().equals("DESC")) {
Collections.sort(l_return, reverseOrder());
}
return l_return;
}
public static List<Integer> sort(List<Integer> p_array) {
return sort(p_array, "ASC");
}
public static List<Integer> merge(List<Integer> p_array, List<Integer> p_array_to_merge, String p_condition) {
List<Integer> l_return = p_array;
Integer l_array_element;
if (p_condition.toLowerCase().equals("without equals")) {
for (int i = 0; i < p_array_to_merge.size(); i++) {
l_array_element = p_array_to_merge.get(i);
while (!l_return.contains(l_array_element)) {
l_return.add(l_array_element);
}
}
}
return l_return;
}
public static List<Integer> merge(List<Integer> p_array, List<Integer> p_array_to_merge) {
List<Integer> l_return = p_array;
Integer l_array_element;
for (int i = 0; i < p_array_to_merge.size(); i++) {
l_array_element = p_array_to_merge.get(i);
l_return.add(l_array_element);
}
return l_return;
}
public static void main(String args[]) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Integer l_first_array_length = 0;
Integer l_first_array_rand_range = 0;
Integer l_second_array_length = 0;
Integer l_second_array_rand_range = 0;
try {
System.out.println("We will populate array with random numbers");
System.out.print("Enter first array size : ");
l_first_array_length = Integer.valueOf(reader.readLine());
System.out.print("Enter biggers number to fill first array: ");
l_first_array_rand_range = Integer.valueOf(reader.readLine());
System.out.print("Enter second array size : ");
l_second_array_length = Integer.valueOf(reader.readLine());
System.out.print("Enter biggers number to fill first array: ");
l_second_array_rand_range = Integer.valueOf(reader.readLine());
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Ok, got it.");
List<Integer> first = new ArrayList<Integer>();
List<Integer> second = new ArrayList<Integer>();
List<Integer> third = new ArrayList<Integer>();
Integer l_rand_number;
for (int i = 0; i < l_first_array_length; i++) {
first.add(new Random().nextInt(l_first_array_rand_range));
}
for (int i = 0; i < l_second_array_length; i++) {
second.add(new Random().nextInt(l_second_array_rand_range));
}
System.out.println("Sorting first array...");
first = sort(first, "DESC");
System.out.println("Sorting second array...");
second = sort(second, "DESC");
System.out.println("Merging arrays. Skipping equal numbers...");
third = merge(third, first, "without equals");
third = merge(third, second, "without equals");
third = sort(third, "DESC");
System.out.println("First array: " + Arrays.toString(first.toArray()));
System.out.println("Second array: " + Arrays.toString(second.toArray()));
System.out.println("Merged array: " + Arrays.toString(third.toArray()));
}
}
Напишите программу реализации системной функции OpenService
BOOL DeleteSampleService()
{ schService = OpenService(
schSCManager, // база данных SCManager
TEXT("Sample_Srv"), // имя службы
DELETE); // однако требует доступа DELETE
if (schService == NULL)
{ printf("OpenService failed (%d)\n", GetLastError());
return FALSE; }
if (!DeleteService(schService) )
{ printf("DeleteService failed (%d)\n", GetLastError());
return FALSE; }
else printf("DeleteService succeeded\n");
CloseServiceHandle(schService);
return TRUE;}
Создайте запрос для вывода фамилии, номера отдела и должности каждого служащего, отдел которого находится в location_ID = 1700. select e.last_name,e.department_id,e.job_id,d.location_id
from employees e,departments d where e.department_id=d.department_id and d.location_id=1700;
Построить схему двоичного счетчика с модулем счета 10010 на основе микросхем счетчика (7493) и привести соответствующие пояснения к выполненным соединениям в схеме.
Этап выработки требований к программе - методы и инструменты.
Требования к программному обеспечению — совокупность утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации. Создаются в процессе разработки требований к программному обеспечению, в результате анализа требований.
Требования могут выражаться в виде текстовых утверждений и графических моделей.
В классическом техническом подходе совокупность требований используется на стадии проектирования программного обеспечения (ПО). Требования также используются в процессе проверки ПО, так как тесты основываются на определённых требованиях.
Этапу разработки требований, возможно, предшествовало технико-экономическое обоснование, или концептуальная фаза анализа проекта. Фаза разработки требований может быть разбита на выявление требований (сбор, понимание, рассмотрение и выяснение потребностей заинтересованных лиц), анализ (проверка целостности и законченности), спецификация (документирование требований) и проверка правильности.
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №75
по специальности 5B0704 - Вычислительная техника и программное обеспечение
Даны два массива. Массив А состоит из N элементов , массив В состоит из М элементов. Оба массива отсортированы по убыванию. Разработать программу для слияния этих массивов в отсортированный по неубыванию массив С.
# include <stdio.h>
# include <stdlib.h>
const N=10,M=10;
int a[N],b[M],c[N+M];
void main()
{
randomize();
a[0]=-5;
b[0]=-5;
for (int i=1;i<N;i++)
{
a[i]=a[i-1]-random(3);
b[i]=b[i-1]-random(3);
}
int x=M-1,y=N-1;
i=0;
while ((x>=0)|(y>=0))
{
if (((a[x]<=b[y])|(y<0))&(x>=0))
{
c[i]=a[x];
i++;
x--;
}
else if (((a[x]>=b[y])|(x<0))&(y>=0))
{
c[i]=b[y];
i++;
y--;
}
}
Напишите программу реализации системной функции OpenWaitableTimer
Напишем программу-будильник используя WaitableTimer'ы. Будильник будет срабатыват раз в день в 8 утра и "пикать" 10 раз. Используем для этого два таймера, один из которых с callback-функцией. |
#include <process.h> #include <windows.h> #include <stdio.h> #include <conio.h>
#define HOUR (8) // время, когда срабатывает будильник (только часы) #define RINGS (10) // сколько раз пикать
HANDLE hTerminateEvent ;
// callback функция таймера VOID CALLBACK TimerAPCProc(LPVOID, DWORD, DWORD) { Beep(1000,500); // звоним! };
// функция потока unsigned __stdcall ThreadFunc(void *) { HANDLE hDayTimer = CreateWaitableTimer(NULL,FALSE,NULL); HANDLE hAlarmTimer = CreateWaitableTimer(NULL,FALSE,NULL); HANDLE h[2]; // мы будем ждать эти объекты h[0] = hTerminateEvent; h[1] = hDayTimer; int iRingCount=0; // число "звонков" int iFlag; DWORD dw;
// немного помучаемся со временем, //т.к. таймер принимает его только в формате FILETIME LARGE_INTEGER liDueTime, liAllDay; liDueTime.QuadPart=0; // сутки в 100-наносекундных интервалах = 10000000 * 60 * 60 * 24 = 0xC92A69C000 liAllDay.QuadPart = 0xC9; liAllDay.QuadPart=liAllDay.QuadPart << 32; liAllDay.QuadPart |= 0x2A69C000; SYSTEMTIME st; GetLocalTime(&st); // узнаем текущую дату/время iFlag = st.wHour > HOUR; // если назначенный час еще не наступил, //то ставим будильник на сегодня, иначе - на завтра st.wHour = HOUR; st.wMinute = 0; st.wSecond =0; FILETIME ft; SystemTimeToFileTime( &st, &ft); if (iFlag) ((LARGE_INTEGER *)&ft)->QuadPart = ((LARGE_INTEGER *)&ft)->QuadPart +liAllDay.QuadPart ;
LocalFileTimeToFileTime(&ft,&ft); // Устанавливаем таймер, // он будет срабатывать раз в сутки (24*60*60*1000ms), // начиная со следующего "часа пик" - HOUR SetWaitableTimer(hDayTimer, (LARGE_INTEGER *) &ft, 24*60*60000, 0, 0, 0); do { dw = WaitForMultipleObjectsEx(2,h,FALSE,INFINITE,TRUE); if (dw == WAIT_OBJECT_0 +1) // сработал hDayTimer { // Устанавливаем таймер, он будет вызывать callback ф-ию раз в секунду, // начнет с текущего момента SetWaitableTimer(hAlarmTimer, &liDueTime, 1000, TimerAPCProc, NULL, 0); iRingCount=0; } if (dw == WAIT_IO_COMPLETION) // закончила работать callback ф-ия { iRingCount++; if (iRingCount==RINGS) CancelWaitableTimer(hAlarmTimer); } }while (dw!= WAIT_OBJECT_0); // пока не сработало hTerminateEvent крутимся в цикле
// закрывае handles, выходим CancelWaitableTimer(hDayTimer); CancelWaitableTimer(hAlarmTimer); CloseHandle(hDayTimer); CloseHandle(hAlarmTimer); _endthreadex( 0 ); return 0; };
int main(int argc, char* argv[]) { // это событие показывае потоку когда надо завершаться hTerminateEvent = CreateEvent(NULL,FALSE,FALSE,NULL); unsigned uThreadID; HANDLE hThread; // создаем поток hThread = (HANDLE)_beginthreadex( NULL, 0, &ThreadFunc, 0, 0,&uThreadID); puts("Press any key to exit."); // ждем any key от пользователя для завершения программы getch(); // выставляем событие SetEvent(hTerminateEvent); // ждем завершения потока WaitForSingleObject(hThread, INFINITE ); // закрываем handle CloseHandle( hThread ); return 0; } |
Получите номер отдела, фамилию и должность для каждого служащего, работающего в административном департаменте (Executive).
select department_id, last_name, job_id
from employees
where department_id in (SELECT department_id
FROM departments where department_name='Executive')
Построить схему дешифратора на восемь выходов на основе микросхемы сдвоенных дешифраторов на четыре выхода (74139) и привести соответствующие пояснения к выполненным соединениям в схеме.
|
Парадигмы связывания и видимости объектов – глобальные и локальные, статические и динамические, внутренние и внешние - методы и инструменты реализации.
Парадигма в науке совокупность ценностей, методов, подходов, технических навыков и средств, принятых в научном сообществе в рамках устоявшейся научной традиции в определенный период времени. способ постановки проблем и их решения. Парадигма программирования – совокупность идей и понятий, определяющая стиль написания программ.
