Федеральное Государственное Образовательное учреждение
Дагестанский механический техникум
им. С. Орджоникидзе
Отчет по практике
"Решение проблемных задач на персональном компьютере"
Выполнил:
Гусейнов Эмран
Руководитель практики:
Гасанова М. М.
г. Каспийск, 2011
.Программы линейной структуры
Задача.
Дан прямоугольный треугольник АВС() ,для которого определен след. Набор характерных параметров: a,b,c-стороны треугольника; ?,?- острые углы (в градусах); h-высота, опушенная на гипотенузу с; S- площадь; P-периметр треугольника. По заданным a и h вычислить все остальные.
TForm1.Button1Click(Sender: TObject);,a,b,Alf,Gam,Bet,n,S,P,c:real;:=StrToFloat(edit1.Text);:=StrToFloat(Edit2.Text);:=h/a; alf:=n*180/pi; bet:=90-alf;:=a*(sin(alf)/cos(alf));:=sqrt(a*a+b*b);:=(a*b)/2;:=a+b+c;.Caption:='Стороны: а= '+FloatToStr(a)+' b='+FloatTOStr(Round(b))+' c='+FloatTOStr(Round(c));.Caption:='Углы: aльфа= '+FloatToStr(Round(alf)) +'гр. бетта= '+FloatTOStr(Round(bet))+'гр.';.Caption:='S='+FloatToStr(Round(S))+' P='+FloatToStr(Round(P)); end;
2.Ветвления
Задача.
Даны три положительных числа. Определить, можно ли построить треугольник со сторонами, длины которых равны этим числам.
TForm1.Button1Click(Sender: TObject);a,b,c:integer;:=StrToInt(Edit1.Text);:= StrToInt(Edit2.Text) ;:=StrToInt(Edit3.Text) ;
if a
else begin:=c*c;:=a*a;:=b*b;c=a then
Label4.Caption:='Трехугольник с такими сторонами существовать может'
else if a=c+b then
Label4.Caption:='Трехугольник с такими сторонами существовать может'
else if b=c+a then
Label4.Caption:='Трехугольник с такими сторонами существовать может'Label4.Caption:='Трех угольник с такими сторонами существовать неможет'
end;;TForm1.Button2Click(Sender: TObject);a,b,c:integer;Edit1.Text='' then Label4.Caption:='введите A';Edit3.Text='' then Label4.Caption:='введите C';Edit2.Text='' then Label4.Caption:='введите B';
end;TForm1.Button3Click(Sender: TObject);
begin.Caption:='Зачем ты нажимаещ на Форму???';end;
3.Оператор выбора
Задача.
Пусть элементами равностороннего треугольника являются
)Сторона а
)Площадь S
)Высота h
)Радиус вписанной окружности r
)Радиус описанной окружности R
Составить программу, которая по заданному номеру и значению соответствующего элемента вычислила бы значение всех остальных элементов треугольника
TForm1.Button1Click(Sender: TObject);a,b,c,s,rad,rad2,h:real;:=0; a :=0; b :=0; c :=0; s :=0; rad:=0;rad2:=0;h:=0;RadioGroup1.ItemIndex of
: begin a:=StrToFloat(Edit1.Text); s:=((a*a)*sqrt(3))/4; h:=(2*s)/a*a;rad:=(2*s)/(a+a+a); rad2:=(a*a*a)/(4*s); end;
:begin s:=StrToFloat(Edit1.Text); a:=sqrt((4*s)/sqrt(3)); h:=(2*s)/a*a;rad:=(2*s)/(a+a+a); rad2:=(a*a*a)/(4*s); end;
:begin h:=StrToFloat(Edit1.Text); a:=sqrt((4*s)/sqrt(3));rad:=(2*s)/(a+a+a); rad2:=(a*a*a)/(4*s); end;
:begin rad:=StrToFloat(Edit1.Text); h:=(2*s)/a*a;a:=sqrt((4*s)/sqrt(3)); rad2:=(a*a*a)/(4*s); end;
:begin rad2:=StrToFloat(Edit1.Text); h:=(2*s)/a*a;a:=sqrt((4*s)/sqrt(3));rad:=(2*s)/(a+a+a); ; end;label1.Caption:=' ';;.Caption:='a='+FloatToStr(a)+#13+'S='+FloatToStr(s)+#13+'h='+FloatToStr(h) +#13+'ðàä.âïèñ='+FloatToStr(rad) +#13+'ðàä.îïèñ='+FloatToStr(rad2) ;;.
.Целочисленная арифметика
Задача.
Даны натуральные числа n, k. Проверить ,есть ли в записи числа
Цифра m
TForm1.Button1Click(Sender: TObject);n,k,b,i,m,z:integer;:=StrToInt(Edit1.Text);
k:=StrToInt(Edit2.Text);:=StrToInt(Edit3.Text);:=1; i:=1;i0 do begin:=z mod 10;b= m thenLabel4.Caption:='Есть';:=0; endif z= m then Label4.Caption:='Есть'Label4.Caption:='Нет';:=z div 10;;;
end.
.Табулирование функций
(3)Написать программу вычисления значения функции F(x) На отрезке [a,b]с шагом h
procedure TForm1.Button1Click(Sender: TObject);n,x,a,b,h,F:real;:integer;
begin:=StrToFloat(Edit1.text);:=StrToFloat(Edit2.text);:=StrToFloat(Edit3.text);:=(b-a)/h;:=a;i
end;
.Массивы и матрицы
1.Сформулировать одномерный массив с помощью генератора случайных чисел поменять местами элементы, стоящих на четных местах ,на элементы ,стоящих на нечетных местах.
Form1.Button1Click(Sender: TObject);a :array[1..10] of integer;:integer;;i:=1 to 10 do begin a[i]:= random (15);.Cells[i-1,0]:= IntToStr(a[i]);
{if i mod 2=0 then begin:=a[i]; a[i]:=a[i+1]; a[i+1]:=a[i];; }end;end;TForm1.Button2Click(Sender: TObject);a :array[1..10] of integer;:array[1..10] of integer;,p:integer;i:=1 to 10 do begin:=i;i mod 2=0 then begin[p]:=a[i];.Cells[p-1,0]:= IntToStr(z[p]); endbegin[p+1]:=a[i];.Cells[p-1,0]:= IntToStr(z[p]);
end; end; end; end.
. Дана матрица размером а [n,m] . найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно.
программа линейный масив генератор
TForm1.Button1Click(Sender: TObject);a,b:array[1..10,1..10] of integer;,t,k,p,m,n,min,i,j:integer;;:=strtoint(edit1.Text);:=strtoint(edit2.Text);:=0; k:=0;i:=1 to n doj:=1 to m do[i,j]:=random(20)-5; b[i,j]:=a[i,j];.Cells[i-1,j-1]:=intToStr(b[i,j]);;j:=1 to m do begin:=-10000; min:=10000;i:=1 to n doa[i,j]>max then begin max:=a[i,j]; p:=i;.Cells[0,j-1]:=intToStr(max); endif a[i,j]
end;
7.Обработка строковых данных
Задача.
Из строки удалить среднюю букву ,если длина строки четная ,если длина строки не четная -удалить две средние буквы.
sedmoeconsol;;str:STRING;,s,a:integer;('vvedite stroku');(str);:=Length(str);(k);k mod 2=0 then:= k div 2;(str,a,1);begin:=k-1;:=k div 2;(str,a,2);;:=Length(str);(str); writeln(k);;.
8. Процедуры и функции
Задача:
Вычислить значение
где n ? 10
Project3;
{$APPTYPE CONSOLE};F(v:real):real;:=Exp(v*ln(10));;a,i,n,y:real;('vvedite n');(n);n>10 do begin('N dolgen bit