Pascal строковий тип і безлічі - oh, msbro!

Вивести в один рядок ABBCCCDDDD .... ZZ ... Z.

i - змінна циклу; визначає, яка буква виводиться;
k - кількість повторень букви;
j - змінна циклу.

Алгоритм рішення задачі:

  1. цикл for i: = 'A' to 'z' do визначає, яку букву виводимо на друк;
  2. внутрішній цикл for j: = 1 to k do визначає, скільки разів буде друкуватися буква;
  3. виводимо задану букву k раз на екран;
  4. після виведення всіх букв закриваємо рядок оператором writeln.

Дана рядок символів. Видалити з неї всі розділові знаки.

i - змінна циклу;
L - довжина рядка;
str - рядок тексту;
str1 - допоміжна рядок;
m - безліч знаків пунктуації.

Алгоритм рішення задачі:

  1. задаємо значення безлічі m - безлічі знаків пунктуації;
  2. вводимо рядок str з клавіатури;
  3. цикл for i: = 1 to l do здійснює побудова допоміжної рядка без розділових знаків: беремо окремий символ рядка і перевіряємо, чи не є він знаком пунктуації. Якщо так, то приєднуємо цей символ до нової допоміжної рядку. Якщо немає, то переходимо до наступного елементу рядка;
  4. первісну рядок замінюємо на допоміжну;
  5. виводимо терміну на екран.

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

i - номер позиції, яка відповідає точці;
j - місце розташування першої точки;
m - місце розташування останньої точки;
str - рядок тексту;
s1 - допоміжна змінна.

Алгоритм рішення задачі:

Дана рядок символів. Визначити, чи є вона записом десяткового числа, кратного трьом.

Необхідно упевнитися, що введений рядок складається тільки з цифр, тобто може бути перетворена в десяткове число. Саме перетворення цифри в число зробити дуже просто. Оскільки коди символьних змінних - цифр - слідують один за іншим, то функція ord в вираженні ord (s1 [i]) - ord ( '0') допоможе нам зробити це.
змінні:

i - змінна циклу;
s1 - рядок цифр;
m - довжина рядки;
k - лічильник цифр.

Алгоритм рішення задачі:

  1. вводимо рядок s1;
  2. організуємо в рядку пошук цифр до тих пір, поки не зустрінемо кінець рядки або виявимо наявність помилки в арифметичному виразі;
  3. якщо зустрічається цифра, то додаємо її до загальної суми цифр;
  4. після визначення суми цифр визначаємо, кратна вона на трьох;
  5. в залежності від отриманого результату виводимо відповідь на екран.

Дана рядок символів. Групи символів в ній між групами прогалин вважаються словами. Порахувати, скільки слів містить даний рядок.

i - допоміжна змінна;
s - рядок тексту;
k - лічильник слів.

Алгоритм рішення задачі:

  1. вводимо рядок s;
  2. на кожному кроці зовнішнього циклу відшукуємо чергове слово в рядку і збільшуємо лічильник слів;
  3. виводимо результат на екран.

Дана рядок символів. Групи символів в ній між групами прогалин вважаються словами. Визначити довжину найкоротшого і найдовшого слова.

i - індекс чергового символу в рядку;
s - рядок тексту;
beginStr і endStr - початок і кінець слова;
len - довжина слова;
max - довжина найбільшого слова;
min - довжина найменшого слова.

Алгоритм рішення задачі:

  1. вводимо рядок s;
  2. встановлюємо початкові значення max і min;
  3. організуємо зовнішній цикл для пошуку чергового слова в рядку;
  4. знайшовши слово, визначаємо його довжину і при необхідності коригуємо max і min;
  5. виводимо результат на екран.

Присвоїти літерним змінним с2, з1 і С0 відповідно ліву, середню і праву цифри тризначного числа k.

Використовуючи тільки літерний введення, тобто процедуру readln (c), де с - літерні змінна, ввести непорожню після-довність цифр, перед якою може перебувати знак »+» або »-» і за якою слідує пробіл, і, отримавши відпо-вующее число, привласнити його цілої змінної k .

