КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Программирование задач с записями
Программирование задач с символами и строками Строка – упорядоченный набор символов в кавычках. Описание строки в разделе описания переменных (Var) на языке Pascal имеет вид: St: string [ NMax ]; где string – строка, St – имя строки, NMax – максимальное количество символов в строке. Это означает, что переменная Stявляется строкой, которая может содержать от 0 до NMaxсимволов. Описание символьной переменной в разделе описания переменных (Var) на языке Pascal имеет вид: Ch: char; где char – символьный тип (character), Ch – имя символа. Это означает, что переменная Chявляется символом. Пример. Var god: string[4]; bukva: char; Это означает, что переменная god – строка, включающая максимум 4 символа, а переменная bukva – единичный символ. Доступ к символу в строке имеет вид: St [ Ind ] где St – имя строки, Ind – индекс символа. Это означает доступ к символу с номером Ind в строке St. Пример. god[3] Это означает 3-й символ в строке god. К строкам можно применять следующие операции: + (сцепление). =(равно). <>(не равно). <(меньше). >(больше). <=(меньше или равно). >=(больше или равно). К строкам обычно применяют следующие стандартные функции: 1. Length(St) – длина строки St. 2. Concat(St1,…,StN) – соединение строк St1, …, StN. 3. Copy(St,Ind,N) – скопированные N символов из строки St, начиная с позиции Ind. 4. Pos(PodSt,St) – номер позиции, с которой начинается подстрока PodSt в строке St. К строкам обычно применяют следующие стандартные процедуры: 1. Insert(PodSt,St,Ind) – вставка подстроки PodSt в строку St, начиная с позиции Ind. 2. Delete(St,Ind,N) – удаление N символов из строки St, начиная с позиции Ind. Задача 4. Условие задачи. Ввести строку с названием купленного товара. Если товар не является вещью, то объединить строку с названием товара и слово «вкусно». Программа. Program z4; Var tovar: string[10]; itog: string[20]; Begin readln(tovar); if not(tovar='Вещь') then itog:=tovar+' - вкусно'; writeln(itog); End. Контрольный пример.
Запись – неупорядоченный набор величин разных типов, называемых полями. Поле – именованная величина, являющаяся частью записи. Описание записи в разделе описания переменных (Var) на языке Pascal имеет вид: Zap: record SP1: T1; … SPN: TN end; где record – запись, end – конец описания записи, Zap – имя записи, SP1 – список полей 1-й, SPN – список полей Это означает, что переменная Zap является записью, включающей поля в списке SP1 типа T1, … поля в списке SPN типа TN. Пример. Var computer: record nazv: string[10]; god: integer; bystr: real; end; Это означает, что переменная computer – запись, включающая поля nazv строкового типа, god целочисленного типа, bystr вещественного типа. Доступ к полю записи имеет вид: Zap. Pole где Zap – имя записи, Pole – имя поля. Это означает доступ к полю Pole записи Zap. Пример. computer.nazv Это означает поле nazv записи computer. Оператор присоединения имеет вид: with Zap do Op где with – с, do – делать, Zap – имя записи, Op – оператор. Это означает, что с полями записи Zap надо выполнять оператор Op. Пример 1. Ввести поля записи computer без использования оператора присоединения. readln(computer.nazv,computer.god,computer.bystr); Пример 2. Ввести поля записи computer с использованием оператора присоединения. with computer do readln(nazv,god,bystr); Задача 5. Условие задачи. Задана запись студента с полями: фамилия, год рождения, средний балл за сессию. Начислить студенту стипендию, если известно, что за все отличные оценки начисляется стипендия в 1000 рублей, а за остальные оценки стипендия не начисляется. Программа. Program z5; Var student: record fam: string[10]; god: integer; ball: real; end; stip: real; Begin with student do readln(fam,god,ball); if student.ball=5 then stip:=1000 else stip:=0; writeln('Стипендия – ',stip:7:2,' рублей'); End. Контрольный пример.
Задача 6. Условие задачи. Дан массив студентов из полей записи: фамилия, год рождения, средний балл за сессию. Найти студента с максимальным средним баллом. Программа. Program z6; Type student = record fam: string; god: integer; ball: real; end; Var A: array [1..50] of student; i,imax,n: integer; max: real; Begin readln(n); for i:=1 to n do with A[i] do readln(fam,god,ball); max:=A[1].ball; imax:=1; for i:=1 to n do if A[i].ball>max then begin max:=A[i].ball; imax:=i; end; writeln('Фамилия -',A[imax].fam,' с баллом ',A[imax].ball); End. Контрольный пример.
Дата добавления: 2014-01-04; Просмотров: 398; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |