Организация ЭВМ и вычислительных систем

Реализация функции вычисления целочисленного выражения на встроенном ассемблере MASM в среде Microsoft Visual Studio на языке C++. Функция обработки элементов массива с применением команды сравнения, переходов и циклов на встроенном ассемблере.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 16.12.2019
Размер файла 688,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ АКАДЕМИКА С. П. КОРОЛЁВА (НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)» (СГАУ)

Факультет Информатики

Кафедра Программных систем

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к лабораторному практикуму

«Организация ЭВМ и вычислительных систем»

Студент Я.В. Солонская

Руководитель Л.С. Зеленко

Самара 2015 г.

Содержание

  • 1. Арифметические и логические команды
    • 1.1 Теоретические основы лабораторной работы
    • 1.2 Задание
    • 1.3 Схема алгоритма
    • 1.4 Решение
    • 1.5 Ответ
  • 2. Арифметические команды и команды переходов
    • 2.1 Теоретические основы лабораторной работы
    • 2.2 Задание
    • 2.3 Схема алгоритма
    • 2.4 Решение
    • 2.5 Ответ
  • 3. Команды работы с массивами и стеком
    • 3.1 Теоретические основы лабораторной работы
    • 3.2 Задание
    • 3.3 Схема алгоритма
    • 3.4 Решение
    • 3.5 Ответ
  • 4. Команды математического сопроцессора
    • 4.1 Теоретические основы лабораторной работы
    • 4.2 Задание
    • 4.3 Схема алгоритма
    • 4.4 Решение
    • 4.5 Ответ
  • Список использованных источников

1. Арифметические и логические команды

1.1 Теоретические основы лабораторной работы

1.1.1 Команда MOV

MOV используется для копирования значения из одного места в другое. «Местом» может быть регистр, ячейка памяти или непосредственное значение:

mov eax 5; eax = 5, eax - регистр

1.1.2 Арифметические команды

Сложение (ADD)

mov eax, a

mov ebx, d

add eax, ecx; <eax> = a + b, результат сохраняется в eax

Вычитание (SUB)

mov eax, a

mov ebx, d

sub eax, ecx; <eax> = a - b, результат сохраняется в eax

Знаковое умножение (IMUL)

mov eax, a

mov ebx, d

imul eax, ecx; <eax> = a * b, результат сохраняется в eax

Знаковое деление (IDIV)

mov eax, a

mov ebx, d

idiv eax, ecx; <eax> = a / b, результат сохраняется в eax

1.1.3 Логические команды

Команда XOR, использующаяся для сброса и установки бит и для арифметических операций в коде ASCII. Если один из сравниваемых битов равен 0, а другой равен 1, то результат равен 1; если сравниваемые биты одинаковы (оба - 0 или оба - 1) то результат - 0.

1.1.4 Условные переходы

JE/JZ перейти, если равно;

JNE перейти, если не равно.

1.1.5 Команды работы со стеком

PUSH помещает содержимое источника в стэк:

push eax

POP помещает в приемник слово или двойное слово, находящееся в вершине стека. POP выполняет действие, полностью обратное PUSH:

pop ecx

Команда PUSH практически всегда используется в паре с POP.[1]

1.2 Задание

В программе необходимо реализовать функцию вычисления целочисленного выражения (-53/a+d-4*a)/(1+a*b) на встроенном ассемблере MASM в среде Microsoft Visual Studio на языке C++.

1.3 Схема алгоритма

На рисунке 1.1 приведена схема алгоритма вычисления функции

(-53/a+d-4*a)/(1+a*b). В данной программе сначала записываются данные в регистр, далее происходит вычисление (1+a*b), затем проверка на равенство 0. Когда знаменатель равен 0, программа устанавливает значение m = 0 и выводит на экран «Ошибка деления на ноль».

Рисунок 1.1 Схема алгоритма вычисления исходного выражения (начало)

Рисунок 1.1 Схема алгоритма вычисления исходного выражения (продолжение)

Рисунок 1.1 Схема алгоритма вычисления исходного выражения (конец)

1.4 Решение

#include "stdafx.h"

#include <stdio.h>// стандартный ввод-вывод

#include <iostream>// потоковый ввод-вывод

// функция вычисления выражения (-53/a+d-4*a)/(1+a*b)

