Лз №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 ())

Вводиться непорожній послідовність символів. Окремі слова в ній розділені пробілами.

Надрукувати послідовності слів, що починаються з однієї і тієї ж букви.

Замінити всі знаки «+», які не є операцією додавання, на пробіл.

У заданому тексті визначити ціле число, що складається з найбільшої кількості цифр.

Знайти серед всіх цілих чисел, що зустрічаються в заданій послідовності символів, мінімальне (числа можуть бути зі знаком).

У заданому тексті підрахувати кількість слів до першої коми.

Знайти в тексті максимальне по довжині слово, що починається з заданого символу.

Змінити текст, щоб слова поділялися рівно прогалиною.

Змінити текст, видаливши з нього всі слова, які стоять між першим і останнім знаком «!».

Роздрукувати в лексикографічному порядку слова, що не містять жодної букви «А».

Роздрукувати в лексикографічному порядку слова, що починаються з приставки «при».

Виділити з тексту окремі «слова», що є числами кратними заданому числу М. Знайти серед них мінімальне.

Знайти в тексті слово з максимальною кількістю входжень заданого символу.

У тексті у вигляді окремих «слів» зустрічаються цілі числа. З першого і останнього серед цих чисел вибрати те, яке найближче до заданого числа Р.

Вибрати з заданого тексту слова, які містять тільки ті букви, які містить задане слово.

Знайти в тексті найкоротший і найдовше слово, що містить хоча б один раз заданий символ.

Переставити слова в тексті в зворотній послідовності.

Змінити текст, видаливши з нього всі слова, що починаються із заданою літери.

Підрахувати кількість слів у тексті, що містять не менше двох входжень заданого символу. Роздрукувати ці слова.

Підрахувати кількість і роздрукувати в лексикографічному порядку слова, що починаються і закінчуються однією і тією ж буквою.

Роздрукувати в лексикографічному порядку всі слова, що зустрічаються в заданому тексті.

У заданому тексті підрахувати кількість слів, розташованих між двома першими запитом.

Змінити текст, видаливши з нього повторні входження слів.

Роздрукувати всі числа, що зустрічаються в заданому тексті.

Змінити текст, видаливши з нього всі «слова», що є числами.

Змінити текст, видаливши з нього всі слова, що починаються і закінчуються заданою буквою.

У заданому тексті кожну кому притиснути до попереднього слова і відокремити від наступного прогалиною.

Роздрукувати всі однокореневі слова в заданому тексті (корінь задається).

Вибрати з заданого тексту слова заданої довжини і надрукувати їх по одному на кожному рядку.

У заданому тексті підрахувати кількість пропозицій, в які входить заданий слово.

У заданому тексті визначити ціле число, що складається з найбільшої кількості цифр.

У заданому рядку здійснити перестановку символів в зворотному порядку.

Дано два рядки тексту. Вивести слова, присутні в кожному рядку.

У заданому тексті підрахувати скільки разів зустрічається задане слово.

З тексту виключити заданий слово (воно може зустрічатися кілька разів в тексті).

З тексту, кожен рядок, якого містить інформацію про прізвища, рік народження і професії, вибрати тільки ті рядки, в яких рік народження більше заданого.