Лабораторная работа №2
Студенты Кохно Константин Сергеевич
Группа РМС7-71
Дата выполнения 16.03.2008
Преподаватель Усольцев Н.В.
Отметка о защите
Задание № 3.1
Математическая функция:
Понятно что на входе х (double) а на выходе – значение функции от этого аргумента y(double)
Код программы:
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
// Обьявление переменных
double x;
double y;
// Ввод данных
clrscr();
cout<<"Введите Х ";
cin>>x;
cout<<endl;
// Просчёт
if (x<-1) y=sin(x);
if ((-1<=x)&&(x<=2)) y=x*x;
if (x>2) y=cos(x);
// Вывод результата
cout<<"Ответ: "<<y<<endl;
getch();
}
Пробные результаты:
1)
Введите х -3.14
Ответ: -0.00159265
2)
Введите х 0
Ответ: 0
3)
Введите х 3.14
Ответ: -0.999999
Вывод:
Практические результаты работы программы совпадают с ожидаемыми
Задание № 7:
Разработать программу, присваивающую трем переменным , и значения параметров одного их трех полупроводниковых материалов: германия, кремния или арсенида галлия, в зависимости от введенного ключа выбора G, S или A.
Материал |
, эВ |
, см-3 |
|
германий |
16.0 |
0.67 |
2.4.1013 |
кремний |
11.9 |
1.12 |
1.45.1010 |
арсенид галлия |
13.1 |
1.43 |
1.79.106 |
Затем должны выполняться вычисления величин
;
, где q = 1.60.10-19 Кл – заряд электрона;
e0 = 8.85.10-14 Ф/см – диэлектрическая постоянная;
k = 8.62.10-5 эВ/К – постоянная Больцмана.
В конце работы программа должна выводить значения величин и на дисплей.
Расчет выполняется для значения температуры, заданного преподавателем.
Если пользователь неправильно ввел значения ключа, переменным , и должны быть присвоены нулевые значения, вычисления и не выполняться, а в качестве результата выводиться соответствующее сообщение.
На входе:
(char) mat-материал
(double) ni0,ni,Eg,T,T0,LD,q,e0,k,e
На выходе:
(double) ni, LD
Код программы:
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
// Обьявление переменных
double ni0,ni,Eg,T,T0,LD,q,e0,k,e;
char mat;
// Ввод констант
q=1.6E-20;
e0=8.85E-14;
k=8.62E-5;
T0=300;
// Ввод входных данных
clrscr();
cout<<”Введите материал (G,S,A): ";
cin>>mat;
cout<<endl;
cout<<" T: ";
cin>>T;
cout<<endl;
// Подставляем значения констант для определённого мтериала
switch (mat)
{
case 'G':
e=16;
Eg=0.67;
ni0=2.4E+13;
break;
case 'S':
e=11.9;
Eg=1.12;
ni0=1.45E+10;
break;
case 'A':
e=13.1;
Eg=1.43;
ni0=1.79E+6;
break;
}
// Просчёт
ni=ni0*exp(Eg*(T-T0)/(2*k*T*T0));
LD=sqrt(e*e0*k*T/(q*ni));
// Вывод ответа
cout<<" ni="<<ni<<endl;
cout<<" LD="<<LD<<endl;
getch();
}
Пример работы программы:
1)
Введите материал (G,S,A): G
Введите T: 120
Ответ: ni=87336.2
LD=3.23757
2)
Введите материал (G,S,A): S
Введите T: 10
Ответ: ni=2.66549e-263
LD=4.61371e+133
3)
Введите материал (G,S,A): A
Введите T: 500
Ответ: ni=1.13751e+11
LD=0.00523972
Вывод:
Программа работает без ошибок
Задание 5:
Разработать программу для проверки, попадает ли точка с заданными на плоскости координатами x и y внутрь пересекающихся окружностей с центрами в точках , и , и радиусами и . Программа должна выдавать в виде результата сообщение, в какую область попала точка:
- не принадлежащую ни одному из кругов;
- принадлежащую только первому кругу;
- принадлежащую только второму кругу;
- принадлежащую и первому, и второму кругу.
На входе:
double x,y,x1,y1,x2,y2,R1,R2 – радиусы окружностей и координаты точки
На выходе:
Текст ответа
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
//Обьявляем переменные
int otv,id1,id2;
double x,y,x1,y1,x2,y2,R1,R2;
// Ввод данных
clrscr();
cout<<"‚X1: ";
cin>>x1;
cout<<endl;
cout<<" Y1: ";
cin>>y1;
cout<<endl;
cout<<" X2: ";
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.