int m=1;

{

int calc(int a, int b, int d)

{

int result=0;

_asm{

mov eax, b

mov ebx, a

mov ecx, d

or eax, 0

je error

imul eax, ebx; //<edx:eax> = a*b

add eax,1; //<eax>=a*b+1

push eax; //в стеке a*b+1

mov eax, 53; //<eax>=53 готовимся к делению

cdq ; //eax ==> edx:eax

idiv ebx; //<eax>=53/a

neg eax;//<eax>=-53/a

add eax, ecx; //<eax>=-53/a+d

sal ebx, 2; //<ebx>=4*a

sub eax, ebx; //<eax>=-53/а+d-4*a готовимся к делению

pop ebx; //<eax>= 1+a*b

cdq;// eax ==> <edx:eax>=-53/a+d-4*a

or ebx, 0;

je error;

idiv ebx; //<ebx>=(-53/a+d-4*a)/(1+a*b)

mov result, eax; //result = eax

jmp end_1

error: mov m,0

end_1:

}

return result;

}

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_CTYPE, "rus");

int a, b, d;

std::cout << "a = " << std::endl;// потоковый вывод

std::cin >> a;// потоковый ввод

printf("b = \n");// стандартный вывод

scanf_s("%d",&b);// стандартный ввод

std::cout << "d = " << std::endl;

std::cin >> d;

int res = calc(a, b, d);// вычисление выражения

if (m==0) std::cout << "Ошибка деления на ноль" << std::endl;

else printf("%d", res);// вывод результата вычисления выражения

system("PAUSE");

return 0;

}

1.5 Ответ

На рисунках 1.2 и 1.3 приведены примеры выполнения программы: в случае нормального выполнения и когда знаменатель равен 0.

Рисунок 1.2 Вычисление исходного выражения, делитель не равен 0

Рисунок 1.3 Вычисление исходного выражения, делитель равен 0

2. Арифметические команды и команды переходов

2.1 Теоретические основы лабораторной работы

2.2.1 Команда MOV

MOV используется для копирования значения из одного места в другое. Это «место» может быть регистр, ячейка памяти или непосредственное значение:

mov eax 12; eax = 12, eax - регистр

2.1.2 Арифметические команды

Сложение (ADD)

mov eax, a

mov ebx, d

add eax, ecx; <eax> = a + b, результат сохраняется в eax

Вычитание (SUB)

mov eax, a

mov ebx, d

sub eax, ecx; <eax> = a - b, результат сохраняется в eax

Знаковое умножение (IMUL)

mov eax, a

mov ebx, d

imul eax, ecx; <eax> = a * b, результат сохраняется в eax

Знаковое деление (IDIV)

mov eax, a

mov ebx, d

idiv eax, ecx; <eax> = a / b, результат сохраняется в eax

2.1.3 Безусловные переходы

Основной инструкцией перехода в наборе инструкций процессора 8086 является инструкция JMP. Эта инструкция указывает процессору 8086, что в качестве следующей за JMP инструкцией нужно выполнить инструкцию по целевой метке:

jmp exit_1; переход на конец программы.

2.1.4 Условные переходы

- JE перейти, если равно:

or ebx, ebx; сравнение b и 0

je error; ошибка деления на ноль

- JL перейти, если меньше чем:

cmp ecx, ebx; сравнение а и b

jl l_smaller; переход если a < b

- JO перейти по переполнению:

jo error; ошибка переполнения [2].

2.2 Задание

В программе необходимо реализовать функцию вычисления условного целочисленного выражения

.

2.3 Схема алгоритма

На рисунке 2.1 приведена схема алгоритма вычисления условного выражения (2.1). В начале работы необходимо ввести исходные данные: a, b. затем проверить их значения и в зависимости от условий выдать соответствующее сообщение: либо значение функции, либо значение m = 0, если a или b равно 0.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 2.1 Схема алгоритма вычисления исходного условного выражения (конец)

2.4 Решение

#include "stdafx.h"

#include <iostream>

int m=1;

int calc(int a, int b)

