Контрольная работа по программированию № 3 (2 курс)
(логические и арифметические выражения, циклы, массивы, строки)

 

Вариант I

1. Составить логическое выражение, значение которого равно True, если высказывание истинно, и False, — если ложно.

В двузначном натуральном числе n первая цифра меньше второй.

2. Точно и четко сформулировать условие задачи, которая решается в данной программе:

Program Kr_2_3;
Var N : LongInt; S : Byte;
Begin
    Write('Введите натуральное число: '); ReadLn(N);
    S := 0;
    While N <> 0 Do
    Begin
     S := S + N mod 10;
     N := N Div 10
    End;
    WriteLn('S = ', S : 4)
End.
Задать натуральное число N. Определить, чему будет равно значение S для заданного N.

3. Вычислить сумму

4. В данном двумерном целочисленном массиве подсчитать количество четных чисел.

5. Определить количество русских букв в заданной строке.

Вариант II

1. Составить логическое выражение, значение которого равно True, если высказывание истинно, и False, — если ложно.

Сумма цифр четырехзначного натурального числа является однозначным числом.

2. Точно и четко сформулировать условие задачи, которая решается в данной программе:

Program Kr_2_3;
Var I, N : LongInt; S : Real;
Begin
    Write('Введите натуральное число: '); ReadLn(N);
    S := 0;
    For I := 1 To N Do
     If Odd(I) Then S := S + 1 / (Sqr(I) * I)
               Else S := S - 1 / (Sqr(I) * I);
    WriteLn('Ответ: ', S : 10 : 9)
End.

Задать натуральное число N <= 4. Определить, чему будет равно S для заданного N.

3. Вычислить произведение

4. В данном линейном массиве действительных чисел найти количество элементов, которые меньше среднего арифметического всех элементов этого массива.

5. В данной строке определить количество цифр.

Вариант III

1. Составить логическое выражение, значение которого равно True, если высказывание истинно, и False, — если ложно.

Число d является корнем уравнения ax2 + bx + c = 0 или уравнения mx + n = 0.

2. Точно и четко сформулировать условие задачи, которая решается в данной программе:

 Program Kr_2_3;
 Const NMax = 100;
 Type LinMass = Array[1..NMax] Of Integer;
 Var A : LinMass; N, I, M : Integer;
 Begin
   Write('Количество элементов массива? '); ReadLn(N);
   M := -32768;
   For I := 1 To N Do
   Begin
       Write('Введите A[', I, '] '); ReadLn(A[I]);
       If A[I] > M Then M := A[I]
   End;
   For I := 1 To N Do A[I] := A[I] + M;
   For I := 1 To N Do Write(A[I] : 6);
   WriteLn
 End.

Задать линейный массив. Определить, каким станет этот массив после исполнения программы.

3. Вычислить сумму

4. В данном линейном массиве A[1..N] поменять местами пары элементов, индексы которых при делении на 4 дают в остатке соответственно 1 и 0. (Например, для массива 0, 1, 2, 3, 4, 5, 6, 7, 8 получим в результате 3, 1, 2, 0, 7, 5, 6, 4, 8.)

5. В данной строке каждый символ с номером, кратным K, заменить на пробел.

Вариант IV

1. Составить логическое выражение, значение которого равно True, если высказывание истинно, и False, — если ложно.

Данное натуральное число N кратно K, но не кратно L.

2. Точно и четко сформулировать условие задачи, которая решается в данной программе:

 Program Kr_2_3;
 Const NMax = 100;
 Type LinMass = Array[1..NMax] Of Integer;
 Var A : LinMass; N, I, M, S : Integer;
 Begin
   Write('Количество элементов массива? '); ReadLn(N);
   For I := 1 To N Do
   Begin
       Write('Введите A[', I, '] '); ReadLn(A[I]);
   End;
   M := A[1]; S := 1;
   For I := 2 To N do
   Begin
       If A[I] = M Then S := Succ(S);
       If A[I] > M Then Begin M := A[I]; S := 1 End
   End;
   WriteLn('Ответ: ', S);
  End.

Задать массив и определить, каким для него будет S.

3. Вычислить сумму

S = 2 - 4 + 6 - 8 + ... + (-1)n * (2n).

4. Создать линейный массив из минимальных элементов каждой строки данной квадратной матрицы.

5. Даны две строки S1 и S2. Сколько символов этих строк, стоящих на местах с одинаковым номером, совпадает?

Вариант V

1. Составить логическое выражение, значение которого равно True, если высказывание истинно, и False, — если ложно.

Каждая следующая цифра данного трехзначного натурального числа на единицу больше предыдущей.

2. Точно и четко сформулировать условие задачи, которая решается в данной программе:

Program Kr_2_3;
Var N : LongInt; M : 0..9;
Begin
    Write('введите натуральное число: '); ReadLn(N);
    M := 0;
    While N <> 0 Do
    Begin
        If N Mod 10 > M Then M := N mod 10;
        N := N div 10
    End;
    WriteLn('Ответ: ', M)
End.

Задать натуральное число N. Определить, чему будет равно значение M для заданного N.

3. Вычислить произведение

P = 3 * 6 * ... * (3n).

4. В данном линейном целочисленном массиве каждый элемент с четным индексом увеличить на значение индекса, с нечетным — уменьшить на значение индекса.

5. Данную строку зашифровать по следующему принципу: заменить каждый символ на следующий по порядку символ таблицы ASCII.

Вариант VI

