Записи в Паскале
НАЗВАНИЕДлина, байт Диапазон значений Byte10…255 ShortInt1-128…+127 Word20…65535 Integer … LongInt … BOOLEAN1False, True CHAR – занимает 1 байт, REAL – 6 байт, STRING (n), n принимает значение от 0 до 255. По умолчанию длина строки равна 255. Типы данных
Записи очень важный и удобный инструмент. Даже не применяя специальные технологии, с его помощью можно создавать собственные базы данных. Записи - это структура данных, каждый элемент которой имеет собственное имя и тип данных. Элемент записи иначе называют поле. Описание записи имеет вид: type имя_типа_записи = record название_поля : тип_поля ;... название_поля : тип_поля ; end;
После единых выпускных экзаменов по информатике в район пришла информация о том, какой ученик, какой школы сколько набрал баллов. Эта информация в том же виде была разослана в школы. Создать таблицу с данной информацией и вывести ее на экран. Таблица содержит данные о 100 учениках. 1
type opisanie=record familia: string[20]; ima: string[15]; shkola: integer; ball: integer; end; var a:array[1..100] of opisanie; i:integer; begin for i:=1 to 100 do begin read (a[i].familia); read (a[i].ima);read (a[i].shkola);read (a[i].ball); end; for i:=1 to 100 do begin write(a[i].familia); write(' ',a[i].ima);write(' ',a[i].shkola);write(' ',a[i].ball); writeln; end; end.
После единых выпускных экзаменов по информатике в район пришла информация о том, какой ученик, какой школы сколько набрал баллов. Эта информация в том же виде была разослана в школы. Таблица содержит данные о 100 учениках. Завуч школы 30 решила наградить лучшего учащегося, который лучше всех сдал информатику. Программа должна вывести на экран фамилию и имя этого ученика. 22
type opisanie=record familia: string[20]; ima: string[15]; shkola: integer; ball: integer; end; var a:array[1..100] of opisanie; i,max:integer; begin max:=0; for i:=1 to 100 do begin read (a[i].familia); read (a[i].ima);read (a[i].shkola); read (a[i].ball); end; for i:=1 to 100 do begin if (a[i].ball>max) and (a[i].shkola=30) then max:=a[i].ball; end; for i:=1 to 100 do if (a[i].ball=max) then begin write(a[i].familia); write(' ',a[i].ima); end; end.
После единых выпускных экзаменов по информатике в район пришла информация о том, какой ученик, какой школы сколько набрал баллов. Эта информация в том же виде была разослана в школы. Таблица содержит данные о 100 учениках. Завуч школы 30 решила наградить двух лучших учащихся, которые лучше всех сдали информатику. Программа должна вывести на экран фамилии и имена этих учеников. 3
var a:array[1..100] of opisanie; i,max,max1:integer; begin max:=0; max1:=0; for i:=1 to 100 do begin read (a[i].familia); read (a[i].ima);read (a[i].shkola); read (a[i].ball); end; for i:=1 to 100 do begin if (a[i].ball>max) and (a[i].shkola=30) then max:=a[i].ball; end; for i:=1 to 100 do begin if (a[i].ball max1) then max1:=a[i].ball; end; for i:=1 to 100 do begin if (a[i].ball=max) then begin write(a[i].familia); write(' ',a[i].ima); end; if (a[i].ball=max1) then begin write(a[i].familia); write(' ',a[i].ima); end; end; end.
После единых выпускных экзаменов по информатике в район пришла информация о том, какой ученик, какой школы сколько набрал баллов. Эта информация в том же виде была разослана в школы. Завуч школы 30 решила наградить двух учащихся, которые лучше всех сдали информатику. Программа должна вывести на экран фамилии и имена этих учеников. На вход программе сначала подается число учеников, сдававших экзамен. В каждой из следующих N строк находится информация об учениках в формате: -строка, состоящая не более чем из 30 символов без пробелов, - строка, состоящая не более чем из 20 символов. -число в диапазоне от 1 до 99 -число в диапазоне от 1 до 100. Эти данные записаны через пробел, то есть в каждой строке ровно 3 пробела. 4
var stroka,str1:string[52];c:char; i,N,shkola,ball,max,max1:integer; Begin max:=0; max1:=0; stroka:=''; str1:=''; Writeln('vvedi kol-vo uchenikov ');readln(N); for i:=1 to N do begin stroka:=''; Repeat read(c); Stroka:=Stroka+c; Until c=' '; Repeat read(c); Stroka:=Stroka+c; Until c=' '; read(shkola); read(ball); if (shkola=30) and (ball>max) then begin max:=ball; str1:=stroka; end; end; Writeln (str1); end.