{

int result = 0;

__asm{

mov ebx, a

mov ecx, b

cmp ebx, ecx; сравнение a и b

jg bigger; переход если a>b

jl smaller; переход если a<b

mov result, -5

jmp end_1

bigger:

or ebx, 0

je error

mov eax, ecx; eax=b

cdq

idiv ebx; eax=b/a

add eax, 2; eax=b/a+2

jmp end_1

smaller:

or ecx, 0

je error

mov eax, ebx

sub eax, 5

cdq

idiv ecx

jmp end_1

error: mov m, 0

end_1:

mov result, eax

}

}

return result; // возвращаем результат вычисления выражения

}

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(LC_CTYPE, "rus");

int a, b;

std::cout << "a = " << std::endl;

std::cin >> a;

std::cout << "b = " << std::endl;

std::cin >> b;

int res = calc(a, b);// вычисление выражения

if (m==0) std::cout << "Ошибка деления на ноль" << std::endl;

else

{

std::cout << "Результат: " << std::endl;

printf("%d", res);// вывод результата вычисления выражения

}

printf("\n");

system("PAUSE");

return 0;

}

2.5 Ответ

Ниже приведены примеры выполнения программы: в случае, когда a>b (рисунок 2.2), в случае, когда a=b (рисунок 2.3), в случае, когда a<b (рисунок 2.4), и в случае, когда делитель равен 0 (рисунок 2.5).

Рисунок 2.2 Результат решения при a > b

Рисунок 2.3 Результат решения при a = b

Рисунок 2.4 Результат решения при a < b

Рисунок 2.5 Результат решения при b = 0

3. Команды работы с массивами и стеком

3.1 Теоретические основы лабораторной работы

3.1.1 Команда MOV

MOV используется для копирования значения из одного места в другое. «Местом» может быть регистр, ячейка памяти или непосредственное значение:

mov eax 5; eax = 5, eax - регистр

3.1.2 Арифметические команды

Сложение (ADD)

mov eax, a

mov ebx, d

add eax, ecx; <eax> = a + b, результат сохраняется в eax

Вычитание (SUB)

mov eax, a

mov ebx, d

sub eax, ecx; <eax> = a - b, результат сохраняется в eax

Знаковое умножение (IMUL)

mov eax, a

mov ebx, d

imul eax, ecx; <eax> = a * b, результат сохраняется в eax

Знаковое деление (IDIV)

mov eax, a

mov ebx, d

idiv eax, ecx; <eax> = a / b, результат сохраняется в eax

3.1.3 Команды сравнения

CMP сравнивает два операнда:

cmp ecx,0; сравниваем ecx и 0

3.1.4 Условные переходы

- JE/JZ перейти, если равно

- JNE перейти, если не равно

3.1.5 Логические команды

OR объединить по «ИЛИ»:

or edi, edi; сравнение edi и 0

XOR сложить по MOD2 («исключающее ИЛИ»):

xor edx, edx; обнуляем содержимое регистра [3]

ассемблер вычисление массив встроенный

3.2 Задание

В программе необходимо реализовать функцию обработки элементов массива, используя команды сравнения, переходов и циклов на встроенном ассемблере.

В одномерном массиве A={a[i]} целых чисел вычислить произведение кубов всех положительных элементов массива.

3.3 Схема алгоритма

На рисунке 3.1 представлена схема вычисления суммы отрицательных элементов в массиве. В начале программы производится ввод массива. После его обработки получаем необходимый результат.

Рисунок 3.1 Схема алгоритма вычисления суммы (начало)

Рисунок 3.1 Схема алгоритма вычисления суммы (конец)

3.4 Решение

#include "stdafx.h"

#include <stdio.h>

#include <iostream>

int mass(int len, int *arr)

{

int result=1;

__asm{

xor esi, esi;// подготовим регистр индекса в массиве

mov ebx, arr;// ebx указывает на начало массива

mov ecx, len;// счётчик цикла по всем элементам

mov result,1

jcxz exit_1;// завершить, если длина массива 0

mov eax, 1

begin_loop:

mov edi,[ebx + esi*4];// определяем текущий элемент

mov edx, 0

cmp edi, edx//сравнение с 0

jl end_loop;// если меньше, то завершаем цикл

push edi

imul edi//возвозим в квадрат

imul eax,edi//нахождение произведения

pop edi

imul eax, edi//возводим в куб

end_loop:

inc esi;//переходим к следующему элементу

loop begin_loop;// повторяем цикл для всех элементов массива

exit_1:

mov result, eax;//возвращаем произведение

}

return result;//возвращение результата

}