1. Составить логическое выражение, значение которого равно True, если высказывание истинно, и False, — если ложно.

Три данных действительных числа a, b, c являются длинами сторон треугольника.

2. Точно и четко сформулировать условие задачи, которая решается в данной программе:

Program Kr_2_3;
Var A, B, I : Integer; S : Integer;
Function Simple (N : Integer) : Boolean;
Var I : Integer; S : Boolean;
Begin
   I := 2;
   S := True;
   While  (I <= N div 2 + 1) And S Do
   Begin
      S := N mod I <> 0;
      I := Succ(I)
   End;
   If N = 2 Then Simple := True Else Simple := S
End;
Begin
    Write('Введите два натуральных числа А и В (B > A, A > 1) ');
    ReadLn(A, B);
    S := 0;
    For I := A To B Do
    If Simple(I) then S := S + I;
    WriteLn('Ответ: ', S)
End.

Задать числа A и B, определить, чему будет равно S.

3. Вычислить сумму

S = K - 2K + 3K - ... + (-1)n - 1 * KN.

4. Сравнить сумму элементов главной и побочной диагоналей квадратной матрицы.

5. Подсчитать количество букв в данной строке.

Вариант VII

1. Составить логическое выражение, значение которого равно True, если высказывание истинно, и False, — если ложно.

Натуральное число a является однозначным или трехзначным.

2. Точно и четко сформулировать условие задачи, которая решается в данной программе:

Program Kr_2_3;
Var N, Vs, St : LongInt;
Begin
    Write('Введите натуральное число (не более чем девятизначное)');
    ReadLn(N);
    If N > 9 Then
    Begin
      Vs := N;
      St := 1;
      While Vs > 9 Do
      Begin
          St := St * 10;
          Vs := Vs Div 10
      End;
      N := N Mod St Div 10 * 10 + N Mod 10 * St + Vs
    End;
    WriteLn('Ответ: ', N)
End.

Каким будет измененное N для заданного Вами N?

3. Вычислить сумму

S = K2 - (2K)2 + (3K)2 - ... + (-1)n - 1 * (KN)2.

4. Сравнить сумму элементов k-й строки и k-го столбца квадратной матрицы.

5. Вычеркнуть в данной строке каждую k-ю букву.

Вариант VIII

1. Составить логическое выражение, значение которого равно True, если высказывание истинно, и False, — если ложно.

Все цифры заданного трехзначного натурального числа одинаковые.

2. Точно и четко сформулировать условие задачи, которая решается в данной программе:

Program Kr_2_3;
Const NMax = 30;
Type DwMass = Array[1..NMax, 1..Nmax] Of Real;
Var  A : DwMass;
     I, J, N, K : Byte;
     M : Real;
Begin
    Write('Введите размеры матрицы и число K ');
    ReadLn(N, K);
    M := 1.7E+38;
    For I := 1 To N Do
     For J := 1 To N do
     Begin
         Write('Введите A[', I, ',', J, '] ');
         ReadLn(A[I, J]);
         If A[I, J] < M Then M := A[I, J]
     End;
    If Abs(M) > 1e-6 Then
     For I := 1 To N Do
     A[I, K] := A[I, K] / M;
    For I := 1 To N Do
    Begin WriteLn;
     For J := 1 To N do
      Write(A[I, J] : 10 : 6)
    End
End.

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

3. Вычислить сумму

S = 23 - 43 + 63 - 83 + ... +(-1)n - 1 * (2n)3.

4. Создать линейный массив из среднего арифметического элементов каждой строки данной квадратной матрицы.

5. Даны две строки S1 и S2. Сколько символов этих строк, стоящих на местах с одинаковыми нечетными номерами, совпадает?

Вариант IX

1. Составить логическое выражение, значение которого равно True, если высказывание истинно, и False, — если ложно.

Сумма первой и последней цифр четырехзначного числа n является нечетным числом.

2. Точно и четко сформулировать условие задачи, которая решается в данной программе:

Program Kr_2_3;
Var N, St : LongInt;
Begin
  Write('Введите натуральное число: ');
  ReadLn(N);
  St := 1;
  While N Div St <> 0 Do
     If Not Odd(N Mod (St * 10) Div St)
     Then N := N Div (St * 10) * St + N Mod St
     Else St := St * 10;
  WriteLn('Ответ: ', N);
End.

Задать натуральное число N и указать, каким оно станет после преобразования.

3. Вычислить сумму

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

5. Дан текст, записанный заглавными буквами. Каких букв в нем больше: русских или латинских?

Вариант X

1. Составить логическое выражение, значение которого равно True, если высказывание истинно, и False, — если ложно.

Произведение цифр трехзначного числа n является четным числом.

2. Точно и четко сформулировать условие задачи, которая решается в данной программе:

Program Kr_2_3;
Var A, St : LongInt; K : 0..9;
Begin
   Repeat
     Write('Введите натуральное число (не более чем четырехзначное): ');
     ReadLn(A)
   Until (A > 0) And (A < 10000);
   Write('Введите цифру: '); ReadLn(K);
   St := 1;
   While A Div St <> 0 Do
   Begin
       A := A Div (10 * St) * 100 * St + K * 10 * St + A Mod (10 * St);
       St := St * 100
   End;
   WriteLn(A)
End.

Задать натуральное число A и указать, каким оно станет после преобразования.

3. Вычислить сумму

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

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

 


Рейтинг ресурсов УралWeb
© А. Шестаков, 1997-2000
X