Контрольная работа по
программированию № 3
(логические и арифметические выражения, циклы, массивы, строки)
Вариант 1 Вариант 2 Вариант 3 Вариант 4 Вариант 5
Вариант 6 Вариант 7 Вариант 8 Вариант 9 Вариант 10
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. Определить количество русских букв в заданной строке.
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. В данной строке определить количество цифр.
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, заменить на пробел.
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. Сколько символов этих строк, стоящих на местах с одинаковым номером, совпадает?
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.
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. Подсчитать количество букв в данной строке.
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-ю букву.
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. Сколько символов этих строк, стоящих на местах с одинаковыми нечетными номерами, совпадает?
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. Дан текст, записанный заглавными буквами. Каких букв в нем больше: русских или латинских?
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. Преобразовать заданную строку, оставив в ней только арабские цифры с сохранением порядка их следования.