SearchWord := 'Карл';
Position := Pos(SearchWord, Word);
writeln (Position );
End.
будет:
a) 1 и 37
b) 37
c) 28
d) 1
e) 0
3. Составьте подпрограмму для решения задачи:
Вычеркните i-ые буквы текста и посчитайте в нем количество введенных повествовательных предложений.
Вариант 1V
1. Встроенная функция Length позволяет определить: (а не, установленную при декларации):
a) фактическую длину текстовой строки, хранящейся в указанной переменной,
b) величину предельного размера строки,
c) предполагаемую величину строки,
d) начальную длину строки,
e) длину строки, заранее заданную пользователем.
2. Результатом работы программы:
Program DemoFunctionConcat;
Var
Word : string;
Word1, Word2 : string[20];
Begin
Word1 := ' Microsoft ';
Word2 := ' фирмы';
Word := Concat('Компьютеры ',Word1,Word2);
writeln(Word);
End.
будет текст:
a) ' фирмы Компьютеры Microsoft',
b) ' Microsoft Компьютеры фирмы ',
c) 'Компьютеры фирмы Microsoft',
d) 'Компьютеры Microsoft фирмы ',
e) 'Компьютеры Microsoft фирмы '.
3. Составьте подпрограмму для решения задачи:
Вычеркните из слова Х те буквы, которые встречаются в слове Z.
Вариант V
1. При подсчете фактической длины строки
a) учитываются все входящие в нее символы,
b) учитываются все входящие в нее символы, кроме пробелов,
c) учитываются не все входящие в нее символы,
d) учитываются все входящие в нее символы, исключая служебные символы,
e) учитываются все входящие в нее символы, имеющиеся на клавиатуре.
2. Результатом работы программы:
Program DemoProcedureStr;
Var
Word : string;
Chislo : integer;
Begin
Chislo := 1560;
Str(Chislo:8, Word);
writeln(Word);
End.
будет текст:
a) '1500',
b) ' 1560',
c) ' 1560',
d) 100000000',
e) '00001560'.
3. Составьте подпрограмму для решения задачи:
Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех пор, пока в строке не останется 1 символ.
Вариант V1
1. C помощью функции Pos Вы можете осуществить поиск некоторого фрагмента в строке. Если заданный фрагмент в строке присутствует, то:
a) функция возвращает количество фрагментов в строке,
b) функция возвращает нуль,
c) функция вырезает найденный фрагмент из строки,
d) функция заменяет найденный фрагмент на введенный ранее,
e) функция возвращает номер позиции, с которой начинается фрагмент.
2. Результатом работы программы:
Program DemoProcedureVal;
Var
Word : string;
Chislo, Code : integer;
Begin
writeln('Введите строку цифр ');
readln(Word);
Val(Word, Chislo, Code); {преобразование строки в число}
if Code <> 0
then
writeln(‘??????????????’);
End.
должно быть следующее сообщение:
a) 'Ошибка! В позиции ',Code,' не ноль!',
b) 'Ошибка! Цифра Code,' не закодирована!',
c) 'Прекрасно! Число в переменной ',Code,' !',
d) 'Ошибка! В позиции ',Code,' не цифра!',
e) 'Прекрасно! Число в переменной ', Chislo,' !'.
3. Составьте подпрограмму для решения задачи:
Составьте программу вычисления суммы мест, на которых в слове Х стоят буквы "в" и "п".
Сформулируйте тексты решенных ниже задач
Примечание. При анализе алгоритмов Вам потребуются знания о некоторых операторах. В будущем применяйте их при решении задач.
GoTo – оператор, устанавливающий курсор в заданное параметрами знакоместо в текстовом режиме. Первый параметр – номер столбца, второй – номер строки. Общее количество строк 25, а столбцов – 80.
Delay – оператор задержки вывода на экран информации. Параметр равный 1000 соответствует 1 секунде.
Sound – оператор, включающий динамик компьютера с заданной частотой в виде параметра.
NoSound – оператор, выключающий динамик.
DelLine – оператор, выводящий строку из пробелов в строку, в которой находится курсор.
Window – оператор, организующий окно в текстовом режиме с координатами верхнего левого и правого нижнего углов, переданными как параметры.
Задача 1.
Program MiskovVadim;
Var
i, k, x : integer;
a, b, c : string;
Begin
write('введите строку>');
readln(a);
k := length(a);
repeat
for i := 1 to 2 do
c:=c+b;
x:=x+1;
b:=Copy(a, x,1);
until x=k+1;
writeln ('Ваше слово - ',s);
End.
Задача 2.
Program AlexeyDashkin;
Type
Stroka = string [100];
Var
Vhod, St1, InStr : Stroka;
Begin
St1 := ' Поставьте мне пятерку в зачетку!!!!';
ClrScr;
InStr := ' ';
St1:= St1+InStr;
for i := 1 to length(St1) do
begin
Delete(St1,1,1);
GoTo(1,10);
write(St1);
Delay(500);
Sound(1000);
Delay(900);
NoSound;
DelLine;
end;
End.
Задача 3.
Program AkulovE;
Var
y, i : integer;
Name, Bukva : string;
Begin
write ('Введите что-нибудь ');
read (Name);
for i := Length(Name) downto 1 do
begin
Bukva := Name[i];
Delete(name, i,1);
for y := 1 to 25 do
begin
Window(19,1,80,25);
GotoXY(i, y);
write(Bukva);
Delay(500);
ClrScr;
write(Name);
end;
end;
End.
Выберите с учителем задачи для самостоятельного решения:
1. Дана строка текста. В данной строке поменять местами каждые два слова из четырех первых. Если количество слов меньше заданного, то вывести об этом сообщение.
2. В заданном тексте найти и распечатать слово максимальной длины.
3. Написать (в порядке появления в тексте) все слова, длина которых попадает в интервал [X, Y]. Здесь X и Y целые числа, задающиеся пользователем.
4. В данном предложении найти количество слов, содержащих удвоенную согласную (буквы латинские). Слова в предложении разделяются пробелами, в конце предложения - точка.
5. Предложите пользователю ввести дату в предложенном формате ДД-ММ-ГГ. День и месяц могут быть указаны одиночными числами, т. е. 1-5-94, а не 01-05-94. Выделите числа представляющие день, месяц и год, и выведите каждое число с соответствующей поясняющей надписью на экран.
6. Предложите пользователю ввести число в интервале от 1 до 5 включительно. Ваша программа должна позволять пользователю вводить любую последовательность символов. Организуйте проверку ввода, и если ввод не длиннее одного символа, либо нецифровой, либо не попадает в допустимый интервал, тогда выведите сообщение об ошибке. Если ввод неправилен, тогда предложите пользователю повторить попытку.
7. Даны два текста А и Б. Проверьте, можно ли из букв, входящих в А, составить Б. (Буквы можно переставлять, но каждую букву можно использовать не более одного раза).
8. В строке, любое количество подряд следующих пробелов замените единственным пробелом.
9. Вычислите длину самого короткого слова в предложении из трех слов, разделенных пробелами.
10. Написать (в порядке появления в тексте) все слова, длина которых попадает в интервал [X, Y]. Здесь X и Y целые числа, указывающие, соответственно, наибольшую и наименьшую длину
11. Составьте программу, вычеркивающую каждую третью букву слова Х в заданном предложении.
Занятие 6. Решение задач.
Выберите задачи для самостоятельного решения в соответствии со соим порядковым номером в журнале.
1. В тексте содержащем, несколько (много) предложений, найти все вхождения заданного слова и распечатать все включающие его предложения. Принять, что каждое предложение заканчивается точкой.
2. Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Определить, сколько слов содержат ровно 3 буквы "е".
3. Дан текст, состоящий из нескольких предложений. В каждом предложении найти самое короткое и самое длинное слова.
4. Дан текст. Посчитать количество слов в тексте.
5 Дан текст. Посчитать количество слов, заканчивающихся на заданную букву и перенести их в другую строку, написав через запятую. Вывести полученную строку на экран.
6. Даны 2 текста. Найти одно из общих слов, встречающихся в текстах.
7. Напишите программу, изменяющую порядок слов в строке по Вашему алгоритму.
8. Для каждого слова заданного предложения указать долю согласных. Определить слово в котором доля согласных максимальна.
9. Составьте программу шифрования текстового сообщения. Можно использовать такой способ шифровки. Шифровальщик задает ключ шифровки - целое число, которое определяет величину смещения букв русского алфавита, например ключ =3, тогда в тексте буква “а” заменяется на “г” и т. д. Используются все буквы русского алфавита.
10. В заданном предложении удалите каждое второе слово, а оставшиеся слова переверните. (Например, из текста “А роза упала на лапу азора” должен получиться текст “азор ан ароза”).
11. Составьте программу дешифрования текстового сообщения, зашифрованного программой задачи № 9.
В заданном предложении указать слово, в котором доля гласных (A, E, I, O) максимальна. Слова удобно хранить в строковом массиве.
Задание. Приготовьте для проверки учителем все Ваши листинги и файлы с решенными и оцененными задачами по данной теме.
Для увлеченных программированием. Бегущая строка. Пример программы осыпающихся букв. Строки в графическом режиме.
Задание. Перед Вами две программы. Рассмотрите операторы, какова их роль?
Program AlexeyDashkin;
Uses
Crt;
Type
Stroka = string [100];
Var
Vhod, St1, InStr : Stroka;
Begin
St1 := ' Поставьте мне пятерку в зачетку!!!!';
ClrScr;
InStr := ' ';
St1:= St1+InStr;
for i := 1 to length(St1) do
begin
Delete(St1,1,1);
GoTo(1,10);
write(St1);
Delay(5);
Sound(1000);
Delay(90);
NoSound;
DelLine;
end;
End.
Program AkulovE;
Uses
Crt;
Var
y, i : integer;
Name, Bukva : string;
Begin
ClrScr;
write ('Введите что-нибудь ');
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |


