КАТЕГОРИИ: Архитектура-(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) |
Практическая работа 6. Множества. Записи
Var Пример Begin Write('Enter filename: '); Readln(S); Assign(T, S); { открываем файл для чтения } {$I-} Reset(T); {$I+} { если не нуль, то была ошибка } if IOResult <> 0 then begin Write('Error when open file ', S, '!'); Halt; end; { иначе все в порядке, продолжаем } { ЦИКЛ: пока НЕ КОНЕЦ ФАЙЛА } While (not Eof(T)) do begin { читаем из файла переменную } Read(T, C); { если пробел, увеличиваем счетчик } If C = ' ' then Inc(Spaces); Write(C); end; Writeln('КОЛИЧЕСТВО ПРОБЕЛОВ: ', Spaces); Readln; end. Составим еще одну небольшую программку, которая покажет работу с файлами. Используем типизированные файлы, состоящие из чисел. Итак, мы имеем файл, в котором содержаться числа типа Integer. Отсортируем эти числа в файле по возрастанию. Алгоритм: · Отрываем типизированный файл из Integer; (проверяем на ошибку и т.п.) · Читаем все числа в массив (считываем, пока не конец файла) · Сортируем массив по возрастанию; · Записываем отсортированный массив обратно в файл. Программа: Program Sorting; uses Crt; F: File of Integer; I, J, M: Word; Mas: Array [1..500] of Integer; S: String; begin ClrScr; Write('Enter filename: '); Readln(S); { открываем файл } Assign(F, S); {$I-} Reset(F); {$I+} if IOResult <> 0 then begin Write('Error when open file!'); Halt; end; { пока не конец файла, читаем массив } While (not Eof(F)) do begin Inc(M); Read(F, Mas[M]); Write(Mas[M], ' '); end; { сортируем массив по возрастанию } For I:= 1 to M do For j:= 1 to M do if Mas[I] < Mas[J] then begin inc(mas[j], mas[i]); mas[i]:= mas[j]-mas[i]; dec(mas[j], mas[i]); end; Writeln; Writeln('============================================='); { перезаписываем файл } ReWrite(F); For I:= 1 to 100 do begin Write(Mas[I], ' '); Write(F, Mas[i]); end; Writeln; Write('Elements in file: ', M); Close(F); Readln; end.
Задания к работе 5
Множество в паскале имеет такой же смысл, как и в алгебре – это неупорядоченная совокупность отличных друг от друга однотипных элементов. При описании множественного типа используются слова set и of. Задание конкретного множества определяется правилом (конструктором) – списком элементов или интервалов, заключенным в квадратные скобки. Пустое множество обозначается двумя символами []. Множественный тип можно определить: · в разделе описания типов по схеме: type<имя>=set of<тип элементов> · можно совместить описание множественного типа и соответствующих переменных: type <имя> = set of <тип элементов> · Можно описать переменную множественного типа и задать ее первоначальное значение в разделе описания констант, как констант-множество. Для данных множественного типа определены операции объединения, пересечения и дополнения множеств, обозначаемые в Паскале соответственно знаками +,* и -, а также отношения равенства множеств (А=В), неравенств (A<>B), включения (A<=B, A>=B). Результат операций отношения имеет булевский тип. Переменные множественного типа удобно применять в задачах, где порядок данных не имеет значения, например при моделировании случайных событий. Пример. Составим программу, анализирующую латинский текст и печатающую в алфавитном порядке все найденные в нем буквы, а затем все ненайденные Пусть alfa – множество всех букв латинского алфавита. Будем вводить заданный текст с клавиатуры символ за символом, одновременно формируя множество E – множество латинских букв текста. В конце текста введем символ *. Затем с помощью операции in будем проверять, какие буквы алфавита имеются во множестве Е. Множество N – ненайденных букв в тексте – определяется оператором: N:=alfa-E. program alfa; const alfa:set of char=[‘a’..’z’]; var c:char; E,N:set of char; begin clrscr; E:=[]; writeln(‘введите текст, конец ввода -*’); read(c); while c<> ‘*’ do begin if c in alfa then E:=E+[c; read(c)] end; writeln; if E=alfa then writeln (‘найдены латинские буквы’) else begin N:=alfa-E; writeln(‘найдены:’); for c:=’a’ to ‘z’ do if c in E then write(c); writeln; writeln(‘не найдены:’); for c:=’a’ to ‘z’ do if c in N then write(c); writeln end end.
Дата добавления: 2015-06-04; Просмотров: 610; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |