нужен человек который работает в Паскале . Уровень института . Задание к работе:
1. Выберите задание согласно вашему варианту.
2. Для задания 1 «Цикл с параметром. Нахождение суммы ряда»:
a. определить количество переменных и типы данных;
b. составить блок-схему решения задачи;
c. написать программу на языке Pascal с использованием оператора FOR.
3. Для задания 2 «Цикл с не известным числом повторений. Нахождение суммы ряда»:
a. определить количество переменных и типы данных;
b. составить блок-схему решения задачи;
c. написать программу на языке Pascal с использованием оператор REPEAT или
WHILE.
4. Представить на проверку преподавателю блок-схемы и программы.
5. Письменно ответить на контрольные вопросы по теме «Циклический вычислительный
процесс».
N = 13;
Type
Mass = array[1..N] of real;
Var
f:file of real;
A:Mass;
Max:integer;
Procedure CF(f:file of real);
Begin
Assign(f,'File.real');
Rewrite(f);
For var i:= 1 to N do
Write(f,N*(random-random))
End;
Procedure RF(f:file of real; Var A:Mass; Var Max:integer);
Var
i:integer;
Begin
Reset(f);
Write('Исходный массив:');
Max:=1;
For i:= 1 to N do
Begin
Read(f,A[i]);
Write(' ',A[i]:0:3);
if A[i] > A[Max] then Max:=i;
End;
WriteLn;
End;
Begin
CF(f);
RF(f,A,Max);
WriteLn('Max = A[',Max,'] = ',A[Max]:0:3);
End.
Пример работы программы:
Исходный массив: 8.731 1.629 1.482 9.547 3.067 -3.207 9.701 -2.065 -0.447 -0.980 -4.818 -0.603 -2.742
Max = A[7] = 9.701
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString('Введите строку:').Select(c->LowCase(c));
var nd:=s.GroupBy(c->c).Select(c->(c.Key,c.Count)).OrderBy(kv->kv[0]);
var n:=nd.Count;
nd.Select(kv->(kv[0],kv[1]/n)).ForEach(kv->Writeln(kv[0],' : ',kv[1]:5:3))
end.
Пример работы
Введите строку: В чащах юга жил бы цитрус? Да, но фальшивый экземплярЪ!
: 0.250
! : 0.028
, : 0.028
? : 0.028
а : 0.139
б : 0.028
в : 0.056
г : 0.028
д : 0.028
е : 0.028
ж : 0.028
з : 0.028
и : 0.083
й : 0.028
к : 0.028
л : 0.083
м : 0.028
н : 0.028
о : 0.028
п : 0.028
р : 0.056
с : 0.028
т : 0.028
у : 0.028
ф : 0.028
х : 0.028
ц : 0.028
ч : 0.028
ш : 0.028
щ : 0.028
ъ : 0.028
ы : 0.056
ь : 0.028
э : 0.028
ю : 0.028
я : 0.028
2. Школьное решение в стиле ТурбоПаскаль 1983г.
uses Crt;
const
uc:string[33]='';
lc:string[33]='';
var
s:string;
i,n,k,p:integer;
mc:array[1..255] of char;
mn:array[1..255] of byte;
c:char;
begin
ClrScr;
Write('Введите строку: ');
Readln(s);
n:=Length(s);
for i:=1 to 255 do mn[i]:=0;
k:=0;
for i:=1 to n do begin
c:=s[i];
p:=Pos(c,uc);
if p>0 then c:=lc[p];
p:=Ord(c);
if mn[p]=0 then begin
mc[p]:=s[i];
mn[p]:=1;
k:=k+1
end
else mn[p]:=mn[p]+1
end;
for i:=1 to 255 do
if mn[i]<>0 then Writeln(mc[i],' : ',mn[i]/k:5:3);
ReadKey
end.