Контрольная работа № 4. Массивы, строки

Примерный вариант

1. Определить, какой объём оперативной памяти требуется для хранения каждой из объявленных переменных. Указать, какую из переменных не удастся разместить в памяти из-за превышения допустимого объёма для статических переменных (возникнет ошибка Structure too large).

  1. Var A : Array[0..99] Of LongInt;

  2. Var B : Array[Integer] Of Real;

  3. Var C : Array[–100..100] Of Real;

  4. Var D : Array['a'..'z'] Of Extended;

  5. Var E : Array[1..100, 0..39] Of ShortInt;

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

	Program Kr_N_4;
	Const NMax = 50; Type Mass = Array[0..NMax] Of Real;
	Var X : Mass; I, N : Byte; Vsp : Real;
	Begin 	Write('Сколько элементов в массиве? '); ReadLn(N); N := N - 1;
		Randomize;
		For I := 0 To N Do
		Begin X[i] := -50 + Random * 100.1; Write(X[i]:10:5) End;
		WriteLn; I := 0;
		While I < N Do
		Begin 	Vsp := X[i]; X[i] := X[i + 1];
			X[i + 1] := Vsp; I := I + 2
		End;
		For I := 0 To N Do Write(X[i]:10:5); WriteLn;
	End.

3. Решить задачу: подсчитать количество элементов массива, каждый из которых не меньше всех своих предшественников (т.е. элементов с меньшими индексами). Например, для массива –2, 3, 0, 13, 13, 4, –3 ответ будет 4.

4. Решить задачу: заполнить квадратную матрицу порядка N по следующему правилу: элементы выше главной диагонали совпадают с разностью первого и второго индексов, выше побочной диагонали — с произведением индексов. Примечание. К элементам, попадающим в пересечение областей, применить следующее правило: они получаются, как сумма значений, полученных по первому и второму правилу. Все остальные элементы матрицы равны нулю.

5. Решить задачу: в целочисленной прямоугольной таблице размером M ´ N определить наибольшее число, кратное заданному K, или сообщить об отсутствии таких чисел.

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

		Program Kr_4_z2;
		Var S : String; M, I, N, J : Byte; Vsp : Char;
		Begin
			Write('Введите строку: '); ReadLn(S); N := Length(S);
			For I := 1 To N - 1 Do
			Begin 	m := I;
				For J := I + 1 To N Do If S[j] < S[m] Then m := j;
				Vsp := S[i]; S[i] := S[m]; S[m] := Vsp
			End;
			WriteLn('Ответ: ', S)
		End.

7. Решить задачу: в строке заменить указанный символ C на символ C1. Подсчитать число замен.

 

© Шестаков А.П., 2000

 


Рейтинг ресурсов УралWeb

 

Сайт создан в системе uCoz