21.05.2008, 10:33
общий
это ответ
Здравствуйте, Львов Алексей Владимирович !
По задаче 4.
Поскольку подпрограммы используются один раз и только для решения конкретного массива, все переменные объявляем как глобальные, а процедуры и функции оформляем без формальных параметров. Код с пояснениями в приложении.
Задача 3 очень простая, но лень писать.Порядок такой:
Uses crt;
Const gl=[‘А‘,‘а‘,...все гласные большие и маленькие];
Sgl=[‘Б‘,‘б‘,...все согласные];
Var s:string;
I,kgl,ksgl:integer;
Begin
Clrscr;
Write(‘s: ‘);readln(s);
Kgl:=0;ksgl:=0;
For i:=1 to length(s) do
Begin
If s[i] in gl then
Begin
Kgl:=kgl+1;
End
Else if s[i] in sgl then
Begin
Ksgl:=ksgl+1;
End;
End;
If kgl>ksgl then writeln(‘glasnyh bolshe!‘)
Else If ksgl>kgl then writeln(‘soglasnyh bolshe!‘)
Else writeln(Porovnu!);
Readln
End.
Приложение:
Задача 4.uses crt;type Tmas=array[1..100]of integer;var a,b:Tmas; n,i,Z,k:integer;procedure Chet;{создание массива четных чисел}var m:integer;beginm:=0;for i:=1 to n doif a[i] mod 2=0 then {если число четное} begin m:=m+1; {считаем его} b[m]:=a[i]; {включаем в новый массив} end;if m=0 then writeln(‘Chetnyh elementov net!‘);for i:=1 to m dowrite(b[i],‘ ‘); {выводим его на экран}writeln;end;function Dlina:integer; {определение длины числовой оси}var min,max:integer;beginmin:=a[1];max:=a[1];for i:=2 to n do begin if a[i]<min then min:=a[i] {находим максимальный} else if a[i]>max then max:=a[i]; {находим минимальный} end;Dlina:=max-min; {вычисляем длину}end;procedure Zam; {делаем замену по условию}begink:=0;for i:=1 to n doif a[i]>Z then {если больше Z} begin k:=k+1; {считаем} a[i]:=Z; {заменяем} end;for i:=1 to ndo write(a[i],‘ ‘); {выводим на экран}writeln;writeln(‘Kolichestvo zamen=‘,k);end;procedure Nul; {определяем количество элементов до нуля}begini:=1;k:=0;while a[i]<>0 do {пока не ноль} begin k:=k+1; {считаем} i:=i+1; {переходим к следующему элементу} end;Writeln(‘Kolichestvo elementov do nulja=‘,k);end;begin {}clrscr;randomize;write(‘n=‘);readln(n);write(‘Z=‘);readln(Z);writeln(‘Ishodnyj massiv:‘);for i:=1 to n do begin a[i]:=random(10); {формируем исходный массив} write(a[i],‘ ‘); end;writeln;writeln(‘Chetnyj massiv:‘);Chet; {вызываем процедуру, делаем массив четных}writeln(‘Dlina=‘,Dlina); {выводим результат функции Dlina}writeln(‘Massiv s zamenami:‘);Zam; { вызываем процедуру,делаем замены}Nul; { вызываем процедуру,выводим значение количества эл-тов до 0}readlnend.