Pascaler
О проекте Теоретический материал Тестирование Архив задач
Войти в личный кабинет



О проекте


Преподавателям


Тема: Контрольная работа.

Вариант 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.

будет:

  • 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. Составьте подпрограмму для решения задачи:

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

Сформулируйте тексты решенных ниже задач

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

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. Составьте программу, вычеркивающую каждую третью букву слова Х в заданном предложении.
Вернуться назад
2003—2012 © Группа «Vimedia»
Проект «Pascaler» — лучший на ХI Всероссийской конференции молодых исследователей с международным участием «Шаг в будущее», Россия, Москва, 12 – 16 апреля 2004г.