|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.05.2012, 13:09 | #1 |
Регистрация: 09.02.2012
Сообщений: 9
|
ребята...программа с модулем, процедурами, функциями и графикой. не могу найти максимальное и минимальное значение в массиве...
само задание:
Разработать программу построения графиков функции в системе программирования Турбо-Паскаль Исходные данные(технические требования) на проектирование: Разработать программу построения графиков распределения примеси в кремнии при ионном легировании бором (В), фосфором (Р) и мышьяком (As ) с энергией ионов 100 кэВ и дозой N=1014 атом/см2. С(x)=Cρ exp[(-〖(x-Rp)〗^( 2))/〖〖2R〗_p^2〗_ ], Где Ср - пиковая концентрация легирующих примесей: C_p=N/(〖(2π)〗^(1⁄2)*∆Rp); Rp – проективный побег (мкм), "∆Rp " - стандартное отклонение проективного пробега (мкм). B P As Rp 0.25 0.13 0.06 "∆Rp" 0.07 0.05 0.02 Диапазон измерение х от 0 до 1 мкм. Реализовать ввод границ диапазона изменения х с клавиатуры. В прямоугольной области фиксированного размера для отображения графика построить координатную сетку с оцифровкой осей на основе значений исходных данных и расчётных данных При изменении значений исходных и расчётных данных масштаб по координатным осям при построении графиков должен изменяться так, что бы построенные графики максимально полно занимали отведённое для них пространство. текст основной программы: uses crt,graph,mod1; var grDriver : Integer; grMode : Integer; Errcode,l : Integer; r: real; Lx1,Lx2,Ly1,Ly2:integer; kx, {kofix} ky, {kofiy} min, max:extended; otstx, otsty, v,u,o,R1:integer; BEGIN Rp[1]:=0.25; Rp [2]:=0.13; Rp [3]:=0.06; {proektivniy probeg} dr [1]:=0.07; dr [2]:=0.05; dr [3]:=0.02; {standartnoe otklonenie} ClrScr; writeln ('vvedite Xmax'); Readln (Xmax); writeln ('vvedite Xmin'); Readln (Xmin); writeln ('vvedite m'); Readln (m); zap; grDriver:= Detect; InitGraph(grDriver, grMode, 'D:\BP\bgi'); ErrCode:= GraphResult; if ErrCode = grOk then Lx1:=80; {Xo} Lx2:=480; {Xkon} Ly1:=40; {Yo} Ly2:=440; {Ykon} otstx:=80; {otstup po x} otsty:=39; {otstyp po y} v:=11; r:=40; {shag setki} R1:=Q*3; min:=A[2,1]; max:=A[2,1]; for u:=2 to 4 do for o:=1 to R1 do begin if A[u,o]<min then min:=A[u,o]; if A[u,o]>max then max:=A[u,o]; end; kx:=(Xmax-Xmin)/(Lx2-Lx1); ky:= ((Ly2-Ly1)/(max-min)); writeln (kx); writeln (ky); for l:=1 to v do begin Line(80, 40+round(r*(l-1)), 480, 40+round(r*(l-1))); Line(80+round(r*(l-1)), 40, 80+round(r*(l-1)) , 440); end; readln; end. модуль unit mod1; interface const Pi=3.1415926536; N=1e14; {doza} var xmax, {diaoapozon izmeneniy} xmin, {proektivniy probeg} {ctandartnoe otklonenie} m, {shag izmenenia x} Cp: {pikovya concentr} real; i, Q: {chislo povtorov} integer; A:array[1..4,1..100] of extended; Rp,dr:array[1..3] of real; procedure zap; procedure mx; function prov (Xmax,Xmin:real):boolean; function rasch (x:extended;i:integer):extended; implementation function prov(Xmax,Xmin:real):boolean; begin prov:=True; If ((Xmin < 0) or (Xmax > 1) or (Xmin>=Xmax)) then begin Write('vveden neverniy diapazon'); prov:=False; Exit; end; end; function rasch (x:extended;i:integer):extended; begin Cp:=N/(sqrt(2*Pi)*dr[i]); rasch:=Cp*(exp(-sqr(x-Rp[i])/(2*sqr(Rp[i])))); end; procedure zap; var x:extended; i,j:integer; begin If prov(Xmax, Xmin) then begin x:=Xmin; Q:=Round((Xmax-Xmin)/m); Writeln(' x,mkm C(B) C(P) C(As) '); for i:=1 to Q+1 do begin A[1,i]:=x; for j:=1 to 3 do A[j+1,i]:= rasch(x,j); writeln (x:3,' ', A[2,i]:3,' ', A[3,i]:3,' ', A[4,i]:3); x:=x+m; end; readln; end; procedure mx; var max,min:extended; for i:=1 to Q+1 do begin Read(A[2,i],[3,i],[4,i]); max:=A[2,1]; min:=A[2,1]; for i:=2 to Q+1 do if A[2,i]>max then max:=[2,i]; else if A[2,i]<min then min:=A[2,i]; end; readln end; end. напишите кусочек поиска мах и мин значения в массиве |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Минимальное и максимальное значение в массиве. С++ | Enigmya | Помощь студентам | 3 | 17.10.2011 16:07 |
Нужна программа, которая находит в одномерном массиве минимальное и максимальное значение | Didar | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 08.02.2011 15:14 |
эксель. найти максимальное и минимальное значение функции | alex(21) | Помощь студентам | 2 | 07.03.2010 12:22 |
Задача с модулем, процедурами и функциями | w0lf16 | Помощь студентам | 1 | 05.12.2009 18:12 |