О проекте
|
Тема: Контрольная работа.Вариант 1 1. Результатом вычисления функции Copy('программирование',4,5) будет слово - миров
- грамм
- программ
- программа
- грамми
2. Результатом работы программы: Var x : string[6]; Begin x := ‘мим’+’озадаченный’; writeln(x); End. |
будет слово: - мим озадаченный
- мимозадаченный
- мимоза
- озадаченный мим
- озадаченныймим
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. |
будет предложение: - 'Фирма MICROSOFT'
- 'ФИРМА MICROSOFT'
- 'фирма Microsoft
- 'фирма MICROSOFT'
- 'фирма 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. |
будет: 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. Составьте подпрограмму для решения задачи: Составьте программу вычисления суммы мест, на которых в слове Х стоят буквы "в" и "п". Сформулируйте тексты решенных ниже задачПримечание. При анализе алгоритмов Вам потребуются знания о некоторых операторах. В будущем применяйте их при решении задач. 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. |
Выберите с учителем задачи для самостоятельного решения:- Дана строка текста. В данной строке поменять местами каждые два слова из четырех первых. Если количество слов меньше заданного, то вывести об этом сообщение.
- В заданном тексте найти и распечатать слово максимальной длины.
- Написать (в порядке появления в тексте) все слова, длина которых попадает в интервал [X, Y]. Здесь X и Y целые числа, задающиеся пользователем.
- В данном предложении найти количество слов, содержащих удвоенную согласную (буквы латинские). Слова в предложении разделяются пробелами, в конце предложения - точка.
- Предложите пользователю ввести дату в предложенном формате ДД-ММ-ГГ. День и месяц могут быть указаны одиночными числами, т.е. 1-5-94, а не 01-05-94. Выделите числа представляющие день, месяц и год, и выведите каждое число с соответствующей поясняющей надписью на экран.
- Предложите пользователю ввести число в интервале от 1 до 5 включительно. Ваша программа должна позволять пользователю вводить любую последовательность символов. Организуйте проверку ввода, и если ввод не длиннее одного символа, либо нецифровой, либо не попадает в допустимый интервал, тогда выведите сообщение об ошибке. Если ввод неправилен, тогда предложите пользователю повторить попытку.
- Даны два текста А и Б. Проверьте, можно ли из букв, входящих в А, составить Б. (Буквы можно переставлять, но каждую букву можно использовать не более одного раза).
- В строке, любое количество подряд следующих пробелов замените единственным пробелом.
- Вычислите длину самого короткого слова в предложении из трех слов, разделенных пробелами.
- Написать (в порядке появления в тексте) все слова, длина которых попадает в интервал [X, Y]. Здесь X и Y целые числа, указывающие, соответственно, наибольшую и наименьшую длину
- Составьте программу, вычеркивающую каждую третью букву слова Х в заданном предложении.
|