int _tmain(int argc, _TCHAR* argv[])

{

int s;

std::cout << "Size: ";

std::cin >> s;

if (s <= 0 )

{

std::cout << "Error!"<< std::endl ;

}

else

{

int *mas = new int[s];

std::cout << "Mass: "<< std::endl;

for (int i=0; i<s; i++)

std::cin >> mas[i];

std::cout << "Result: ";

std::cout << calc(mas,s)<< std::endl;

}

system("PAUSE");

return 0;

}

3.5 Ответ

На рисунке 3.2 приведён пример работы программы.

Рисунок 3.2 Пример работы программы

4. Команды математического сопроцессора

4.1 Теоретические основы лабораторной работы

4.1.1 Команда MOV

MOV используется для копирования значения из одного места в другое. Это «место» может быть регистр, ячейка памяти или непосредственное значение:

mov eax 12; eax = 12, eax - регистр

4.1.1 Команды пересылки данных

FLD - загружает из памяти в вершину стека ST(0) вещественное число:

fld x; st(0) = x

FILD - загружает из памяти в вершину стека ST(0) целое число:

int i = 5;

fild i; st(0) = 5

FSTP память - извлекает из вершины стека ST(0) в память вещественное число:

fstp res; res = st(0)

4.1.2 Арифметические команды

FADD - cложение;

FSUB - вычитание;

FSUBR - обратное вычитание, уменьшаемое и вычитаемое меняются местами;

FMUL - умножение;

FDIV - деление;

FDIVR - обратное деление, делимое и делитель меняются местами.

Кроме основных арифметических команд имеются дополнительные арифметические команды:

FSQRT - извлечение квадратного корня;

FSCALE - масштабирование на степень числа 2;

FPREM - вычисление частичного остатка;

FRNDINT - округление до целого;

FXTRACT - выделение порядка числа и мантиссы;

FABS - вычисление абсолютной величины числа;

FCHS - изменение знака числа.

4.1.3 Команды сравнения

Команда FCOM сравнивает два операнда.

4.1.4 Условные переходы

- JB перейти, если меньше

- JA перейти, если больше

- JE/JZ перейти, если равно

4.1.5 Безусловные переходы

Основной инструкцией перехода в наборе инструкций процессора 8086 является инструкция JMP. Эта инструкция указывает процессору 8086, что в качестве следующей за JMP инструкцией нужно выполнить инструкцию по целевой метке [4].

4.2 Задание

В программе необходимо реализовать функцию вычисления заданного условного выражения на языке ассемблера с использованием команд арифметического сопроцессора.

4.3 Схема алгоритма

На рисунке 4.1 приведена схема алгоритма вычисления условного выражения (4.1). В начале работы необходимо ввести исходные данные: (a, b), затем проверить их значения и в зависимости от условий выдать соответствующее сообщение: либо значение функции, либо оповещение об ошибке, если делитель равен 0.

Рисунок 4.1 Схема алгоритма вычисления условного алгоритма

4.4 Решение

#include "stdafx.h"

#include <stdio.h>

#include <iostream>

int err=0;

double calc(double a, double b)

{

double res; int status; const int c2=2; const int c5=-5;

__asm{

//st0st1st2

finit;инициализация сопроцессора

fld qword ptr[b];b

fld qword ptr[a];ab

fcom st(1);сравниваем a и b

fstsw status;сохраняем регистр флагов сопроцессора

mov ah, byte ptr [status+1]

sahf;записываем в регистр флагов процессора

ja a_bigger;переход к метке, если a>b

jb b_bigger;переход к метке, если a<b

fild c5;-5ab

jmp endcalc;переход к концу

a_bigger:

ftst;сравниваем а с 0

fstsw status;сохраняем регистр флагов сопроцессора

mov ah, byte ptr [status+1]

sahf;записываем в регистр флагов процессора

je error;переход к метке, если а=0

fdivp st(1), st; b/a

fild c2;2b/a

faddp st(1), st;b/a+2

jmp endcalc;переход к концу

b_bigger:

fldz;0abпомещаем 0

fcomp st(2);abcравнение b с 0

fstsw status;

mov ah, byte ptr [status+1]

sahf

je error;

fild c5;-5ab

fadd st,st(1);a-5b

fdiv st,st(1); (a-5)/b

jmp endcalc

error:

mov f,1;

endcalc:

fstp res;

}

return res;

}

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(0,"rus");

