Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




1. Запросите у пользователя числа, преобразуйте их в строки, произведите их сцепление в разных сочетаниях и вывод на экран. Не забудьте поставить между строками пробел, в конце точку и начать с заглавной буквы.

2. Запросите у пользователя несколько строк и выведите на экран их длину, результат конкатенации в некотором порядке и произведите проверку, можно ли преобразовать эти строки в числа.

3. Запросите у пользователя строку, состоящую из 5 символов, и проверьте является ли она примером, складывающим два однозначных числа, каждое из которых меньше пяти; если является, то вычислите его.

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

5. Запросите у пользователя две строки и сравните их длину, первый и последний символ каждой строки, а также выведите на экран эти строки с заглавной буквы.

6. Напишите алгоритм, проверяющий, является ли частью данного слова слово "сок". Если ответ отрицательный, то добавьте к введенному слову слово "нет" в начало и конец. Если ответ "да", то проверьте, не является ли оно словом «сокол».

7. Задайте пользователю вопрос, требующий однозначного ответа. Проверьте его правильность. Дайте пользователю несколько подсказок и попыток. Если он угадал, то спросите его имя, и выведите на экран поздравление, являющееся конкатенацией нескольких строк, дважды употребив его имя.

8. Запросите у пользователя строку и символ и выведите на экран сообщение, имеется ли среди символов строки заданный пользователем символ. Если - нет, то добавьте в его строку этот символ по выбору: в начало или в конец строки.

9. Загадайте пользователю детскую загадку. Дайте ему возможность трижды попробовать отгадать Вашу загадку. Сопровождайте работу программы диалогом с пользователем. Примените конкатенацию введенных строк.

10. Заставьте компьютер случайным образом загадать букву латинского (русского) алфавита. Предложите пользователю отгадать загаданную букву, помогая ему следующим образом. Если в очередной попытке пользователем введена буква, стоящая ближе к загаданной, чем предыдущая, то выводите пользователю сообщение "Горячее!", а если дальше - "Холоднее!".

11. Заставьте компьютер случайным образом загадать букву латинского (русского) алфавита. Предложите пользователю отгадать загаданную букву, помогая ему следующим образом. Если пользователем введена буква, стоящая слева от загаданной, то выводите пользователю сообщение "Правее!", а если справа - "Левее!".

Задачи для дополнительного решения (на усмотрение учителя)

1. Выясните, какая из букв (первая или последняя) встречается в заданном слове чаще.

2. Сколько букв "у" в слове стоит на четных местах?

3. В тексте, состоящем из латинских букв и заканчивающемся точкой, подсчитайте количество гласных букв.

4. Вычеркните i-ую букву слова.

5. Вычеркните из слова Х те буквы, которые встречаются в слове Z.

Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ.

Стандартные функции для работы со строками (concat,copy,length, pos,upcase).

Функция Length

Встроенная функция Length (длина) позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной (а не величину предельного размера строки, установленную при декларации):

Program DemoFunctionLength;
Var
Word: string;
Begin
write ('Введите слово:');
readln(Word);
writeln('Это слово состоит из ',Length (Word),' букв');
End.

Примечание. При подсчете фактической длины строки учитываются все входящие в нее символы, в том числе и пробелы.

Функция Upcase

Функция Upcase позволяет преобразовывать символ любой литеры из строчного в прописной. Эта функция рассчитана на обработку отдельного символа. Поэтому для обработки строки символов с помощью этой функции приходится организовывать цикл.

Program DemoFunctionUpcase;
Var
Word: string;
i: Byte;
Begin
Word:= 'фирма Microsoft';
for i:= 1 to Length (Word) do
Word[i]:= UpCase (Word[i]);
writeln(Word); {выводится текст 'фирма MICROSOFT'}
End.

В результате работы программы на терминал выдается строка, содержащая большие английские буквы и маленькие русские.

Примечание. Русские литеры не могут обрабатываться этой функцией.

Для того, чтобы преобразовать в заглавные строчные буквы русского алфавита, применяют оператор выбора Case:

...
case Word[i] of
'a': Word[i]:= 'A';
'б': Word[i]:= 'Б';
'в': Word[i]:= 'В';
...
end;
...

Функция Copy

Функция Copy позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая эту функцию нужно указать следующие параметры:

9. имя строки, из которой должен извлекаться копируемый фрагмент,

10. позицию в строке, начиная с которой будет копироваться фрагмент,

11. число копируемых символов.

Program DemoFunctionCopy;
Var
Word: string;
Word1: string[20];
Begin
Word:= 'фирма Microsoft';
writeln(Word); {выводится текст 'фирма MICROSOFT'}
Word1:= Copy (Word,1,5);
writeln(Word1); {выводится текст 'фирма'}
End.

Примечание. Если начальная или конечная позиции копируемого текста находятся вне пределов исходной строки символов, то сообщение об ошибке не выдается. Результатом выполнения операции в первом случае будет строка нулевой длины, во втором - фрагмент от начальной позиции копирования до конца исходной строки.

Функция Pos

C помощью функции Pos Вы можете осуществить поиск некоторого фрагмента в строке. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции, с которой он начинается. Если фрагмент не найден, то функция возвращает нуль.

Program DemoFunctionPos;
Var
Word: string;
SearchWord: string[20];
Position: Byte;
Begin
Word:= 'фирма Microsoft';
writeln(Word); {выводится текст 'фирма MICROSOFT'}
writeln ('Введите искомый текст ');
readln (SearchWord);
Position:= Pos(SearchWord, Word);
if Position <> 0
then
begin
write ('Фрагмент <',SearchWord,'> содержится в строке <',Word);
writeln ('>, начиная с позиции ',Position);
end
else
writeln('Фрагмент <',SearchWord,'> не содержится в строке <',Word); End.

Примечание. Функция Pos требует полного совпадения искомого фрагмента и фрагмента строки, в которой производится поиск. Причем большие и маленькие буквы считаются различными символами.

Функция Concat

Функция Concat (Str1,Str2,...,StrN) выполняет конкатенацию (или сцепление) строк Str1,Str2,...,StrN в том порядке, в каком они указаны в списке параметров. Сумма символов всех сцепленных строк не должна превышать 255.

Program DemoFunctionConcat;
Var
Word: string;
Word1, Word2: string[20];
Begin
Word1:= 'фирмы ';
Word2:= 'Microsoft';
Word:= Concat('Компьютеры ',Word1,Word2);
writeln(Word); {выводится текст 'Компьютеры фирмы Microsoft'}
End.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...