11 (Лабораторная работа №11)
Описание файла
DJVU-файл из архива "Лабораторная работа №11", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "информатика" в общих файлах.
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла
Лабо ато ная абота№11поин о матикена2007/08 ч.го: 8 ак льтет 1к с 1семест Обработка последовательности литер входного текстового файла. Простейшие приемы лексического анализа. Диаграммы состояний и переходов. Составить щюграмму на языках Си (грппгы 1-4, 6, 8, 9) ити Паскаль !тру<псы 5, 7, 10), построчно вы<<охи<лещ)ю опалял и обработку вводимого текста в соответствии с выданным лреподавнтвюм вариантом задания. Програ<мма не <)олхсна ограничивать калилестсо я длину строк исходного текста Конец файла должен оорабатываться корректно, как это делается уппитами Б)4!Х !пас, ис — с и т.д.) При разрабоп<е алгоритма рекомендзется использовать диаграммы Тьюринга или другие подходащ<е визуалылге модели, и помещать с<ютветствующие иллюстрации в отчет !пункт "идея, метод, алгоритм рсгпеши"). Систематическое решение задач лексического анализа осуществлясщя с помощью коне лгых автоматов, семантика состошшй-переходов которых соответствует концепции машин Тьк<риш а.
Кроме того, в системс ПМХ имеются инсцзументальные средства построения лексических анализаторов (Тех/Расс, дпи гзех/Ьтяап, рссгя, ...), использование которых входит в программу курса "Системное и прикладное нрограммнос обеспечение", читаемого на 2 курсе. Рекомендуется предварительно отработать ввод/вывод программы на прототипе — программе дублирования текстового файла и сравнить ее с командой Ппгх ис — с для тестовых файлов Терминология Слово — произвольная непустая последовательность зштер, нс являющихся разделителяьи. Число — произвольная непусгая последовательность цифр данной системы счисления, быль может, начинанэщаяся со знака Ь или †.
Разделители слов и чисел пробел, заггятая, табуляция и нач шо и конец строки и файла Строка — последовательность лишр, конец которой определяется сияшолом цсрсвода строки Хп в языке Си (а в последней строке — системозависимой константой Ьот, возвращаемой фтклщей чтения!) либо !в языке Паскаль) обнарукивается прели<<атом ео2п, причем в послещгяя строка файла может завершаться еог)).
При чтении текстового фа<па пережзд па пончо строку, если она существует 08 в язьп<е Си осуществляется автоматически, в то время, как в языке Паскаль требуеюя вызвать процедуру хеа<11п. Текст — последовательность строк, конец которой о<бэнаружзвается предикатом еох <в Пасхтп<е) либо функцией чтения языка Си, возвратившей системозависимдо константу Еог. При обработке строк текстового файла необходимо помнить, чзо их длина заранее неизвестна и может быть нулевой, а предикаты ео2о и еоГ могут оказаться истинными с самого начала Обратите внимание па различие кодов окончания строк в ОС !ЛПХ, )э<и<)овв и Мас08 (сз<, материал ЛР №3)! Не следует использовать низкоуровневые кодозависимые константы лля обработки конца строки/файла. И конечно же, необходимо соблкц<ать стандарты Паскаля 180 7185 (см, ключ — л<<< ашюЬо дгя Сошрац Рааса! и -ре<<апс! с для 0%) Рааса)) и Си (див! ХЗ.
259 или !50 9899, ключи аназ<огичны). Варианты задании 1. Подсчитать коюрольные сумьпя всех слов исходно< о текста. 2. Подсчитать количество слов во всех сцюках исходного тексш. 3. Выделить все числа, записанные в трез<явой системе счислсш<я и кратнъю 3. 4. Перевести все мерные температуры из шкалы Цельсия (С) в шкалу Фаренгейта (Г).
Например: 100С ~ 212Р. 5. Перевести все мерные длины из дюймов 1<п) в миллиметры (мм) Например 1Ош -9 254мм. 6. Перевести все мерные расстояния из м<пь (<ш) в километры (км). Например 1000пп -х 1609км. 7."'" Подсчитать количество слов. которые явля<отея числами в римской системе счисления. 8. Подсчитать количество слов, содержащих пе менее 3-х букв. 9. Подсчитать количество положительных десятичных чисел в строке. допустимых 16-бивнями процессорами. 1О, Подсчитать количество восьмиричпых чисел, находящихся в диапазоне от 10 до 1000. 11.
Рыделить предпоследнее шестнадцатиричное число в строке. 12. Выделить предпоследнее десятичное число и вычислить сумму его цифр. 13. Выделип предпоследнее десятичное число и распечатать его цифры в системах счисления с основаниями 3, 7 и 11. 14. Выделить первые и последние (по счету) десятичные числа строк текста. 15 Удалить десятичные числа, превышающие л<ихап. 16. 1'аспечатать каждое третье двоичное число. 17. Выделить все десятичные числа от 17 до 77 по модулю и распечатать их значения в словесной форме по-русски. 18 Выделить все восьмеричные числа от 17 до 77 по модулю и распечатать их значения в словесной форме по-английски 19." Выделить все девятери пиле числа от 17 до 77 по модулнэ и распечатать их значения в словесной форме по-пемецки 20." Выделить все десяти ппяе числа от 17 до 77 по модулю и распечатать их значения в словесной форме по-фран~взски 21.
а Я Выделить все восьмеричные числа от 17 до 77 по модулю и распечатать их значения в словесной форме по-испански. 22," Выделить все девятеричные числа от 17 до 77 по модулю и распечатать их значения в словесной форме по-итальянски 23. Выделить все шестнадцатири пп,ге числа, ик<еющие максимальное число цифр в 32-битной архитектуре. 24.
Подсчитать количество шестнадцатири пгых слов в строке, изобража<ощих отрицательные числа в 64-битной архитектуре 25. Выделить беззнаковые восьмеричные числа и напечатать их цифры в лвоичпой системе 26. Выделить десятичные целые числа без знака и напечатать суммы их четных цифр. 27. Выделить шестналцатиричтп ге целые числа без знака и напечататыпестнадцатиричн)ю сух<мунк нечетных цифр. 28.
Подсчитать число слов в однострочных комментариях (д) в программе на Си. 29. Подсчитать число слов в многострочных комментариях (/" и ~l) в программе на Си. 30. Подсчитать число слов в комме<<гарнах ( ! и ', или !" и Я) ) в программе «а Паскале. 31. Подсчитать количество во«ноя<етра<<нь<х (со всеми необходимыми ведчцими нулями) двоичнокодированных десятичных чисел <ВС13— В тогу Со<!с<1 )Осе<в<а!). 32. Подсчитать количество слов с лексикографически возрасппощими б)хнами латинского алфавита 33.
Подсчитать количество слов — правшгьных идентификаторов языков Си или Паскаль. 34. Закодироватыекст по Цезарю с переменным ктючоьг, равным номер) буквы в слове <- 3. 35. Раскодировать текст, закодированный по Цезарю с переменным ключом, равным номеру слова в строке 36. Напечатать значения пя<з<ричных чисел, не являющихся троичными числами в десятичной системе 37. Отдалив пробелом слова, находящиеся вплотную к концу строки и к началу следующей.
38. Выде<ппь все 11-ричные числа с лсксикографическим возрастанием цифр. 39. Ко всем допустимым целым числам добавить ведущие нули 40. У всех допустимых 16-ричных чисел перенести ведущие нули в младшие разряды машинного слова. 41.* Подсчитать количество существительных в тексте на немецком языке Ворионл<ь< заданий состааяля Зайцев ВЕ., Журавлева ТЗ., Казяаин4г7., Крапов СС., <ешщкио ПА., Со<аликов ДВ., Перетягяя Пл., Горлов хб 1„Ооелхлс А.<, .