printf("%s\n"," Лабораторная работа №4\n ");

printf("%s\n"," a>b => b/a+2 ");

printf("%s\n"," a=b => -5 ");

printf("%s\n"," a<b => (a-5)/b ");

double r;

double a,b;

bool t=false;

printf("введите число а: ");

std::cin >> a;

printf("введите число b: ");

std::cin >> b;

double res=calc(a,b);

if(f == 1)

{printf("%s\n", " Ошибка! Деление на ноль!");}

else

{

if (f==2) {printf("%s\n", "Ошибка переполнения! Вы ввели слишком длинное число");}

else

{

printf(" Assembler ");

printf("%f\n", res);

}

if(a==b){r=-5;}

if(a<b){if(b!=0) r=(a-5)/b; else t=true;}

if(a>b){if(a!=0) r=b/a+2; else{t=true;}}

if(!t)

{

printf(" C++ ");

printf("%f\n", r);}}

system("PAUSE");

return 0;

}

4.5 Ответ

На рисунках 4.2 - 4.5 приведены примеры выполнения программы: в случае, когда a>b (рисунок 4.2), в случае, когда a=b (рисунок 4.3), в случае, когда a<b (рисунок 4.4), и в случае, когда делитель равен 0 (рисунок 4.5).

Рисунок 4.2 Результат работы программы при a > b

Рисунок 4.3 Результат работы программы при a = b

Рисунок 4.4 Результат работы программы при a < b

Рисунок 4.5 Результат работы программы при a = 0

Список использованных источников

1 Зеленко, Л.С. Методические указания к лабораторной работе № 1 «Арифметические и логические команды в ассемблере» [Текст]/ Л.С. Зеленко, Д.С. Оплачко. Самара: изд-во СГАУ, 2015. 24 с.

2 Зеленко, Л.С.. Методические указания к лабораторной работе № 2 «Арифметические команды и операторы условного перехода» [Текст]/ Л.С. Зеленко, Д.С. Оплачко. Самара: изд-во СГАУ, 2015. 24 с.

3 Оплачко, Д.С. Методические указания к лабораторной работе № 3 «Работа с массивами и стеком на языке Assembler» [Текст]/ Д.С. Оплачко, Л.С. Зеленко. Самара: изд-во СГАУ, 2012. 19 с.

4 Оплачко, Д.С. Методические указания к лабораторной работе № 4 «Работа с математическим сопроцессором в среде Assembler» [Текст]/ Д.С. Оплачко, Л.С. Зеленко. Самара: изд-во СГАУ, 2012. 19 с.

5 СТО СГАУ 02068410-004-2007. Общие требования к учебным текстовым документам [Текст]: методические указания. Самара: Изд-во Самар. гос. аэрокосм. ун-та, 2007. 30 с.

Размещено на Allbest.ru

...

