- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •Классификация:
- •Система контекстной помощи
- •По модели данных[править | править вики-текст]
- •По степени распределённости[править | править вики-текст]
- •Основные сведения[править | править вики-текст]
- •Ассоциации[править | править вики-текст]
- •Агрегация[править | править вики-текст]
- •Композиция[править | править вики-текст]
- •Обобщение (наследование)[править | править вики-текст]
- •Реализация[править | править вики-текст]
- •Зависимость[править | править вики-текст]
- •Уточнения отношений[править | править вики-текст]
- •Уровни схемы базы данных[править | править вики-текст]
- •Иды требований по характеру[править | править вики-текст]
- •Источники требований[править | править вики-текст]
- •Вид и состав требований тз[править | править вики-текст]
- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •9. Экономическая часть проекта
- •9.1. Технико-экономический анализ и оценка показателей экономической эффективности проекта.
- •9.2. Расчёт себестоимости электроэнергии
- •Развитие языков программирования и средств разработки
- •Напишите программу реализации системной функции CreateConsoleScreenBuffer
- •Анализ требований к проекту
- •Проектирование
- •Реализация
- •Тестирование продукта
- •Внедрение и поддержка
- •По целям исследований
- •По особенностям представления
- •Свойства парадигм программирования
- •Инициализация объектов данных[править | править вики-текст]
- •Программирование арифметических операций[править | править вики-текст]
- •Циклы[править | править вики-текст]
- •Инвариантные фрагменты кода[править | править вики-текст]
Развитие языков программирования и средств разработки
К современным средствам разработки приложений относятся: языки программирования, компиляторы, различные редакторы ресурсов.
Если проследить короткую, но пестую историю развития методов программирования, можно выделить две основные тенденции: перемещение акцентов от программирования отдельных частей к программированию более крупных компонент, развитие и совершенствование языков программирования высокого уровня. Большинство современных коммерческих программных систем существенно сложнее и объемнее, чем их предшественники. Рост сложности обусловил проведение серьезных исследований в области методологии проектирования программных систем; в частности, были разработаны методы декомпозиции, абстрагирования и построения иерархии. Кроме того, были созданы более выразительные языки программирования. Возникла тенденция перехода от процедурных языков программирования (описывающих действия компьютера) к декларативным языкам (описывающимключевые абстрактные понятия предметной области).
Языки программирования условно можно разбить на пять поколений:
FORTRAN I ALGOL-58 |
Математические формулы Математические формулы |
FORTRAN II ALGOL-60 COBOL Lisp |
Подпрограммы, раздельная компи-ляция Блочная структура, типы данных Описание данных, работа с файлами Обработка списков, указатели |
PL/1 ALGOL-68 С Pascal Simula |
FORTRAN + ALGOL + COBOL Преемник ALGOL-60 Структуры, указатели Развитие ALGOL-60 Классы, абстактные данные |
C++ Delphi Visual Basic |
ООП (C + SIMULA) ООП (Развитие Pascal) ООП (Развитие Basic) |
Java JavaScript HTML, VRML |
Сетевой, распределенный, объектно – ориентированный Гипертекст, виртуальная реальность |
Цикл развития языков программирования представлен ниже:
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №64
по специальности 5B0704 - Вычислительная техника и программное обеспечение
Создайте класс fraction. Данные класса должны быть представлены двумя полями: числителем и знаменателем. Методы класса должны получать от пользователя значения числителя и знаменателя дроби в форме 3/5 и выводить значение дроби в этом же формате. Кроме того, должен быть разработан метод, складывающий значения двух дробей. Напишите функцию main(), которая выводит результат на экран.
public class fraction {
private int up;
private int down;
public void setUp(int val) {
this.up = val;
}
public void setDown(int val) {
this.up = val;
}
public double getDown() {
return this.down;
}
public double getUp() {
return this.up;
}
public String add_franctions(int up1, int down1, int up2, int down2) {
return up1 * down2 + up2 * down1 + "/" + down1 * down2;
}
}
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) {
fraction fraction = new fraction();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int up1;
int up2;
int down1;
int down2;
String add_fraction;
try {
System.out.println("Ender first fraction : ");
String fraction1 = reader.readLine();
up1 = Integer.parseInt(String.valueOf(fraction1.charAt(0)));
down1 = Integer.parseInt(String.valueOf(fraction1.charAt(2)));
System.out.println("Your fraction is "+up1+"/"+down1);
System.out.println("Enter second fraction : ");
String fraction2 = reader.readLine();
up2 = Integer.parseInt(String.valueOf(fraction2.charAt(0)));
down2 = Integer.parseInt(String.valueOf(fraction2.charAt(2)));
System.out.println("Your fraction is "+up2+"/"+down2);
add_fraction = fraction.add_franctions(up1, down1, up2, down2);
System.out.println("Sum of fractions : "+add_fraction);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Напишите программу реализации системной функции CreateMailslot
#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
void main()
{ HANDLE hsl=NULL;
hsl= CreateMailslot("\\\\.\\mailslot\\hello",0,MAILSLOT_WAIT_FOREVER,NULL);
if (hsl!=INVALID_HANDLE_VALUE)
{ cout << "изменение успешно внесены" << endl;
Для каждого служащего выведите фамилию и вычислите количество месяцев со дня найма до настоящего времени, округленное до ближайшего целого. Назовите столбец MONTHS_WORKED. Результаты отсортируйте по количеству отработанных месяцев. Округлите количество месяцев до целого числа.
SELECT last_name, ROUND(MONTHS_BETWEEN (SYSDATE, hire_date)) month_worked
FROM employees
ORDER BY month_worked;
Реализовать представленные в таблице функции (Y,Z) с помощью микросхемы мультиплексора (74153).
|
|
Полнофункциональность и целостность ПО.
Согласно ГОСТу по требованиям к программному обеспечению средств измерений. целостность программного обеспечения и данных это Состояние программного обеспечения и данных, характеризующееся отсутствием изменений преднамеренного или случайного характера.
Полнофункциональность ПО это когда программа обладает полным н абором необходимых функций для пользователя.
Целостность информации (также целостность данных) — термин в информатике (криптографии, теории телекоммуникаций, теории информационной безопасности), означающий, что данные не были изменены при выполнении какой-либо операции над ними, будь то передача, хранение или отображение.
В криптографии и информационной безопасности целостность данных (в широком смысле) — это сохранение данных в том виде, в каком они были созданы. Примеры нарушений целостности данных:
попытка злоумышленника изменить номер аккаунта в банковской транзакции, или попытка подделки документа;
случайное изменение информации при передаче или при неисправной работе жёсткого диска;
искажение фактов средствами массовой информации с целью манипуляции общественным мнением.
В теории баз данных целостность данных означает корректность данных и их непротиворечивость. Обычно она также включает целостность связей, которая исключает ошибки связей между первичным и вторичным ключом. Примеры нарушений целостности данных:
существование записей-сирот (дочерних записей, не имеющих связи с родительскими записями);
существование одинаковых первичных ключей.
Для проверки целостности данных в криптографии используются хеш-функции, например, MD5. Хэш-функция преобразует последовательность байт произвольного размера в последовательность байт фиксированного размера (число). Если данные изменятся, то и число, генерируемое хеш-функцией, тоже изменится.
Целостность данных — свойство, при выполнении которого данные сохраняют заранее определённый вид и качество.
Методы и способы реализации требований, изложенных в определениях термина, подробно описываются в рамках единой схемы обеспечения информационной безопасности объекта (защиты информации).
Основными методами обеспечения целостности информации (данных) при хранении в автоматизированных системах являются:
обеспечение отказоустойчивости (резервирование, дублирование, зеркалирование оборудования и данных, например через использование RAID-массивов);
обеспечение безопасного восстановления (резервное копирование и электронное архивирование информации).
Одним из действенных методов реализации требований целостности информации при её передаче по линиям связи является криптографическая защита информации (шифрование, хеширование,электронная цифровая подпись).
При комплексном подходе к защите бизнеса, направление обеспечения целостности и доступности информации (ресурсов бизнес-процессов) перерастает в план мероприятий, направляемых наобеспечение непрерывности бизнеса[6].
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №65
по специальности 5B0704 - Вычислительная техника и программное обеспечение
В приведенном ниже фрагменте добавьте конструктор для класса myderived. Он должен передать указатель на инициализируемую строку конструктору класса mybase. Кроме того, конструктор myderived() должен инициализировать переменную 1еn длиной строки.
#include <iostream>
#include <cstring>
using namespace std;
class mybase {
char str[80];
public:
mybase(char *s) { strcpy(str, s); }
char *get() { return str; }
};
class myderived: public mybase {
int len;
public:
// добавьте здесь конструктор myderived()
int getlen() { return len; }
void show() { cout << get () << ‘\n’; }
};
int main() {
myderived ob("привет");
ob.show();
cout << ob.getlen() << '\n';
getch() ;
return 0;
}
Напишите программу реализации системной функции CreatePipe
#include <windows.h>
#include <stdio.h>
#define BUFSIZE 4096
int main(void)
{ CHAR chBuf[BUFSIZE];
DWORD dwRead, dwWritten;
HANDLE hStdin, hStdout;
BOOL bSuccess;
hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
hStdin = GetStdHandle(STD_INPUT_HANDLE);
if ( (hStdout == INVALID_HANDLE_VALUE) ||
(hStdin == INVALID_HANDLE_VALUE) )
ExitProcess(1);
printf("\n ** сообщение для выявление процесса ** \n");
for (;;)
{ bSuccess = ReadFile(hStdin, chBuf, BUFSIZE, &dwRead, NULL);
if (! bSuccess || dwRead == 0)
break;
bSuccess = WriteFile(hStdout, chBuf, dwRead, &dwWritten, NULL);
if (! bSuccess)
break; }
return 0;}
Получите по каждому служащему отчет в следующем виде: <employee last name> earns <salary> monthly but wants <3 times salary> (<фамилия> зарабатывает <оклад> в месяц, но желает <утроенный оклад>). Назовите столбец Dream Salaries.
SELECT Last_name ||' earns'|| TO_CHAR (salary, '$99,999.00') || ' monthly but wants' || TO_CHAR (salary*3, '$999,999.00')
AS "Dream Salaries"
FROM employees;
Реализовать представленные в таблице функции (Y,Z) с помощью микросхемы мультиплексора (74153).
|
|
Инструментальные средства разработки программного обеспечения (ПО).
Инструмента́льное програ́ммное обеспе́чение — программное обеспечение, предназначенное для использования в ходе проектирования, разработки и сопровождения программ, в отличие от прикладного и системного программного обеспечения.
Текстовые редакторы
Интегрированные среды разработки
SDK
Компиляторы
Интерпретаторы
Линковщики
Парсеры и генераторы парсеров (см. Javacc)
Ассемблеры
Отладчики
Профилировщики
Генераторы документации
Средства анализа покрытия кода
Средства непрерывной интеграции
Средства автоматизированного тестирования
Системы управления версиями
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №66
по специальности 5B0704 - Вычислительная техника и программное обеспечение
Добавьте отсутствующие конструкторы в данную программу:
#include <iostream>
using namespace std;
class base {
int i, j;
public:
// требуется конструктор
void showij() {
cout << i << ' ' << j << '\n';
}
};
class derived: public base {
int k;
public:
// требуется конструктор
void show () {
cout << k << ' ';
showij();
}
};
int main() {
derived ob(l, 2, 3);
ob.show();
getch();
return 0;
}
Напишите программу реализации системной функции CreateProcess
#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
void main()
{ STARTUPINFO cif;
ZeroMemory(&cif,sizeof(STARTUPINFO));
PROCESS_INFORMATION pi;
if (CreateProcess("c:\\windows\\notepad.exe",NULL,
NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi)==TRUE)
{ cout << "process" << endl;
cout << "handle " << pi.hProcess << endl;
Sleep(1000);
TerminateProcess(pi.hProcess,NO_ERROR);
Напишите запрос для вывода фамилий и окладов всех служащих. Назовите выходной столбец SALARY. Длина столбца SALARY – 15 символов с заполнением символов $ слева.
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);
Реализовать представленные в таблице функции (Y,Z) с помощью микросхемы мультиплексора (74153).
|
|
Тестирование и отладка ПО.
Отладка ПС - это деятельность, направленная на обнаружение и исправление ошибок в ПС с использованием процессов выполнения его программ. Тестирование ПС - это процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ. Указанный набор данных называется тестовым или просто тестом. Таким образом, отладку можно представить в виде многократного повторения трех процессов: тестирования, в результате которого может быть констатировано наличие в ПС ошибки, поиска места ошибки в программах и документации ПС и редактирования программ и документации с целью устранения обнаруженной ошибки. Другими словами:
Отладка = Тестирование + Поиск ошибок + Редактирование.
Тестирование программного средства (ПС) - это процесс выполнения программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ. Указанный набор данных называется тестовым или просто тестом. Тестирование программ является одной из составных частей более общего понятия - «отладка программ». Под отладкой понимается процесс, позволяющий получить программу, функционирующую с требующимися характеристиками в заданной области изменения входных данных.
Процесс отладки включает:
действия, направленные на выявление ошибок (тестирование);
диагностику и локализацию ошибок (определение характера ошибок и их местонахождение);
внесение исправлений в программу с целью устранения ошибок.
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №67
по специальности 5B0704 - Вычислительная техника и программное обеспечение
Написать программу для вычисления косинуса с заданной точностью
:
.
Необходимо создать специальный класс
с соответствующим методом. Аргумент x
и точность
определяются как поля класса. В функцию
main()
включите краткую демонстрацию работы
созданного класса.
#include <iostream>
#include <math.h>
using namespace std;
const double PI=3.1415926;
int main()
{
setlocale(0,"Rus");
double x,e,t,p,p1,k;
int n,i;
cout<<"Введите х: ";cin>>x;
do
{
cout<<"Введите e>0(лучше всего 0.00001): ";cin>>e;
if(e<0) cout<<"Повторите ввод."<<endl;
}
while(e<0);
k=4*x*x/pow(PI,2);
p=1-k;
p1=0;
n=1;
while (abs(p-p1)>e )
{
p1=p;
n=n+1;
t=1-k/pow((2*n-1.0),2);
p=p*t;
}
cout<<"Наш результат: "<<p1<<endl;
cout<<"Оригинал(cos(x)): "<<cos(x)<<endl;
system("PAUSE");
return 0;
}
Напишите программу реализации системной функции CreateService
#include <windows.h>
#include <iostream.h>
int main()
{ SC_HANDLE hServiceControlManager, hService; // связываемся с менеджером сервисов
hServiceControlManager = OpenSCManager(
NULL, // локальная машина
NULL, // активная база данных сервисов
SC_MANAGER_CREATE_SERVICE // возможно создание сервиса
);
if (hServiceControlManager == NULL)
{ cout << "Open service control manager failed." << endl
<< "The last error code: " << GetLastError() << endl
<< "Press any key to exit." << endl;
cin.get();
return 0; }
cout << "Service control manager is opened." << endl
<< "Press any key to continue." << endl;
cin.get();
// устанавливаем новый сервис
Выведите фамилию каждого сотрудника, дату найма и день пересмотра зарплаты, который приходится на первый понедельник после шести месяцев службы. Назовите колонку REVIEW. Даты должны форматироваться таким образом, чтобы их вывод был аналогичен следующему: “Monday, the Thirty-First of July, 2000”
select LAST_NAME, HIRE_DATE, StrConv(WeekDayName(WeekDay(
DateAdd('d',9-WeekDay(DateAdd('m',6,HIRE_DATE)),DateAdd('m',6,HIRE_DATE))
),false,1),3)+', '+CStr(Day(
DateAdd('d',9-WeekDay(DateAdd('m',6,HIRE_DATE)),DateAdd('m',6,HIRE_DATE))
))+' '+MonthName(Month(
DateAdd('d',9-WeekDay(DateAdd('m',6,HIRE_DATE)),DateAdd('m',6,HIRE_DATE))
),true)+', '+ CStr(Year(
DateAdd('d',9-WeekDay(DateAdd('m',6,HIRE_DATE)),DateAdd('m',6,HIRE_DATE))
)) as REVIEW from EMPLOYEES;
Реализовать представленные в таблице функции (Y,Z) с помощью микросхемы дешифратора (74138).
-
2
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
Файл - менеджеры – программы управления файлами при разработке – возможности и их наращивание, разнообразие и характеристики использования.
Файловый менеджер (англ. file manager) — компьютерная программа, предоставляющая интерфейс пользователя для работы с файловой системой и файлами. Файловый менеджер позволяет выполнять наиболее частые операции над файлами — создание, открытие/проигрывание/просмотр, редактирование, перемещение, переименование, копирование, удаление, изменение атрибутов и свойств, поиск файлов и назначение прав. Помимо основных функций, многие файловые менеджеры включают ряд дополнительных возможностей, например, таких, как работа с сетью (через FTP, NFS и т. п.), резервное копирование, управление принтерами и пр.
Выделяют различные типы файловых менеджеров, например:
Навигационные и пространственные — иногда поддерживается переключение между этими режимами.
Двухпанельные — в общем случае имеют две равноценных панели для списка файлов, дерева каталогов и т. п.
Наиболее известные двухпанельные файловые менеджеры
|
Навигационные файловые менеджеры
|
Трёхмерные файловые менеджеры
|
|
|
|
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №68
по специальности 5B0704 - Вычислительная техника и программное обеспечение
Написать программу для вычисления синуса с заданной точностью
:
.
Необходимо создать специальный класс
с соответствующим методом. Аргумент x
и точность
определяются как поля класса. В функцию
main()
включите краткую демонстрацию работы
созданного класса.#include <iostream> using namespace std; double Sh(double x, double eps) // eps - точность, обычно полагают не больше 0.1 { double an = x, sum = an; int i = 1; while (fabs(an) > eps) { an *= (x*x)/(2*i*(2*i+1)); sum += an; i++; } return sum; } int main() { setlocale(0,""); double x, eps; cout << "Введите x: "; cin >> x; cout << "Введите eps: "; cin >> eps; if (eps > 0.1) { cout << "\neps должен быть меньше или равен 0.1\n" << endl; return 0; } cout << "\nsh(" << x << ") = " << Sh(x, eps); cout << "\n" << endl; return 0; }
Напишите программу реализации системной функции CreateThread
#include <windows.h>
#include <stdio.h>
DWORD WINAPI MyThread( LPVOID lpParam )
{ printf("Parameter = %d\n", *(DWORD*)lpParam);
return 0; }
VOID main( VOID )
{ DWORD ThreadId, ThreadParameter = 10;
HANDLE hThread;
hThread = CreateThread(
NULL, // атрибуты безопасности по умолчанию
0, // размер стека по умолчанию
MyThread , // указатель на процедуру создаваемого потока
&ThreadParameter, // аргумент, передаваемый функции потока
0, // флаги создания по умолчанию
&ThreadId); // возвращаемый идентификатор потока
if (hThread == NULL) printf("CreateThread failed." );
getchar();
CloseHandle( hThread ); }
По каждому служащему выведите фамилию, дату найма и день недели, когда он был нанят на работу. Назовите последний столбец DAY. Отсортируйте результаты по дням недели, начиная с понедельника.
select LAST_NAME, HIRE_DATE, StrConv(WeekDayName(WeekDay(HIRE_DATE),false,1),3) as DAY from EMPLOYEES;
Реализовать представленные в таблице функции (Y,Z) с помощью микросхемы дешифратора (74138).
|
|
Технико-экономическое обоснование ПО.
Программу, как любое техническое решение необходимо рассматривать с экономической точки зрения экономической целесообразности и пользы. Целью технико-экономического обоснования разработки является количественное и качественное доказательство экономической целесообразности усовершенствования программы, а также определение организационно-экономических условий ее эффективного функционирования.
Эффективность программного модуля определяется его качеством и эффективностью процесса разработки и сопровождения. Качество программного изделия определяется тремя составляющими:
· с точки зрения специалиста-пользователя данного программного продукта;
· с позиции использования ресурсов и их оценки;
· по выполнению требований на программное изделие.
Программное изделие должно быть разработано так, чтобы оно выполняло свои функции без лишних затрат ресурсов (оперативной памяти ЭВМ, машинного времени, пропускной способности каналов передачи данных и др. – на стадии функционирования; время разработки и денежных ресурсов – на стадии использования программного изделия).
Содержание технико-экономического обоснования разработки программы заключается в следующем:
· расчет технико-экономических показателей и выбор базы сравнения;
· определение трудоемкости и стоимости программного обеспечения (ПО);
· расчет цены ПО;
· расчет капитальных и эксплутационных затрат на разработку;
· определение показателей финансово-экономической эффективности.
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №69
по специальности 5B0704 - Вычислительная техника и программное обеспечение
Написать
программу для вычисления экспоненты с
заданной точностью
:
.
Необходимо создать специальный класс
с соответствующим методом. Аргумент x
и точность
определяются как поля класса. В функцию
main()
включите краткую демонстрацию работы
созданного класса.
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main()
{
double a,b,c,s=1,d=1,i,x,p=0;
ofstream out;
ifstream in;
in.open("in.txt");
in>>a; in>>b; in>>c;
in.close();
in.clear();
cout << "inerval ["<<a<<" ; "<<b<<"] \nshag = "<<c<<"\n\n";
out.open("out.txt");
for (i=a;i<b+0.1;i+=c)
{
if (i<=0) {for (int k=1;d!=p;k++)
{
s=s*(-1)*i/k;
p=d;
d+=s;
}
cout <<i<<" "<<1/d<< endl;
}
else {for (int k=1;d!=p;k++)
{
s=s*(1)*i/k;
p=d;
d+=s;
}
cout <<i<< " "<<d<< endl;
}
}
out.close();
out.clear();
return 0;
Напишите программу реализации системной функции CreateWaitableTimer
#include <windows.h>
#include <stdio.h>
int main()
{ HANDLE hTimer = NULL;
LARGE_INTEGER liDueTime;
hTimer = CreateWaitableTimer(NULL, TRUE, "WaitableTimer");
/* задать срабатывание через 5 секунд */
liDueTime.QuadPart=-50000000;
SetWaitableTimer( hTimer, &liDueTime, 0, NULL, NULL, 0 );
WaitForSingleObject( hTimer, INFINITE );
return 0;}
Напишите запрос для вывода фамилии и суммы комиссионных каждого служащего. Если служащий не зарабатывает комиссионных, укажите в столбце “No Commission”. Назовите столбец COMM.
select LAST_NAME, SALARY, COMMISSION_PCT from EMPLOYEES where COMMISSION_PCT is not null order by SALARY desc, COMMISSION_PCT desc;
Реализовать представленные в таблице функции (Y,Z) с помощью микросхемы дешифратора (74138).
|
|
Классификация направлений программирования и их особенностей.
Существующие языки программирования классифицируют по четырём основным группам: процедурные, объектно ориентированные, функциональные и логические. Дадим краткие определения каждого подхода.
Процедурное программирование - такое программирование, когда программа отделена от данных и состоит из последовательности команд, обрабатывающих данные. Данные как правило хранятся в виде переменных. Весь процесс вычисления сводится к изменению их содержимого.
Декларативные языки программирования - это языки объявлений и построения структур. К ним относятся функциональные и логические языки программирования. В этих языках не производится алгоритмических действий явно, то есть алгоритм не задается прграммистом, а строится самой программой. В декларативных языках задается, производится построение какой-либо структуры или системы, то есть декларируются (объявляются) какие-то свойства создаваемого объекта. Эти языки получили широкое применение в системах автоматизированного проектирования (САПР), в так называемых CAD-пакетах, в моделировнии, системах исккусственного интеллекта.
Объектно-ориентированное программирование - в этих языках переменные и функции группируются в так называемые классы (шаблоны). Благодаря этому достигается более высокий уровень структуризации программы. Объекты, порождённые от классов вызывают методы (функции или процедуры) друг друга и меняют таким образом состояние свойств (переменных). С формально-математической стороны объектно ориентированный способ написания программ базируется на процедурной модели программирования, но с содержательной стороны ООП базируется не на функции, а на объекте, как целостной системе, имеющей стандартный автоматический межобъектный интерфейс.
Сетевые языки - языки, предназначенные для организации взаимодействия удаленных компьютеров в интенсивном интерактивном режиме, а поэтому они построены на принципах интерпретации, то есть построчной, интерактивной обработки строк программного кода, описывающего некоторый сценарий (скрипт) сетевого взаимодействия компьютеров, поэтому часто они называются скриптовыми языками, хотя скриптовые языки не обязательно являются сетевыми, к примеру, пакетные командные языки различных операционных сред.
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
АТТЕСТАЦИОННЫЙ ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №70
по специальности 5B0704 - Вычислительная техника и программное обеспечение
Написать программу для вычисления логарифма с заданной точностью
:
.Необходимо
создать специальный класс с соответствующим
методом. Аргумент x
и точность
определяются как поля класса. В функцию
main()
включите краткую демонстрацию работы
созданного класса.
(это фигня на самом деле)
#include <iostream>
#include <cmath>
using namespace std;
int pwr(int xx, int i)
{
if (i == 1)
return xx;
else
return pwr(xx, i - 1);
}
float fs(int xx, int nn)
{
return (sqrt(pwr(xx, nn))/log(nn * xx));
}
int main()
{
int n, x;
float s = 0;
cout<<"x: ";
cin>>x;
cout<<"n: ";
cin>>n;
for (int i = 1;i <= n;i++){
s += fs(x, i);
}
cout<<"s = "<<s<<endl;
return 0;
}
