Разработка программы линейной структуры

Страницы работы

Содержание работы

Министерство образования Российской Федерации

Комсомольский-на-Амуре Государственный Технический

Университет

Кафедра математического обеспечения и применения ЭВМ

Лабораторная работа №2

по дисциплине «Программирование»

вариант 7

                                                                   Студент :                       Иваницын Е.В.

                                                                       Преподаватель :            Петров Ю.А.

                                                              2005

Тема: Разработка программы линейной структуры.
Цель работы

·  Приобрести навыки создания исходного кода для интегрированной среды BC++.

·  Изучить формат функции printf().

·  Найти все лексемы, используемые в исходном коде.

Задание

Вычислить значения функции y = f(x) предварительно выполнив действия над целыми переменными. Разработать исходный код на языке ВС++, используя функцию main() (главную ) и printf() (и для вывода всех входных и выходных данных), а также директивы препроцессора, откомпилировать исходный код, выполнить его компоновку и запустить на выполнение exe-файл.

Выписать размеры исходного кода (*.cpp), объектного кода (*.obj) и исполняемого файла (*.exe). Подробно изучить и описать формат функции printf(). Действия над переменными проверить вручную с использованием двоичной системы координат, результаты сравнить с полученными  на ЭВМ. Результат расчета функции проверить на микрокалькуляторе. Перечислить все лексемы, используемые в исходном коде и дать их анализ. Дать краткий анализ директив препроцессора, используемых в исходном коде.

7

a=(b|a) ^(a-- >>1&b<<1)

y(x)=a×sin(actg(2x)-asec(x))-4b×x

a=4,b=2, x=p/3

Размеры файлов:

Размер *.cpp = 342 байт

Размер *.obj = 1 316 байта

Размер *.exe = 25 949 байта

Решение примера без использования  C++ по действиям:

1)  a--=4-1=310=00112

2)  a-->>1=0012=110

3)  (b=210=00102)      b<<1=01002=410  

4)  (a-->>1&b<<1)=0001&0100=0

5)  (b|a)=0010|001=0011

6)  (b|a) ^(a-- >>1&b<<1)=0011^0000=00112=510

a=5;b=2

Формат функции printf:

Printf(“Text [ESC последовательности] []”[,<переменные>]);

%d Вывод переменной целого типа

%f Вывод переменной c плавающей точкой

Последовательность

Наименование

\n

\t

\v

\b

\r

\f

\a

\'

\"

\\

\ddd

\xdd

Новая строка

Горизонтальная табуляция

Вертикальная табуляция

Пробел

Возврат каретки

Новая страница

Звонок(сигнал)

Одиночная кавычка

Двойная кавычка

Наклонная черта влево

ASCII символ в восьмиричном представлении

ASCII символ в шестнадцатиричном представлении

        Лексемы:

Операция                                         Наименование

!                                                   Логическое НЕ

~                                                  Побитовое дополнение

+                                                  Сложение

-                                                   Арифметическое отрицание

*                                                  Умножение

/                                                   Деление

%                                                 Остаток

<<                                                Сдвиг влево

>>                                                Сдвиг вправо

<                                                  Меньше

<=                                                Меньше или равно

>                                                  Больше

>=                                                Больше или равно

==                                                Равно

!=                                                Не равно

&                                                 Побитовое И, адрес от

|                                                   Побитовое  включающее ИЛИ

^                                                  Побитовое исключающее ИЛИ

&&                                              Логическое И

||                                                  Логическое ИЛИ

'                                                   Последовательное выполнение (запятая)

?:                                                 Операция условного выражения

++                                                Инкремент

--                                                 Декремент

=                                                  Простое присваивание

+=                                                Сложение с присваиванием

-=                                                Вычитание с присваиванием

*=                                                Умножение с присваиванием

/=                                                 Деление с присваиванием

%=                                              Остаток с присваиванием

>>=                                             Сдвиг вправо с присваиваиванием

<<=                                             Сдвиг влево с присваиванием

&=                                               Побитовое И с присваиванием

|=                                                 Побитовое включающее ИЛИ

с присваиванием

^=                                                Побитовое исключающее ИЛИ

с присваиванием

                            Исходный код программы:

#include <math.h>//подключение математической библиотеки

#include <stdio.h>//подключение библиотеки содержащей printf

void main(void)

{

int a=4,b=2; //определение и инициализация переменных

double x=M_PI/3,fun;

printf("Значения до преобразования: a=%d,b=%d,x=%f\n",a,b,x);

a=(b|a)^(a-->>1&b<<1); //преобразования

printf("Значения после: a=%d,b=%d,x=%f\n",a,b,x);

fun=a*sin(1/atan(2*x)-1/cos(x))-4*b*x; //нахождение значения функции

printf("Значение функции: %f\n",fun);

}

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
55 Kb
Скачали:
0