Програма. Надрукувати задану непорожню рядок:
а) видаливши з неї всі цифри і подвоївши знаки «+» і «-»:

б) видаливши з неї всі знаки «+». безпосередньо за якими йде цифра:

Описати функцію count (s), підраховують загальну кіль-кість цифр і знаків '+', '-' і '*', що входять в рядок s.

а) у функції count:

s - рядок (формальний параметр);
i - лічильник циклу (локальна змінна);
k - загальна кількість цифр і знаків '+'. '*'. '-' в заданому рядку (локальна змінна);

б) в основній програмі:

s1 - введений рядок (локальна змінна);
k1 - загальна кількість цифр і знаків '+', '*', '-' в заданому рядку s1 (фактичний параметр).

Алгоритм рішення задачі:

  1. створюємо функцію count, підраховують загальну кількість цифр і знаків '+', '*', '-' в заданому рядку;
  2. вводимо рядок s1;
  3. викликаємо функцію count та виводимо значення лічильника k1 на екран;
  4. завершуємо роботу програми.

Описати функцію card (A), підраховують кількість елементів множини A типу M (нуль використовуйте як припинення введення). (Наприклад, card ([5,8,23]) = 3.)

а) у функції card:

A - безліч (формальний параметр);
p - лічильник циклу від 0 до 99 (локальна змінна);
k - кількість елементів множини А (локальна змін-ва);

б) в основній програмі:

x - введене число (локальна змінна);
b - створене безліч (локальна змінна);
k1 - кількість елементів в створеному безлічі (факти-ний параметр).

Алгоритм рішення задачі:

  1. створюємо функцію card, підраховують кількість елементів множини;
  2. організуємо порожня множина;
  3. в циклі repeat ... until вводимо числа до тих пір, поки не ввели 0, і дописуємо їх у безліч;
  4. викликаємо функцію card і виводимо значення лічильника k1 на екран;
  5. завершуємо роботу програми.

Програма. Дана рядок з малих латинських букв. Надрукувати перші входження букв в текст, зберігаючи їх результат-ний взаємний порядок.

let - безліч малих латинських букв;
c - черговий символ рядка;
s - введений рядок;
i - змінна циклу.

Алгоритм рішення задачі:

  1. організуємо порожня множина let;
  2. вводимо рядок s;
  3. організуємо цикл, в якому переглядаємо символи рядка s до тих пір, поки не зустрінемо '.', і перевіряємо, чи входить цей символ у безліч let (тобто символ - мала латинська бук-ва);
  4. якщо черговий символ рядка не входить в безліч let, то цей символ зустрівся вперше, виводимо її на екран і дописуємо в безліч;
  5. завершуємо роботу програми.

type series = file of real;

Описати функцію neg (s), підраховують суму отрицатель-них елементів у файлі s типу series.

а) основна програма:

f - файл дійсних чисел (глобальна змінна);
y - чергове число для запису в файл (глобальна пере-менная);
n - сума негативних елементів файлу (глобальна пе-ремінна);
k - лічильник цифр.

s - файлова змінна (локальна, формальна змінна);
x - черговий елемент файлу (локальна змінна);
sum - сума негативних елементів файлу (локальна змінна).

Алгоритм рішення задачі:

  1. зв'яжемо файл proba.txt з файлової змінної f і відкриємо його для запису;
  2. організуємо цикл, в якому вводимо числа і записуємо їх в файл до тих пір, поки не введемо 0;
  3. викликаємо функцію neg, в якій відкриваємо файл для читання, зчитуємо послідовно елементи файлу і визначаємо суму негативних елементів файлу;
  4. виводимо значення суми на екран.

Описати логічну функцію sort (r), яка перевіряє, упором-дочени чи по зростанню елементи непорожньої файлу r типу row.

Описати функцію less (f) від непорожньої файлу f типу reals, яка підраховує кількість елементів файлу f, менших середнього арифметичного всіх елементів цього файлу.