лабораторные работы / Лабораторная №1 по технологии програмирования
.docxБАЛАКОВСКИЙ ИНСТИТУТ ТЕХНИКИ ТЕХНОЛОГИИ И УПРАВЛЕНИЯ
ИНЖЕНЕРНО-СТРОИТЕЛЬНЫЙ ФАКУЛЬТЕТ
КАФЕДРА «ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ»
Отчёт по лабораторной работе №1
По технологии программирования
Работа с переменными в программе
|
Выполнил: ст. гр. ИСТ-22 Аракчеева Е.С. Проверил: Алиева Е.В. _____________________ «__»__________2009г. |
|
|
|
Балаково
2009
Задание №1
Написать программу:
c=
Начало
Ввод a,b,d
c=
Вывод c
Конец
// тр.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
void main()
{
int a,b,d;
float c;
printf("\n Vvedite chislo a");
scanf("%f",&a);
printf("\n Vvedite chislo b");
scanf("%f",&b);
printf("\n Vvedite chislo d");
scanf("%f",&d);
c=(b+sqrt(d))/2*a;
printf("%f otvet",c);
getch();
}
Анализ переменных
Необходимо составить программу для вычисления значения выражения:
c=
Входными переменными являются: a,b,d (значения вводятся с клавиатуры).
Переменные a,b,d имеют числовой тип. Также они могут иметь целочисленный тип.
Определим теоретический и фактический диапазон изменения входных переменных:
b – теоретический диапазон для переменных типа int (-32768…32767) совпадает с фактическим, так как на переменную a не накладывается никаких ограничений. d – теоретический диапазон для переменных типа int (-32768…32767) ,фактический диапазон [0; 32767]так как переменная с под знаком корня.
a – теоретический диапазон для переменных типа int (-32768…32767), фактический диапазон [-32768;0)(0; 32767]так как переменная a находится в знаменателе. Переменная b является глобальной, так как в программе нет необходимости использовать функции. Выходной переменной является c. Ее значение вычисляется в программе и выводится на экран. Переменная b имеет целый тип int. Теоретический диапазон для переменных типа int составляет(- 32768…32767).
Определим нижнюю границу фактического диапазона:
Cmin=;
Определим верхнюю границу фактического диапазона:
Cmax=;
Cmax==0,5*1076+0,27*1057=0,5*1076
Cmin==-76
Таким образом, верхняя граница фактического диапазона для переменной, а превышает установленные теоретические значения. Составим таблицу анализа переменных для программы:
Имя пере- мен-ной |
Тип данных |
Область видимости |
Входная /выходная /промежу- точная |
Диапазон данных теории- тический |
Диапазон Данных факти- ческий |
Исключения |
|
c |
float |
глобальная |
выходная |
(3.4*10-38 …3.4*1038)
|
(3.4*10-38 …3.4*1038) |
нет |
|
b |
int |
глобальная |
входная |
(-32768… 32767) |
(-32768…32767) |
нет |
|
a |
int |
локальная |
входная |
(-32768… 32767) |
-115688255… 5726074876 |
Ограниче- ние фактичес- кого диапазона |
|
d |
int |
глобальная |
входная |
(-32768… 32767) |
[0;32767] |
Возник-новение ошибки при вводе отрица- тельного значения
|
2) a =
#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
void main ()
{
int a,b,c;
printf("b=");
scanf("%i",&b);
printf("c=");
scanf("%i",&c);
if (b+c>6){
a=2*b+c/b+c;}
if(b-c<=6){
a=2*b-c/c-b;}
printf("%i",a);
getch();
}
Анализ переменных
Составим таблицу анализа переменных программы:
имя переменной
|
Тип данных |
Область видимости |
Входная /выходная /промежуточная |
Диапазон данных теоретический |
Диапазон данных фактический |
Исключения |
|
a |
int |
Глобальная |
Выходная |
[-32,768…32,767] |
[-32,768…32,767] |
нет |
|
b |
int |
Глобальная |
Входная |
[-32,768…32,767] |
[-32,768…32,767] |
нет |
|
c |
int |
Глобальная |
Входная |
[-32,768…32,767] |
[-32,768…32,767] |
нет |
|
|