Pascal строковий тип і безлічі - oh, msbro!
Вивести в один рядок ABBCCCDDDD .... ZZ ... Z.
i - змінна циклу; визначає, яка буква виводиться;
k - кількість повторень букви;
j - змінна циклу.
Алгоритм рішення задачі:
- цикл for i: = 'A' to 'z' do визначає, яку букву виводимо на друк;
- внутрішній цикл for j: = 1 to k do визначає, скільки разів буде друкуватися буква;
- виводимо задану букву k раз на екран;
- після виведення всіх букв закриваємо рядок оператором writeln.
Дана рядок символів. Видалити з неї всі розділові знаки.
i - змінна циклу;
L - довжина рядка;
str - рядок тексту;
str1 - допоміжна рядок;
m - безліч знаків пунктуації.
Алгоритм рішення задачі:
- задаємо значення безлічі m - безлічі знаків пунктуації;
- вводимо рядок str з клавіатури;
- цикл for i: = 1 to l do здійснює побудова допоміжної рядка без розділових знаків: беремо окремий символ рядка і перевіряємо, чи не є він знаком пунктуації. Якщо так, то приєднуємо цей символ до нової допоміжної рядку. Якщо немає, то переходимо до наступного елементу рядка;
- первісну рядок замінюємо на допоміжну;
- виводимо терміну на екран.
Дана рядок символів. Виділити подстроку між пер-виття і останньою крапкою.
i - номер позиції, яка відповідає точці;
j - місце розташування першої точки;
m - місце розташування останньої точки;
str - рядок тексту;
s1 - допоміжна змінна.
Алгоритм рішення задачі:
Дана рядок символів. Визначити, чи є вона записом десяткового числа, кратного трьом.
Необхідно упевнитися, що введений рядок складається тільки з цифр, тобто може бути перетворена в десяткове число. Саме перетворення цифри в число зробити дуже просто. Оскільки коди символьних змінних - цифр - слідують один за іншим, то функція ord в вираженні ord (s1 [i]) - ord ( '0') допоможе нам зробити це.
змінні:
i - змінна циклу;
s1 - рядок цифр;
m - довжина рядки;
k - лічильник цифр.
Алгоритм рішення задачі:
- вводимо рядок s1;
- організуємо в рядку пошук цифр до тих пір, поки не зустрінемо кінець рядки або виявимо наявність помилки в арифметичному виразі;
- якщо зустрічається цифра, то додаємо її до загальної суми цифр;
- після визначення суми цифр визначаємо, кратна вона на трьох;
- в залежності від отриманого результату виводимо відповідь на екран.
Дана рядок символів. Групи символів в ній між групами прогалин вважаються словами. Порахувати, скільки слів містить даний рядок.
i - допоміжна змінна;
s - рядок тексту;
k - лічильник слів.
Алгоритм рішення задачі:
- вводимо рядок s;
- на кожному кроці зовнішнього циклу відшукуємо чергове слово в рядку і збільшуємо лічильник слів;
- виводимо результат на екран.
Дана рядок символів. Групи символів в ній між групами прогалин вважаються словами. Визначити довжину найкоротшого і найдовшого слова.
i - індекс чергового символу в рядку;
s - рядок тексту;
beginStr і endStr - початок і кінець слова;
len - довжина слова;
max - довжина найбільшого слова;
min - довжина найменшого слова.
Алгоритм рішення задачі:
- вводимо рядок s;
- встановлюємо початкові значення max і min;
- організуємо зовнішній цикл для пошуку чергового слова в рядку;
- знайшовши слово, визначаємо його довжину і при необхідності коригуємо max і min;
- виводимо результат на екран.
Присвоїти літерним змінним с2, з1 і С0 відповідно ліву, середню і праву цифри тризначного числа k.
Використовуючи тільки літерний введення, тобто процедуру readln (c), де с - літерні змінна, ввести непорожню після-довність цифр, перед якою може перебувати знак »+» або »-» і за якою слідує пробіл, і, отримавши відпо-вующее число, привласнити його цілої змінної k .
Програма. Надрукувати задану непорожню рядок:
а) видаливши з неї всі цифри і подвоївши знаки «+» і «-»:
б) видаливши з неї всі знаки «+». безпосередньо за якими йде цифра:
Описати функцію count (s), підраховують загальну кіль-кість цифр і знаків '+', '-' і '*', що входять в рядок s.
а) у функції count:
s - рядок (формальний параметр);
i - лічильник циклу (локальна змінна);
k - загальна кількість цифр і знаків '+'. '*'. '-' в заданому рядку (локальна змінна);
б) в основній програмі:
s1 - введений рядок (локальна змінна);
k1 - загальна кількість цифр і знаків '+', '*', '-' в заданому рядку s1 (фактичний параметр).
Алгоритм рішення задачі:
- створюємо функцію count, підраховують загальну кількість цифр і знаків '+', '*', '-' в заданому рядку;
- вводимо рядок s1;
- викликаємо функцію count та виводимо значення лічильника k1 на екран;
- завершуємо роботу програми.
Описати функцію card (A), підраховують кількість елементів множини A типу M (нуль використовуйте як припинення введення). (Наприклад, card ([5,8,23]) = 3.)
а) у функції card:
A - безліч (формальний параметр);
p - лічильник циклу від 0 до 99 (локальна змінна);
k - кількість елементів множини А (локальна змін-ва);
б) в основній програмі:
x - введене число (локальна змінна);
b - створене безліч (локальна змінна);
k1 - кількість елементів в створеному безлічі (факти-ний параметр).
Алгоритм рішення задачі:
- створюємо функцію card, підраховують кількість елементів множини;
- організуємо порожня множина;
- в циклі repeat ... until вводимо числа до тих пір, поки не ввели 0, і дописуємо їх у безліч;
- викликаємо функцію card і виводимо значення лічильника k1 на екран;
- завершуємо роботу програми.
Програма. Дана рядок з малих латинських букв. Надрукувати перші входження букв в текст, зберігаючи їх результат-ний взаємний порядок.
let - безліч малих латинських букв;
c - черговий символ рядка;
s - введений рядок;
i - змінна циклу.
Алгоритм рішення задачі:
- організуємо порожня множина let;
- вводимо рядок s;
- організуємо цикл, в якому переглядаємо символи рядка s до тих пір, поки не зустрінемо '.', і перевіряємо, чи входить цей символ у безліч let (тобто символ - мала латинська бук-ва);
- якщо черговий символ рядка не входить в безліч let, то цей символ зустрівся вперше, виводимо її на екран і дописуємо в безліч;
- завершуємо роботу програми.
type series = file of real;
Описати функцію neg (s), підраховують суму отрицатель-них елементів у файлі s типу series.
а) основна програма:
f - файл дійсних чисел (глобальна змінна);
y - чергове число для запису в файл (глобальна пере-менная);
n - сума негативних елементів файлу (глобальна пе-ремінна);
k - лічильник цифр.
s - файлова змінна (локальна, формальна змінна);
x - черговий елемент файлу (локальна змінна);
sum - сума негативних елементів файлу (локальна змінна).
Алгоритм рішення задачі:
- зв'яжемо файл proba.txt з файлової змінної f і відкриємо його для запису;
- організуємо цикл, в якому вводимо числа і записуємо їх в файл до тих пір, поки не введемо 0;
- викликаємо функцію neg, в якій відкриваємо файл для читання, зчитуємо послідовно елементи файлу і визначаємо суму негативних елементів файлу;
- виводимо значення суми на екран.
Описати логічну функцію sort (r), яка перевіряє, упором-дочени чи по зростанню елементи непорожньої файлу r типу row.
Описати функцію less (f) від непорожньої файлу f типу reals, яка підраховує кількість елементів файлу f, менших середнього арифметичного всіх елементів цього файлу.