Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Верный ответ? Pascal

26.04.15 17:03
Верный ответ? Pascal
 
*Inna прохожий
Добрый день!
Проверьте правильность ответов.
Die Funktion max findet in einem Feld ParFeld von integer-Werten das Maximum der Feldelemente ParFeld[von], ..., ParFeld[bis].Wir geben folgende Deklaration an:
function max (
ParFeld: tFeld;
von, bis: tIndex): integer;
{ bestimmt das Maximum im Teilfeld von ParFeld[von]
bis ParFeld[bis] }
var
Wert : integer;
i : tIndex;
begin
Wert := ParFeld[von];
for i := von + 1 to bis do
if ParFeld > Wert then
Wert := ParFeld;
max := Wert
end; { max }
Für welche der folgenden Programmstücke verlassen die Werte der aktuellen Parameter bei dem Aufruf bzw. den Aufrufen der Funktion max nicht den durch die formalen Parameter definierten gültigen Wertebereich, egal welche integer-Werte im Feld vorkommen? Gehen Sie dabei von folgenden Konstanten-, Typ- und Variablenvereinbarungen aus:
const
GRENZE = 10;
type
tIndex = 1..GRENZE;
tFeld = array [tIndex] of integer;
var
Feld : tFeld;
w,
w1,
w2 : integer;


A
w := max (Feld, Feld[1], Feld[GRENZE]);
B
w := max (Feld, (GRENZE-1) div 2,
(GRENZE-1) div 2);
C
if max (Feld, 1, (GRENZE-1) div 2) >
max (Feld, (GRENZE+1) div 2, GRENZE)
then
w := max (Feld, 1, (GRENZE-1) div 2)
else
w := max (Feld, (GRENZE+1) div 2, GRENZE);
D
w := max (Feld, 1, GRENZE);
if w <= GRENZE then
write (max (Feld, w, w));
E
w1 := max (Feld, 1, GRENZE);
w2 := max (Feld, 4, GRENZE-1);
if (0 < w2) and (w1 <= GRENZE) then
begin
w := max (Feld, 2, GRENZE);
w := max (Feld, 1, w)
end;
Я отметила A, B, D и E как верные. Это правильно или нет?
 

Перейти на