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

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




12. Задано существительное 1-го склонения, оканчивающееся на “а”. Проверьте правильность ввода. Напечатайте это слово во всех падежах. Применяйте подпрограммы.

13. Проверьте правописание “ча” и “ща” в тексте. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы.

14. Напишите алгоритм, подсчитывающий, сколько раз в данном слове х встречается данное слово у. Если слово у длиннее, чем х, то результат должен быть равен нулю. Применяйте подпрограммы.

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

16. Запишите строку а в обратном порядке в строку б. Посчитайте, сколько одинаковых букв находятся на одинаковых местах в этих строках. Применяйте подпрограммы.

17. Заданы фамилия, имя и отчество учащегося, разделенные пробелом. Напечатайте его фамилию и инициалы. Применяйте подпрограммы.

18. Проверьте правописание “жи” и “ши” в тексте. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы.

19. Запросите произвольное предложение и имя. Найдите ошибки употребления имени и исправьте их. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы.

20. Посчитайте количество цифр в веденной строке символов. Применяйте подпрограммы.

21. Посчитайте количество букв в введенной строке символов. Применяйте подпрограммы.

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

Стандартные процедуры для работы со строками (delete, insert,str,val).

Процедура Insert

Процедура Insert вставляет в исходную строку, начиная с указанной позиции, какую-либо другую строку. Оператор Insert (Word1,Word2,5) указывает, строку Word1 необходимо вставить в строку Word2, начиная с 5-ой позиции.

Процедура Delete

Процедура Delete удаляет в исходной строке фрагмент определенной длины, начиная с указанной позиции. Так, оператор Delete(Word1,2,3) удаляет из указанной строки фрагмент, длиной в три символа, начиная со второго.

Процедура Str

Общий вид Str(Chislo,Stroka)

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

Program DemoProcedureStr;
Var
Word: string;
Chislo: integer;
Begin
Chislo:= 1560;
Str(Chislo:8, Word);
writeln(Word); {выводится строка ' 1500'}
End.

Процедура Val

Общий вид Val(Stroka,Chislo,Code)

Процедура Val преобразует значение строки Stroka в величину целочисленного или вещественного типа и помещает результат в Chislo. Значение строковой переменной Stroka не должно содержать пробелов в начале и в конце. Code целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение Code равно нулю, если же ошибка обнаружена, Code будет содержать номер позиции первого ошибочного символа, а значение Chislo будет не определено.

Program DemoProcedureVal;
Var
Word: string;
Chislo, Code: integer;
Begin
writeln('Введите строку цифр ');
readln(Word);
Val(Word, Chislo, Code); {преобразование строки в число}
if Code <> 0
then
writeln('Ошибка! В позиции ',Code,' не цифра!',);
End.

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

12. Составьте алгоритм приписывания к каждому слову в начало заданной буквы в данной строке. Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи.

13. Составьте алгоритм замены в какой-нибудь литерной величине всех букв "а" на буквы "б" и наоборот (при такой замене, например, из слова "баба" должно получиться слово "абаб"). Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи.

14. Составьте алгоритм, утраивающий каждую букву в заданном тексте (при этом, например, из слова "кот" должно получиться слово "кккоооттт"). Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи.

15. Составьте алгоритм, выясняющий, является ли данное слово "перевертышем" (так называются слова, читающиеся одинаково слева направо и справа налево, например: ПОТОП, КАЗАК). Используйте подпрограммы для решения каждой частной задачи.

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

17. Составьте алгоритм, который каждую встреченную в слове букву "б" заменял бы сочетанием букв "ку". Если такого символа нет, то выведите соответствующее сообщение. Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи.

18. Как только в строке встретится символ "*", удалить все символы в строке после "*". Выведите полученную строку на экран. Если такого символа нет, то выведите соответствующее сообщение. Используйте подпрограммы для решения каждой частной задачи.

19. Вставить в строку слово по условию:

а) в конец строки
б) в начало строки
в) после первого слова.

Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи.

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

21. Все слова, в которых буква “а” встречается более 2х раз, удалить из текста. Выведите полученную строку на экран. Если такого символа нет, то выведите соответствующее сообщение. Используйте подпрограммы для решения каждой частной задачи.

22. Из строки удалить среднюю букву, если длина строки нечетная, иначе - удалить две средние буквы. Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи.

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

22. Составьте программу вычисления суммы мест, на которых в слове Х стоят буквы "в" и "п".

23. Дана строка символов. Дано слово. Удалить из строки это слово.

