
- •1. Введение
- •2. Операторы языка
- •Var Описание переменных;
- •3. Организация ветвлений
- •4. Логические функции
- •5. Организация циклов
- •Оператор цикла с предусловием имеет вид
- •Var I,j:integer; X,y,r:real;
- •Program p5_8;
- •Var y,X,z: integer;
- •6. Массивы
- •Var I,j: integer;
- •Var n,I,j:integer; s,y,sr:real; X: array [1..10,1..5] of real;
- •Var I,j,n,m: integer;
- •X:array [1..10] of integer;
- •Var n,I,j,st,kl,k:integer;
- •7. Символьные данные
- •Var n:integer;y:string;
- •Var X:string[1]; d:string; I:integer;
- •8. Записи
- •Var X:vr; y:array [1..5] of vr;
- •9. Файлы
- •Ввод и вывод информации для типизированных и текстовых файлов производится процедурами:
- •10. Подпрограммы
- •11. Графика
- •Var d,I,m,rx,ry:integer;
- •Initgraph(d,m,''); {переход в графику}
- •Var d,m,rx,ry:integer;
- •X,y,xn,xk,ymin,ymax,dx:real; msy,msx:real;
З
program
P7_3; 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.
Var X:string[1]; d:string; I:integer;
Задания.
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), находит новую, отстоящую от данной на Х дней.