Автор работы: Пользователь скрыл имя, 13 Ноября 2010 в 18:25, Не определен
решение задач с массивами
name:string;
page:integer;
god:integer;
End;
Var Spisok:array[1..5] of knigi;
i,o,summa:integer; m:string;
Sr:real;
Begin
For i:=1 to 5 do
Begin
With Spisok[i] do
Begin
Writeln('Vvedite familiu avtora', i);
Readln(fam);
Writeln('Vvedite nazvanie knigi', i);
Readln(name);
Writeln('vvedite god izdaniya');
Readln(god);
    Writeln('Vvedite 
kolichestvo stranic'); 
Readln(page);
End;
End;
Writeln;
Writeln('Spisok knig izdannih s 1960 goda');
Writeln('Vvedite imya avtora');
Readln(m);
For i:=1 to 5 do
If (m=spisok[i].fam) and (spisok[i].god>=1960) then
Writeln(spisok[i].fam,' ',spisok[i].name,' 
',spisok[i].god); 
Writeln('Imeutsya li knigi s nazvaniem "Informatika"?');
For i:=1 to 5 do
begin
If spisok[i].name='Informatika' then
Writeln(Spisok[i].fam,' ',spisok[i].god,' ',spisok[i].page); o:=o+1 end;
if o=0 then Writeln('Takih knig net');
Summa:=0;
For i:=1 to 5 do
Summa:=Summa+Spisok[i].page;
Sr:=Summa/5;
Writeln('Srednee kolichestvo stranic=',Sr:2:2);
For i:=1 to 5 do
If Spisok[i].page>Sr THEN
Writeln('Stranici prevoshodyawie srednee kolichestvo stranic po spisky ',Spisok[i].fam,' ',Spisok[i].name);
Readln;
End. 
Файловая переменная.
Типизированные 
файлы. 
Задание 49.
а) Организовать 
файл CHISLA.dat с целыми числами. 
Program p1;
Var f:file of integer;
n,i,c:integer;
Begin
Writeln('sozdat fail iz celih chisel');
Assign (f,'c:\ucheba\CHISLA.dat');
Rewrite(f);
Readln(n);
For i:=1 to n do
Begin
Read(c);
Write(f,c);
End;
End. 
б) Составить 
программу, подсчитывающую количество 
элементов в файле, их сумму, среднее 
арифметическое. 
program p3;
var
f:file of integer;
i,n,s:integer;
elem,k:integer; sum:integer;sa:real;
begin
   