24. Дана строка символов. Выделить подстроку между первой и второй точкой.

25. Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Определить, сколько слов начинается и кончается одной и той же буквой.

26. Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Определить, сколько слов содержат хотя бы одну букву "е".

Контрольная работа.

Вариант 1

1. Результатом вычисления функции Copy('программирование',4,5) будет слово

23. миров

24. грамм

25. программ

26. программа

27. грамми

2. Результатом работы программы:

Var x: string[6];
Begin
x:= ‘мим’+’озадаченный’; writeln(x);
End.

будет слово:

27. мим озадаченный

28. мимозадаченный

29. мимоза

30. озадаченный мим

31. озадаченныймим

3. Составьте подпрограмму для решения задачи:

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

Вариант 2

1. Результатом работы программы:

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

будет предложение:

6. 'Фирма MICROSOFT'

7. 'ФИРМА MICROSOFT'

8. 'фирма Microsoft

9. 'фирма MICROSOFT'

10. 'фирма microsoft

2. Вызывая функцию Copy не нужно указывать:

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

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

· число копируемых символов;

· имя строки, в которую копируется данный фрагмент

· имя функции.

3. Составьте подпрограмму для решения задачи:

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

Вариант 3

1. Результатом работы программы:

Program DemoFunctionLength;
Var
Word: string[9];
Begin
Word:= 'Ялюблюпрограммировать';
writeln(Length (Word));
End.

будет:

· 9

· 23

· 'Ялюблюпрограммировать'

· 'Ялюблю'

· 256

2. Результатом работы программы:

Program DemoFunctionPos;
Var
Word: string;
SearchWord: string[20];
Position: Byte;
Begin
Word:= 'Карл у Клары украл кораллы. Клара у Карла украла кларнет.';
SearchWord:= 'Карл';
Position:= Pos(SearchWord, Word);
writeln (Position);
End.

будет:

· 1 и 37

· 37

· 28

· 1

· 0

3. Составьте подпрограмму для решения задачи:

Вычеркните i-ые буквы текста и посчитайте в нем количество введенных повествовательных предложений.

Вариант 4

1. Встроенная функция Length позволяет определить: (а не, установленную при декларации):

· фактическую длину текстовой строки, хранящейся в указанной переменной,

· величину предельного размера строки,

· предполагаемую величину строки,

· начальную длину строки,

· длину строки, заранее заданную пользователем.

2. Результатом работы программы:

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

будет текст:

· ' фирмыКомпьютеры Microsoft',

· ' Microsoft Компьютеры фирмы ',

· 'Компьютеры фирмы Microsoft',

· 'КомпьютерыMicrosoftфирмы ',

· 'КомпьютерыMicrosoftфирмы '.

3. Составьте подпрограмму для решения задачи:

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

Вариант 5

1. При подсчете фактической длины строки:

· учитываются все входящие в нее символы,

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

· учитываются не все входящие в нее символы,

· учитываются все входящие в нее символы, исключая служебные символы,

· учитываются все входящие в нее символы, имеющиеся на клавиатуре.

2. Результатом работы программы:

Program DemoProcedureStr;
Var
Word: string;
Chislo: integer;
Begin
Chislo:= 1560;
Str(Chislo:8, Word);
writeln(Word);
End.

будет текст:

· '1500',

· ' 1560',

· ' 1560',

· 100000000',

· '00001560'.

3. Составьте подпрограмму для решения задачи:

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

Вариант 6

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

· функция возвращает количество фрагментов в строке,

· функция возвращает нуль,

· функция вырезает найденный фрагмент из строки,

· функция заменяет найденный фрагмент на введенный ранее,

· функция возвращает номер позиции, с которой начинается фрагмент.

2. Результатом работы программы:

Program DemoProcedureVal;
Var
Word: string;
Chislo, Code: integer;
Begin
writeln('Введите строку цифр ');
readln(Word);
Val(Word, Chislo, Code); {преобразование строки в число}
if Code <> 0
then
writeln(‘??????????????’);
End.

должно быть следующее сообщение:

· 'Ошибка! В позиции ',Code,' не ноль!',

· 'Ошибка! Цифра Code,' не закодирована!',

· 'Прекрасно! Число в переменной ',Code,'!',

· 'Ошибка! В позиции ',Code,' не цифра!',

· 'Прекрасно! Число в переменной ', Chislo,'!'.

3. Составьте подпрограмму для решения задачи:

Составьте программу вычисления суммы мест, на которых в слове Х стоят буквы "в" и "п".

Поделиться:





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



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