Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прграммирование и основы алгоритмизации. Прграм...doc
Скачиваний:
1
Добавлен:
23.09.2019
Размер:
839.68 Кб
Скачать

Var X:string[1]; d:string; I:integer;

const s:string='абвxyz123ABC'; {тестовый пример}

begin

d:='';

for i:=1 to length(s) do begin {перебор символов в S}

x:=copy(s,i,1); {очередной символ заносится в Х}

{если 'а'<=буква<='п', код уменьшаем на 32}

if (x>='а')and(x<='п') then x:=chr(ord(x[1])-32);

{если 'р'<=буква<='я', код уменьшаем на 80}

if (x>='р')and(x<='я') then x:=chr(ord(x[1])-80);

{латинские преобразуем в заглавные}

if x<'А' then x:=upcase(x[1]);

d:=d+x; {заполнение слова D}

end;

write(d); {результат: 'АБВXYZ123ABC'}

end.

Здания для самостоятельного решения

1. В символьной строке Х удалить лишние (начальные, конечные и сдвоен­ные) пробелы.

2. В Х подсчитать число вхождений слова ‘его’.

3. В Х поменять порядок символов на обратный.

4. В Х напечатать самое длинное слово.

5. В Х подсчитать число вхождений всех встречающихся знаков.

6. В Х подсчитать число вхождений произвольного символа.

7. В Х в каждом слове поменять порядок символов на обратный.

8. В Х расположить слова в порядке увеличения их длины.

9. Имеется строка Х длиной ≤N, предназначенная для вывода. Выровнять при печати X к правой границе так, чтобы строка занимала все N позиций. Вырав­нива­ние производить за счет равномерного увеличения числа пробелов между словами.

10. Зашифровать строку Х, заменив каждый символ, на символ, следующий за данным по алфавиту (буква А заменяется на Б и т.д., буква Я заменяется на А). Расшифровать полученный текст.

11. Написать программу формирования числа (до 1000 руб.) в сумму прописью (например, 103=‘сто три рубля’).

12. В строке Х имеются открывающиеся и закрывающиеся скобки (включая вложенные). Выяснить, правильно ли они расставлены. Если есть ошибки – сообщить об этом конкретно, включая номер позиции, где она обнаружена.

13. В строка Х содержит любые русские и латинские символы (как заглав­ные, так и строчные), цифры и знаки препинания. Преобразовать все символы Х в строчные. Результат занести в Y.

14. Пусть имеется таблица работников бригады со столбцами: Имя, Отрабо­тано дней, Зарплата. Отсортировать любым методом таблицу по алфавиту. Для упрощения будем считать, что имена не превышают 8-ми символов, содержат только заглавные буквы и не имеют буквы Ё (эта буква в кодовой таблице русских символов находится не на месте).

15. Отсортировать таблицу по алфавиту, где для имен допускаются любые буквы русского алфавита, включая Ё и ё. Сложность здесь заключается как раз в этих буквах. Их коды 240 и 241, т.е. самые большие среди русских букв, в виду чего сравнивать слова придется не целиком, а побуквенно. В случае, если встретилась буква Ё и ё, в программе они должны считаться большими букв Е/е и меньшими Ж/ж.

16. Написать программу, которая из заданной даты (в диапазоне 1900..2100) формирует следующую. Исходная дата задается в форме текстовой строки вида ‘дд.мм.гггг’, например ’06.04.2002’. Подсказка: признаком високосного года является кратность года числу 4. Исключением являются года с двумя нулями на конце, число сотен в которых не кратно 4 (например, 1800, 1900, 2100).

17. Написать программу, которая от заданной даты (диапазон 1900..2100) находит новую, отстоящую от данной на М месяцев. Если в новом месяце такой даты нет, берется последний день нового месяца.

18. Написать программу, которая от заданной даты (1900..2100), находит но­вую, отстоящую от данной на Х дней.