Подобные документы

  • Моделирование цифровых узлов комбинационного и последовательностного типа electronic work bench. Основы программирования на Ассемблере: арифметические команды, манипуляции над битами, строковые операции. Программирование с использованием пакета MASM.

    отчет по практике [1,9 M], добавлен 10.01.2015

  • Команды, необходимые для организации разветвлений и циклических структур в программах, условных переходов, изменения признака переноса, изменения содержимого аккумулятора. Логические команды над аккумулятором и регистром. Программа на ассемблере.

    лабораторная работа [25,2 K], добавлен 03.03.2009

  • Создание и компиляция программ на ассемблере. Структура программ, использование специальных директив резервирования и инициализации данных. Организация ввода-вывода на ассемблере и организация вычислений. Команды передачи управления и обработки строк.

    методичка [104,8 K], добавлен 02.12.2009

  • Вычисление суммы положительных элементов массива. Упорядочивание элементов массива по убыванию. Решение задачи с помощью алгоритма, реализованного в среде Microsoft Visual 2008 Express. Реализация и тестирование программы. Выполнение трассировки функций.

    практическая работа [146,3 K], добавлен 23.01.2015

  • Средства интегрированной среды Microsoft Visual Studio, предоставляемые программисту для реализации программ на языке С++. Особенности стиля написания программ. Типовые приемы и методы создания и отладки программ. Листинги программ и их тестирование.

    лабораторная работа [814,3 K], добавлен 26.05.2013

  • Изучение особенностей проектирования прикладных программ с помощь средств Visual Studio 2010 на языке C#. Расчет конического соединения, конусного градиента, усилия для разрыва соединения и требуемой силы сжатия. Реализация и тестирование программы.

    курсовая работа [1,7 M], добавлен 19.02.2013

  • Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.

    методичка [2,1 M], добавлен 11.09.2014

  • Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.

    курсовая работа [585,5 K], добавлен 24.03.2009

  • Основные преимущества модульного программирования. Выделение процедуры: ввода массива с консоли, вывода на экран массива, информации об авторе и условии решенной задачи до обработки и после обработки. Иерархия процедур, характеристика назначения модулей.

    реферат [2,3 M], добавлен 29.01.2016

  • Программирование оконных Windows-приложений, средства TASM для их разработки. Углубленное программирование на ассемблере для Win32, минимальная программа. Организация высокоуровневого консольного ввода-вывода. Наборы символов и функции Wlndows APL.

    курсовая работа [51,6 K], добавлен 23.06.2015

  • Рассмотрение основ работы в Microsoft Visual Studio 2010 с языком программирования С#. Реализация программы обработки данных авиапассажиров. Выбор метода ввода данных из текстового файла. Создание фильтра для обработки списка по определенным критериям.

    курсовая работа [1,4 M], добавлен 17.01.2016

  • Разработка и анализ алгоритмов с использованием электронных таблиц и прикладных программ Smath Studio, Microsoft Excel. Проверка алгоритма ветвления или выбора. Реализация циклов на примере вычисления определённого интеграла с заданной точностью.

    контрольная работа [1,0 M], добавлен 19.03.2016

  • Составление программы для вычисления по двум формулам одной и той же переменной "X". Создание программы, которая по введенному значению аргумента вычислят значение функции, заданной в виде графика. Вывод на экран значения функции, заданной графически.

    курсовая работа [4,9 M], добавлен 14.03.2014

  • Разработка и реализация типовых алгоритмов обработки одномерных массивов на языке Delphi. Максимальный и минимальный элемент массива. Значение и расположение элементов массива. Элементы массива, находящиеся перед максимальным или минимальным элементом.

    лабораторная работа [12,8 K], добавлен 02.12.2014

  • Требования к MS Office 2007. Набор средств разработки Visual Studio Tools for Office как альтернатива VBA. Разработка СУБД на базе MS Access. Разработка надстройки "Электронные компоненты" для PowerPoint на языке C# в среде MS Visual Studio 2010.

    дипломная работа [5,2 M], добавлен 03.05.2013

  • Коды условий после сравнения. Элементарные трансцендентные функции. Формулы для вычисления тригонометрических функций. Команды управления сопроцессора х87. Формулы для вычисления показательный и гиперболических функций. Инициализация сопроцессора х87.

    контрольная работа [36,0 K], добавлен 01.12.2010

  • Перевод числа из десятичной системы счисления в двоичную. Результат выполнения в TURBO PASKAL заданных функций и операций. Программа вычисления значений функции на языке PASKAL, блок-схема. Вычисление суммы и произведения всех элементов массива.

    контрольная работа [66,6 K], добавлен 15.02.2013

  • Ассемблер как символический аналог машинного языка. Архитектура микропроцессора: организация памяти, способы адресации операндов, правила использования регистров. Текст программы. Этапы программирования на ассемблере, алгоритмы выполнения задач.

    контрольная работа [515,1 K], добавлен 20.01.2016

  • Понятие матриц и операции, выполняемые с ними. Разработка программы для вычислений над матрицами в среде MS Visual Studio Express с применением языка программирования C++. Работа с библиотекой математического типа vector. Реализация перегрузки операций.

    курсовая работа [107,3 K], добавлен 22.12.2010

  • Microsoft Visual C++ и среда программирования Microsoft Developer Studio 6.0. Решение интеллектуальной задачи на компьютере. Построение алгоритма кодирования на Visual C++. Алгоритм решения задачи. Описание программы "Sort". Инструкции пользователя.

    курсовая работа [46,0 K], добавлен 27.11.2007

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.