В центре поэмы - образ юноши, поставленного жизнью в необычные условия. Монастырское существование бедно внешними событиями, он не приносит человеку радости, но и не может уничтожить его стремлений и порывов. Автор обращает основное внимание на эти стремления, на внутренний мир героя, а внешние обстоятельства его жизни лишь помогают раскрытию характера. Монолог-исповедь позволяет проникнуть в сокровенные мысли и чувства героя, психологически правдоподобно раскрыть его внутренний мир Мцыри, хотя юноша вначале и заявляет, что расскажет лишь о том, что он видел и что делал, а не что пережил («душу можно ль рассказать?» — обращается он к монаху). Чтобы понять характер Мцыри, необходимо все пережить вместе с ним: монастырскую неволю, радость свободы, упоение от боя с барсом, отчаяние оттого, что не попал в родную страну; безнадежность, когда вновь возвращается к своей тюрьме. Исповедь Мцыри занимает почти все текстовое пространство поэмы (она лишь прерывается краткой авторской справкой) и обращена к определенному персонажу - старому монаху, которого Мцыри называет сначала отчужденно-враждебно «старик», а затем по-христиански - «отец». Точка зрения автора на происходящее не представлена, она исчезает после краткой экспозиции. Старый монах не произносит ни слова в ответ не исповедь Мцыри. Таким образом, читатель видит все происходящее с героем только его глазами, что способствует характерной для романтического повествования субъективности. Исповедь является важным сюжетообразующим элементом
USES Crt;
VAR
X: INTEGER; S, K, P: INTEGER; I: BYTE;
Begin
P:=1; S:=0; K:=0;
FOR I:=1 TO 10 DO Begin
WriteLn(‘Введите ‘,I,’ -е значение’); ReadLn(x);
IF X>0 Then P:=P*X; { произведение положительных }
IF X<0 Then Begin
S:=S+X; { сумма отрицательных }
K:=K+1; { количество отрицательных }
End;
End;
WriteLn(‘ Произведение положительных значений = ‘,p);
WriteLn(‘ Сумма отрицательных значений = ‘,s);
WriteLn(‘ Количество отрицательных значений = ‘,k);
END.
USES Crt;
VAR
X: INTEGER; S, K, P: INTEGER; I: BYTE;
Begin
P:=1; S:=0; K:=0;
FOR I:=1 TO 10 DO Begin
WriteLn(‘Введите ‘,I,’ -е значение’); ReadLn(x);
IF X>0 Then P:=P*X; { произведение положительных }
IF X<0 Then Begin
S:=S+X; { сумма отрицательных }
K:=K+1; { количество отрицательных }
End;
End;
WriteLn(‘ Произведение положительных значений = ‘,p);
WriteLn(‘ Сумма отрицательных значений = ‘,s);
WriteLn(‘ Количество отрицательных значений = ‘,k);
END.