Срочно нужна блок схема к коду
program lab;
uses crt; const count=100;{максимальное кол-во данных} type Data=record{структура} fam:string[20];{фамилия} st:integer;{стаж} end; var a:array[1..count] of Data;{массив структур} tmp: Data;{временная переменная для сортировки нужна} n,i,st,s,j:integer; ch:string; f,check:boolean; dg:string; fl:text; begin assign(fl,'data.txt');{связываем файловую переменную с физически файлом на диске} rewrite(fl);{перезеписываем файл} s:=0; repeat write('Vvedite kol-vo zapisey :');{кол-во записей считываем} readln(dg); val(dg,n,j);{переводим в число} until j=0;{в переменную у нас записывается код ошибки} for i:=1 to n do begin repeat check:=false; write('Vvedite familiyu :'); readln(a[i].fam);{считываем фамилию} for j:=1 to length(a[i].fam) do if a[i].fam[j] in ['0'..'9']then check:=true; until check=false; repeat write('Vvedite staj :'); readln(dg);{считываем} val(dg,a[i].st,j);{переводим в число} until j=0;{в переменную у нас записывается код ошибки} writeln(fl,'Familiya :',a[i].fam:15,' Staj :',a[i].st:2);{выводим в файл} end; close(fl); clrscr; for i:=1 to n do writeln('Familiya :',a[i].fam:15,' Staj :',a[i].st:2);{выводим все} writeln; for i:=1 to n do s:=s+a[i].st;{среднее вычисляем} s:=s div n; repeat check:=false; write('Vvedite bukvu :'); writeln; readln(ch); {считываем букву} for j:=1 to length(ch) do if ch[j] in ['0'..'9']then check:=true; until check=false; for i:=1 to n do if a[i].fam[1]=ch then writeln('Familiya :',a[i].fam:15,' Staj :',a[i].st:2); {выводим где фамилия начинается с введенной буквы} writeln; repeat write('Vvedite staj :'); readln(dg); {стаж} val(dg,st,j);{переводим в число} until j=0;{в переменную у нас записывается код ошибки} for i:=1 to n do if a[i].st=st then writeln('Familiya :',a[i].fam:15,' Staj :',a[i].st:2); writeln; writeln('Staj > sr :');{стаж выводим если больше среднего} for i:=1 to n do if a[i].st>s then writeln('Familiya :',a[i].fam:15,' Staj :',a[i].st:2); writeln; writeln('V alf poryadke :');{выводим в алфавитном порядке} repeat{сортировка обменами} f:=false; for i:=1 to n-1 do if a[i].fam>a[i+1].fam then {если условие выполняется то обмен} begin f:=true; tmp:=a[i]; a[i]:=a[i+1]; a[i+1]:=tmp; end; until f=false; for i:=1 to n do{выводим} writeln('Familiya :',a[i].fam:15,' Staj :',a[i].st:2); writeln('Staj ubivaet :');{сортировка по убыванию стажа} repeat f:=false; for i:=1 to n-1 do if a[i].st<a[i+1].st then begin f:=true; tmp:=a[i]; a[i]:=a[i+1]; a[i+1]:=tmp; end; until f=false; for i:=1 to n do{выводим} writeln('Familiya :',a[i].fam:15,' Staj :',a[i].st:2); readln; end. |
Ну это ж элементарно.
|
Часовой пояс GMT +4, время: 17:56. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.