Ваш логотип
В баскетбольную команду могут быть приняты ученики, рост которых превышает 170 см. Составьте список кандидатов в команду из учеников класса.
Строкой символов, или символьной (строковой, текстовой) константой будем называть последовательность символов заключенных в апострофы. Максимальная длина текстовой строки 255 символов.
Символьные переменные Символьный тип CHAR Строковый тип String Turbo Pascal Символьный Char a:=' f ' ; b:='+' ; c:='5' ; If a=' ' then k:=k+1 Литерный String t:='Литерная величина' ; f:=' ' ; (пустая строка)
Символьный тип данных( CHAR) Значением данной переменной может быть 1 любой знак, занимающий в памяти 2 байта. Символьные переменные можно сравнивать, из двух символов больше тот, который стоит дальше в таблице кодировки ASCII. Стр. 131 в учебнике Соответствие символов и байтов задается таблицей кодировки, в которой для каждого символа указывается соответствующий байт. Символы с кодами от 0 до 127 построены по стандарту ASCII (American Standard Code for Information Interchange - Американский стандартный код обмена информацией, читается "аски"). Вторая половина таблицы (коды ) в нашей стране содержит русские буквы (кириллицу) и символы псевдографики.
Коды (кодировка ASCII) Коды (модифицированный альтернативный вариант)
Строковый тип данных( String) Строкой называется последовательность символов определённой длины Описание переменных: аа:string[30]; str: string; Для данных символьного и литерного типов применимы операции сцепки (соединения, сложения, конкатенации) и сравнения (, =, =, ). Сравнивать можно строки разной длины. Сравнение осуществляется слева направо в соответствии с ASCII-кодами соответствующих символов. Так, строка "стол" меньше строки "стул", строка "teacher" больше строки "pupil", а строка "А" меньше строки "АВ". Пример: Калинин + град результат Калининград
Стандартные процедуры и функции А) Delete(Var S:String; N,M:Integer) Удаляет M символов из строки S, начиная с позиции N. Пример: S1:=FFDSAHJ; S2:=Мама мыла раму; Delete(S1,3,4); Delete(S2,11,4); Результат: S1:=FFJ; S2:=Мама мыла; Процедуры
Стандартные процедуры и функции Процедуры Б) Insert(S1: String; Var S:String; N:Integer) Вставляет подстроку S1 в строку S, начиная с позиции N. Пример: S1:=FFDSAHJ; S2:=Мама мыла раму; Insert(S1, S2,11); Результат S2:=Мама мыла FFDSAHJ раму
Стандартные процедуры и функции Процедуры В) Str(X:Integer; Var S:String) Возвращает представление числа X в его символьной форме S. Пример: А:= 1234; Str(А, S1) Результат: S1:=1234;
Стандартные процедуры и функции Процедуры Г) Val(S:String; Var X, к: Integer) Возвращает представление символов строки S в ее числовой форме X. Параметр к содержит признак ошибки преобразования, т.е. первый символ, не являющийся цифрой (если к = 0, ошибки нет). Пример: S1:=1234; Val (S1, А, к ) Результат: А:= 1234, к:=0
Стандартные процедуры и функции Функции А) Length(S: String): Byte - длина строки. Возвращает количество символов в строке S. Пример: S1:=FFDSAHJ; S2:= Мама мыла раму; k1:= Length(S1); k2:= Length(S2); к1=7, к2=14
Стандартные процедуры и функции Б) Copy(S: String; N,M: Integer): String Возвращает подстроку из строки S, начиная с позиции N и длиной M символов. Строка S не меняется Пример: S1:=FFDSAHJ; S2:=Мама мыла раму; А:=Copy(S1,4,2); В:=Copy(S2,11,4); Ответы: А:=SA; В:=раму Функции
Стандартные процедуры и функции Функции В) Pos(S1, S: String): Byte Возвращает номер позиции, начиная с которой в строке S располагается подстрока S1 (если значение функции равно нулю, то S не содержит S1). Пример: S1:=мыла; S:=Мама мыла раму; К:= Pos(S1, S); Результат: К:= 6
Стандартные процедуры и функции Функции Г) Chr(X:Byte): Char Возвращает символ с заданным порядковым номером X в таблице кодов. Д) Ord(X: Char): LongInt Возвращает порядковый номер символа X в таблице кодов символов. Е)Сoncat(S1[, S2,..., SN]): String Выполняет сцепку (конкатенацию) последовательности строк.
Номер теста Проверяем ый случай Число учеников ФамилииРостРезультаты 1 Есть кандидаты 3 Кулов Чехин Уваров Кулов Уваров 2 Нет кандидатов 2 Ершов Иванов Нет кандидатов В баскетбольную команду могут быть приняты ученики, рост которых превышает 170 см. Составьте список кандидатов в команду из учеников класса.
Program BascetBall; Uses Crt; Var FAM : Array [1..30] of String; { фамилии учеников } Rost : Array [1..30] of Real; { рост учеников } Cand : Array [1..30] of String; { фамилии кандидатов} Kol, i, K : Integer; { Kol - число учеников, K - количество зачисленных} BEGIN Write('В КОМАНДУ ЗАЧИСЛЯЮТСЯ УЧЕНИКИ, '); WriteLn('РОСТ КОТОРЫХ ПРЕВЫШАЕТ 170 СМ.'); WriteLn; Write('Сколько всего учеников ? '); ReadLn(Kol); WriteLn('Введите фамилии и рост учеников :'); For i := 1 to Kol do begin Write(i, '. Фамилия - '); ReadLn(FAM[i]); Write(' Рост - '); ReadLn(Rost[i]); end;
WriteLn; K:=0; { Составление списка команды } For i := 1 to Kol do If Rost[i]>170 then begin K:=K+1; Cand[K] := Fam[i] end; If K=0 then WriteLn('В КЛАССЕ НЕТ КАНДИДАТОВ В КОМАНДУ.') else begin WriteLn('КАНДИДАТЫ В БАСКЕТБОЛЬНУЮ КОМАНДУ :'); For i := 1 to K do WriteLn( i, '. ', Cand[i]); end; END.