1)заполните массив случайными вещественными числами разных знаков. вычислите сумму положительных элементов массива. 2) заполняем массив случайными вещественными числами из [2; 3). вычислите среднее значение всех элементов
1) const n=10; var a:array[1..n] of real; i:integer; s:real; begin Randomize; for i:=1 to n do begin a[i]:=10*random-5; write(a[i]:6:2); end; writeln; s:=0; for i:=1 to n do if a[i]>0 then s:=s+a[i]; writeln('s = ',s:5:2); end.
2) const n=10; var a:array[1..n] of real; i:integer; s:real; begin Randomize; for i:=1 to n do begin a[i]:=random+2; write(a[i]:6:2); end; writeln; s:=0; for i:=1 to n do s:=s+a[i]; writeln('Среднее = ',s/n:5:2); end.
// PascalABC.NET 3.2, сборка 1325 от 19.10.2016 begin var a:=ArrRandomReal(ReadInteger('Кол-во элементов: '),-10,10); a.Println; Writeln('Сумма положительных равна ',a.Where(x->x>0).Sum) end.
Пример Кол-во элементов: 8 -0.904254126783579 -6.85698384272725 -8.54558298296555 0.520270080547906 -6.12226872524352 -5.76991352987006 -8.2311904142756 -5.47438762871287 Сумма положительных равна 0.520270080547906
// PascalABC.NET 3.2, сборка 1325 от 19.10.2016 begin var a:=ArrRandomReal(ReadInteger('Кол-во элементов: '),2,3); a.Println; Writeln('Среднее значение равно ',a.Average) end.
Пример Кол-во элементов: 6 2.72211762318486 2.85016930887949 2.41644970626405 2.11135463933989 2.8477212129383 2.67084380549884 Среднее значение равно 2.60310938268424
Сами программы не проверял, если они правильные, то 2) program zak; uses crt; type danie=record litri:string; cislo:string; end; DanieVodi=file of danie; var DV:DanieVodi; D:danie; i,n:integer; begin clrscr; assign(DV,'d:\azaz.txt'); rewrite(DV); repeat writeln('BBeDuTe 4ucJlo u Mec9lTc oTTDeJl9l9l To4Kou'); readln(D.cislo); writeln('BBeDuTe KoJlu4ecTBo IIoTpa4eHou BoDbl'); readln(D.litri); if D<>'stop' then write(DV,D); until D='stop'; close(DV); readln; end.
1) uses crt; type danie=record litri:string; cislo:string; max,min:real; end; DannieVodi=file of danie; var DV:DannieVodi; D:danie; i,n:integer; cislo1:string; begin clrscr; assign(DV,'d:\azaz.txt'); reset(DV); write('BBeDuTe 4ucJlo u Mec9lTc oTTDeJl9l9l To4Kou:'); read(cislo1); while not eof(dv) do begin read(DV,D);
if min='0' then min:=StrToFloat(D.cislo); if StrToFloat(D.cislo)<min then min:=StrToFloat(D.cislo); if StrToFloat(D.cislo)>max then max:=StrToFloat(D.cislo);
if cislo1=D.cislo then writeln('6blJlo IIoTpa4eHo "',D.litri,'" JluTpoB BoDbi'); end;
writeln('min=',min); wtiteln('max=',max);
close(DV); readln; end.
Если это не учебная задача, то лучше сделать ее в Access. Там интерфейс красивый и дружелюбный легко получить.
1)Алгоритм решения задачи: Программа должна запрашивать у пользователя следующую информацию:диаметр бака;высота бака;расход краски (площадь поверхности, которую можно покрасить одной банкой краски).В результате программа должна выдавать количество требуемых банок. При получении дробного числа округление должно всегда происходить в большую сторону.Площадь крыши бака (круга) вычисляется по формуле p * d2 /4 (где p – число пи, d - диаметр). Площадь боковой поверхности цилиндра: p * d * h (где h – высота). Программа на языке Паскаль: const pi = 3.14; var d, h, b: real; top, wall, q: real; q_int: integer; begin write('Диаметр: '); readln(d); write('Высота: '); readln(h); write('Окрашиваемая площадь одной банкой: '); readln(b); top := pi * sqr(d) / 4.0; wall := pi * d * h; q := (top + wall) / b; q_int := trunc(q) + 1; write('Количество банок: ', q_int); readln end.
const n=10;
var a:array[1..n] of real;
i:integer; s:real;
begin
Randomize;
for i:=1 to n do
begin
a[i]:=10*random-5;
write(a[i]:6:2);
end;
writeln;
s:=0;
for i:=1 to n do
if a[i]>0 then s:=s+a[i];
writeln('s = ',s:5:2);
end.
Пример:
1.17 3.93 -4.82 -0.13 -2.56 2.28 -2.92 4.73 -1.67 -0.64
s = 12.11
2)
const n=10;
var a:array[1..n] of real;
i:integer; s:real;
begin
Randomize;
for i:=1 to n do
begin
a[i]:=random+2;
write(a[i]:6:2);
end;
writeln;
s:=0;
for i:=1 to n do s:=s+a[i];
writeln('Среднее = ',s/n:5:2);
end.
Пример:
2.13 2.45 2.68 2.32 2.59 2.36 2.36 2.21 2.51 2.83
Среднее = 2.44