Лз №2 інфа - робота з символьними змінними
Робота з символьними змінними.
Мета роботи: розробка програми з використанням операторів, оброблювальних символьні змінні.
Теоретичне введення: В роботі використовуються наступні оператори:
Оператор опису символьних змінних: Character * l<список переменных>,
де L- довжина символьної переменной.Lможет записуватися і за кожним елементом списку після зірочки.
Операція конкатенації (зчеплення). Символьний оператор // вказує операцію
конкатенації. Приклад: 'For' // 'tran''Fortran'.
Вибір підрядка: V (m: n), гдеmіnвираженія цілого типу. З рядка виділяються символи сMпоNвключітельно. Якщо вони рівні (m = n = i), тоді виділяється один символ (i) .V (i: i) - є звернення кi- ому символу рядка.
Стандартні функції для роботи з символьної інформацією:
- довжина рядка: Len (Wтекст) -функція видає довжину всього рядка,
Len_Trim (Wтекст) - функція повертає довжину рядка без
- індекс підрядка: Index (str, pstr, .true ./. false.) - функція видає позицію першого входження підрядка (str) в рядок (pstr).
- Adjustl (str) - виконує ліве вирівнювання символьного рядка, видаляє всі провідні прогалини і вставляє їх в кінець рядка.
- Adjustr (str) - виконує праве вирівнювання символьного рядка, за рахунок видалення всіх хвостових прогалин і потім ставить їх в початок рядка.
- перетворення текстового типу до цілого. Ichar (Wтекст) - видає 10-чний еквівалент коду символу.
- перетворення цілого типу до текстового: Char (i) - видається символ, код якого равенi.
5) Введення / висновок даних символьного типу:
- Write (*, m), гдеmметка оператораFormatілі специфікації формату, укладені в апострофи і круглі дужки. Для символьних змінних використовується специфікація формату А n, гдеn- кількість символів, займаних символьної змінної.
Звіт про виконану роботу повинен містити:
- умова завдання разом з умовою варіанту,
- опис всіх змінних,
- блок схему алгоритму,
- тест і передбачувані розрахункові результати його виконання.
Дана символьний рядок STR, що складається з 70 символів. Підрахувати кількість заданих символів, розташованих між двома першими входженнями
Integer I, L, Kol
Write (*, *) 'vvedite ishod Str'
Write (*, *) 'vvedite ishod Sim'
довжина рядка без хвостових прогалин
M = Index (Str, ',')! Позиція першої коми
K = M + Index (Str (M + 1: L), ','). позиція другої коми
If (Str (j: j) == Sim) Then
16 Format (2x, 'Kol =', I2)
Приклад 2. Дана символьний рядок STR, що складається з 70 символів. Знайти середнє арифметичне цілих чисел, що входять в задану рядок.
Write (*, *) 'vvedite ishod Str'
довжина рядка без хвостових прогалин
Ns = 1. початок першого слова
Ks = Index (Str, ''). позиція пробілу (кінець слова)
DoWhile (ks<=L+1). цикл выполняется, пока не дойдем до концаStr
Sl = Str (ns: ks)! Вибір слова з рядка
Dl = ks-ns! довжина слова
перевіряємо, чи є це слово числом
If (Sl (j: j)<’0’ .or. Sl(j:j)>'9') Then
перетворення символьного слова Slв ціле чіслоCh
Ns = ks + 1. початок наступного слова
Ks = Ks + Index (Str ())
Вводиться непорожній послідовність символів. Окремі слова в ній розділені пробілами.
Надрукувати послідовності слів, що починаються з однієї і тієї ж букви.
Замінити всі знаки «+», які не є операцією додавання, на пробіл.
У заданому тексті визначити ціле число, що складається з найбільшої кількості цифр.
Знайти серед всіх цілих чисел, що зустрічаються в заданій послідовності символів, мінімальне (числа можуть бути зі знаком).
У заданому тексті підрахувати кількість слів до першої коми.
Знайти в тексті максимальне по довжині слово, що починається з заданого символу.
Змінити текст, щоб слова поділялися рівно прогалиною.
Змінити текст, видаливши з нього всі слова, які стоять між першим і останнім знаком «!».
Роздрукувати в лексикографічному порядку слова, що не містять жодної букви «А».
Роздрукувати в лексикографічному порядку слова, що починаються з приставки «при».
Виділити з тексту окремі «слова», що є числами кратними заданому числу М. Знайти серед них мінімальне.
Знайти в тексті слово з максимальною кількістю входжень заданого символу.
У тексті у вигляді окремих «слів» зустрічаються цілі числа. З першого і останнього серед цих чисел вибрати те, яке найближче до заданого числа Р.
Вибрати з заданого тексту слова, які містять тільки ті букви, які містить задане слово.
Знайти в тексті найкоротший і найдовше слово, що містить хоча б один раз заданий символ.
Переставити слова в тексті в зворотній послідовності.
Змінити текст, видаливши з нього всі слова, що починаються із заданою літери.
Підрахувати кількість слів у тексті, що містять не менше двох входжень заданого символу. Роздрукувати ці слова.
Підрахувати кількість і роздрукувати в лексикографічному порядку слова, що починаються і закінчуються однією і тією ж буквою.
Роздрукувати в лексикографічному порядку всі слова, що зустрічаються в заданому тексті.
У заданому тексті підрахувати кількість слів, розташованих між двома першими запитом.
Змінити текст, видаливши з нього повторні входження слів.
Роздрукувати всі числа, що зустрічаються в заданому тексті.
Змінити текст, видаливши з нього всі «слова», що є числами.
Змінити текст, видаливши з нього всі слова, що починаються і закінчуються заданою буквою.
У заданому тексті кожну кому притиснути до попереднього слова і відокремити від наступного прогалиною.
Роздрукувати всі однокореневі слова в заданому тексті (корінь задається).
Вибрати з заданого тексту слова заданої довжини і надрукувати їх по одному на кожному рядку.
У заданому тексті підрахувати кількість пропозицій, в які входить заданий слово.
У заданому тексті визначити ціле число, що складається з найбільшої кількості цифр.
У заданому рядку здійснити перестановку символів в зворотному порядку.
Дано два рядки тексту. Вивести слова, присутні в кожному рядку.
У заданому тексті підрахувати скільки разів зустрічається задане слово.
З тексту виключити заданий слово (воно може зустрічатися кілька разів в тексті).
З тексту, кожен рядок, якого містить інформацію про прізвища, рік народження і професії, вибрати тільки ті рядки, в яких рік народження більше заданого.