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

#include <windows.h>

#include <stdio.h>

int main(void)

{

HANDLE hStdout, hNewScreenBuffer;

SMALL_RECT srctReadRect;

SMALL_RECT srctWriteRect;

CHAR_INFO chiBuffer[160]; // [2][80];

COORD coordBufSize;

COORD coordBufCoord;

BOOL fSuccess;

hStdout = GetStdHandle(STD_OUTPUT_HANDLE);

hNewScreenBuffer = CreateConsoleScreenBuffer(

GENERIC_READ | // read/write access

GENERIC_WRITE,

FILE_SHARE_READ |

FILE_SHARE_WRITE, // shared

NULL, // default security attributes

CONSOLE_TEXTMODE_BUFFER, // must be TEXTMODE

NULL); // reserved; must be NULL

if (hStdout == INVALID_HANDLE_VALUE ||

hNewScreenBuffer == INVALID_HANDLE_VALUE)

{ printf("CreateConsoleScreenBuffer failed - (%d)\n", GetLastError());

return 1; }

if (! SetConsoleActiveScreenBuffer(hNewScreenBuffer) )

{ printf("SetConsoleActiveScreenBuffer failed - (%d)\n", GetLastError());

return 1; }

srctReadRect.Top = 0; // top left: row 0, col 0

srctReadRect.Left = 0;

srctReadRect.Bottom = 1; // bot. right: row 1, col 79

srctReadRect.Right = 79;

coordBufSize.Y = 2;

coordBufSize.X = 80;

coordBufCoord.X = 0;

coordBufCoord.Y = 0;

fSuccess = ReadConsoleOutput(

if (! fSuccess)

{ printf("ReadConsoleOutput failed - (%d)\n", GetLastError());

return 1; }

srctWriteRect.Top = 10; // top lt: row 10, col 0

srctWriteRect.Left = 0;

srctWriteRect.Bottom = 11; // bot. rt: row 11, col 79

srctWriteRect.Right = 79;

fSuccess = WriteConsoleOutput(

hNewScreenBuffer, // screen buffer to write to

chiBuffer, // buffer to copy from

coordBufSize, // col-row size of chiBuffer

coordBufCoord, // top left src cell in chiBuffer

&srctWriteRect); // dest. screen buffer rectangle

if (! fSuccess)

{ printf("WriteConsoleOutput failed - (%d)\n", GetLastError());

return 1; }

Sleep(5000);

if (! SetConsoleActiveScreenBuffer(hStdout))

{ printf("SetConsoleActiveScreenBuffer failed - (%d)\n", GetLastError());

return 1; }

return 0;}

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

select LAST_NAME, JOB_ID, format(HIRE_DATE,"Medium Date") as `HIRE DATE` from EMPLOYEES where HIRE_DATE between CDate('20/02/1998') and CDate('01/05/1998') order by HIRE_DATE asc;

  1. Реализовать представленную в таблице функцию (Y) с помощью логических элементов И-НЕ.

    X2

    X1

    X0

    Y

    X2

    X1

    X0

    Y

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    1

    0

    1

    0

    1

    1

    0

    1

    0

    1

    1

    1

    0

    1

    0

    1

    1

    1

    1

    1

    1

    0

  2. Современное программирование – базовые понятия и инструменты.

  3. Современное программирование ведется на так называемых языках высокого уровня, так что от программиста в идеале не требуется ничего знать об устройстве конкретного компьютера, скажем, о том, какие там регистры, в каких разрядах машинного слова помещаются коды команды, а в каких - адреса операндов и тому подобное. [1]

  4. Современное программирование существенно отличается от технологии разработки программ для старых ЭВМ. [2]

  5. Задачи современного программирования приводят к сложным алгоритмам. Например, при поиске научной информации в некотором массиве данных организуется целый ряд сравнений ( с признаком или набором признаков), логическая структура которых сложная, что затрудняет непосредственное программирование. [3]

  6. С современным программированием тесно связаны старый миф и новая реальность. Миф утверждает, что при составлении программ ошибки неизбежны и программирование есть не что иное, как процесс проб и ошибок. Реальность же выдвигает требование научиться последовательно проектировать и писать такие программы, которые были бы правильными с самого начала и не содержали ошибок на этапах тестирования и последующей эксплуатации. [4]

  7. В современном программировании существует несколько различных форм представления программы, соответствующих этапам разработки, отладки и счета: входной текст на языке программирования; промежуточный массив на языке загрузки; рабочая программа в командах ЭВМ. [5]

  8. Важным средством современного программирования является возможность распараллеливания программы. Недостатком всех трех языков является отсутствие таких средств на языковом уровне. [6]

  9. Книга рассчитана на специалистов по современному программированию, разработчиков вычислительных систем и алгоритмов; она может быть использована как учебное пособие студентами и аспирантами, специализирующимися в области вычислительной математики. [7]

  10. Первый такой мячик связан с именем бабушки современного программирования Грейс Мюррей Хоппер. [8]

  11. Абстракция является одним из наиболее важных инструментов современного программирования. Выбор разработчиками языка программирования тех или иных механизмов абстракции оказывает сильнейшее влияние на возможность функциональной абстракции и абстракции данных. А это, в свою очередь, определяет способ разработки и реализации ( т.е. способ декомпозиции) большого программного комплекса. [9]

  12. Принцип модульности - один из основополагающих в современном программировании, позволяющий просто и эффективно реализовать системный подход и иерархическое построение программного обеспечения пакета. Принцип модульности упрощает разработку пакета, обеспечивая эффективную организацию разработки всех элементов программного обеспечения, легкость поддержания и гибкость. [10]

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

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

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

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

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

  1. Создать класс Root для вычисления действительных корней квадратного уравнения вида . Коэффициенты а, b и c реализовать в виде полей класса. Для нахождения корней создать специальный метод. В функцию main() включите краткую демонстрацию работы созданного класса.

function print(real, imag)

{ if (Math.abs(imag)<1E-6)

return real;

else

return '('+real+','+imag+')';

}

function solve()

{ A = document.quadratic.A.value;

if (Math.abs(A)<1E-3)

{ document.getElementById('output').innerHTML = 'Not a quadratic equation.';

return;

}

B = document.quadratic.B.value;

C = document.quadratic.C.value;

A = 2*A;

D = B*B-2*A*C;

if (Math.abs(D)<1E-3)

{ document.getElementById('output').innerHTML = 'x = '+(-B/A);

return;

}

if (D>0)

document.getElementById('output').innerHTML = 'x1 = '+print((-B+Math.sqrt(D))/A, 0)+'<br />x2 = '+print((-B-Math.sqrt(D))/A, 0);

else

document.getElementById('output').innerHTML = 'x1 = '+print(-B/A,Math.sqrt(-D)/A)+'<br />x2 = '+print(-B/A,-Math.sqrt(-D)/A);

}

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

#include "stdafx.h"

#include "windows.h"

#include "iostream.h"

void main()

{ if (CreateDirectory("c:\\new",NULL))

cout << "директория изменена " << endl;

else

cout << " Ошибка в создание каталога " << endl;}

  1. Запросите фамилии, должности и оклады всех служащих, работающих в должности представителей продаж (sales representative) или биржевым маклером (stock clerk), оклады которых не равны $2,500, $3,500 или $7000.

select LAST_NAME,JOB_ID,SALARY from EMPLOYEES where (JOB_ID='SA_REP' or JOB_ID='ST_CLERK') and SALARY not in (2500,3500,7000);

  1. Реализовать представленные в таблице функции (Y,Z) с помощью микросхемы мультиплексора (74153).

X2

X1

X0

Y

Z

X2

X1

X0

Y

Z

0

0

0

1

0

1

0

0

0

0

0

0

1

1

1

1

0

1

1

0

0

1

0

1

1

1

1

0

0

1

0

1

1

0

0

1

1

1

0

0

  1. Экономические требования разработки ПО.