assign(f,'c:\ucheba\
reset(f);
sum:=0; k:=0;
while not eof (f) do
begin
read(f,elem); k:=k+1;
sum:=sum+elem;
end;
writeln('summa elementov=',sum);
sa:=sum/k;
writeln('sa=',sa:4:2);
readln;
    
end. 
Вариант 4в.
Задание 50.
Организовать 
символьный файл f из  N компонент. После 
этого организовать файл g, содержащий 
все компоненты файла f в обратном порядке. 
Вывести содержимое файлов на экран. 
Program p1;
Var f,g:file of char;
n,i:integer;
c:char;
a:array[1..10] of char;
Begin
Assign(f,'c:\ucheba\Simvoli.
Rewrite(f);
Writeln('Vvedite kolichestvo komponent ');
Readln(n); writeln;
writeln('vvedite komponenti');
For i:=1 to n do
Begin
Readln(c);
Write(f,c);
End;
Close(f);
Reset(f); 
Assign(g,'c:\ucheba\Simvol_.
Rewrite(g);
i:=1;
While not eof (f) do
Begin
read(f,c);
a[i]:=c;
i:=i+1;
end;
for i:=n downto 1 do
Write(g,a[i]);
Close(f);
Close(g);
Reset(g);
Writeln('simvoli faila g');
While not eof(g) do
Begin
Read(g,c);
Writeln(c,' ');
End;
Close(g);
Readln;End.
Задание 51.
Организовать файл символов из N компонент. Определить символ, встречающийся в файле наиболее часто. Вывести на экр ан этот символ и его количество в файле.
Program z3;
var f:file of char;
i,n,k,j,max:integer;
c:char;
a:array [1..100] of char;
s:array [1..100] of integer;
Begin
writeln('Sozdat fail iz simvolov');
assign(f,'c:\docume~1\3193~1\
rewrite(f);
writeln('vvesti kolichestvo komponentov');
readln(n);
for i:=1 to n do
begin
readln(c);
write(f,c);
end;
close(f);
reset(f);
i:=1;
while not eof(f) do
begin
read(f,c);
a[i]:=c;
i:=i+1;
end;
for k:=1 to i do S[k]:=1;
for k:=1 to i do
for j:=k+1 to i do
if a[k]=a[j] then s[k]:=s[k]+1;
max:=s[1];
n:=1;
for k:=1 to i do
if max<s[k] then begin
max:=s[k];n:=k;end;
for k:=1 to i do
if s[k]=max then
writeln('simvol ', a[n],' vstrechaetsya ',n,' raz');
readln;end
.
Задание 52.
Напишите программу 
организующую хранение в файле нескольких 
записей (до 10) о результатах экзамена. 
Каждая запись содержит 3 поля: номер записи, 
фамилия, оценка. Организуйте вывод всей 
информации по форме: {1 Иванов 3} 
Program Z1;
type ekzamen=record
n:integer;
fam:string [15];
oc:integer;
end;
var baza1:file of ekzamen;
rez:array [1..10] of ekzamen;
i:integer; y:integer;f:string[100];
begin
write('vvedite chislo ychenikov');readln(y);
f:='c:\docume~1\3193~1\0016~1\
for i:=1 to 10 do begin
with rez[i] do begin
Writeln('Familiya');
readln(fam);
Writeln('Ocenka');
readln(oc);
end;end;
writeln;
reset(baza1);
Writeln('Rezyltati ekzamena:');
for i:=1 to 10 do
Writeln(i,' ', rez[i].fam, ' ', rez[i].oc);
Readln;end. 
 
 
Текстовые файлы.
Задание 53
Организовать 
файл из N строк (текстовый) text.txt. 
Program p1;
Uses Crt;
Var f:text;
i,n:integer;
c:string;
Begin
ClrScr;
Writeln('sozdanie tekstovogo faila ');
Writeln('vvedite kolichestvi strok');
Readln(n);
Assign(f,'c:\ucheba\text.txt')
Rewrite(f);
For i:=1 to n do
Begin
Readln(c);
Writeln(f,c);
End;
Close(f);
Readln;
End.
  
 
Задание 54
Подсчитать среднюю длину строк из файла text.txt.
Program p2;
Uses crt;
Var f:text;
i,n,d:integer;
c:string;
Sa:real;
Begin
ClrScr;
Writeln('Nahozhdenie srednej dlini stroki');
Writeln;
Assign(f,'c:\ucheba\text.txt')
Reset(f);
d:=0;
While not eof(f) do
begin
Readln(f,c);
n:=n+1;
d:=d+length(c);
End;
Sa:=d/n;
Writeln('srednee arifmeticheskoe=',sa:4:2);
Repeat Until Keypressed;
End. 
Задание 55
Удалить из текстового файла все пробелы(delete (St, n, 1).
St - строка, n- позиция, 
1-количество удаляемых символов. 
Program p3;
Var f:text;
i,n:integer;
c:string;
Begin
Assign(f,'c:\ucheba\text.txt')
Reset(f);
While not eof(f) do
Begin
Readln(f,c);
for i:=1 to length(c) do
if c[i]=' ' then delete(c,i,1);
Writeln('Vivod faila bez probelov:',c);
End;
Readln;
End. 
Задание 56
В текстовом 
файле text.txt определить максимальную 
длину строки. 
Program p2;
Uses crt;
Var f:text;
i,n,max:integer;
c:string;
a:array[1..100] of integer;
Begin
ClrScr;
Assign(f,'c:\ucheba\text.txt')
Reset(f);
i:=1;
While not eof(f) do
Begin
Readln(f,c);
a[i]:=length(c);
i:=i+1;
End;
n:=i;
max:=a[1];
for i:=1 to n do
Begin
If a[i]>max then max:=a[i]; end;
Writeln('maksimalnaya dlina stroki=',max);
End. 
Задание 57
Строки из файла text.txt разбить на части нечетные по счету строки. Записать в файл text.txt, четные- в text2.txt
Program p5;
Uses crt;
var f,g,h:text;
c:string;
i,n:integer;
Begin
ClrScr;
Writeln('Sortirovka strok faila na chetnie i nechetnie');
Writeln;
Assign(f,'c:\ucheba\text.txt')
Reset(f);
Assign(g,'c:\ucheba\text1.txt'
Информация о работе Одномерные массивы. Организация ввода и вывода данных