Задания для самостоятельного решения.

  1. В про­грам­ме опи­сан од­но­мер­ный це­ло­чис­лен­ный мас­сив A с ин­дек­са­ми от 0 до 10. Ниже пред­став­лен фраг­мент этой про­грам­мы, в ко­то­ром зна­че­ния эле­мен­тов мас­си­ва сна­ча­ла за­да­ют­ся, а затем ме­ня­ют­ся.

 for i:=0 to 10 do

A[i]:=i-1;

for i:=1 to 10 do

A[i-1]:=A[i];

A[10]:=10;

Как из­ме­нят­ся эле­мен­ты этого мас­си­ва после вы­пол­не­ния фраг­мен­та про­грам­мы?

1) все эле­мен­ты, кроме по­след­не­го, ока­жут­ся равны между собой

2) все эле­мен­ты ока­жут­ся равны своим ин­дек­сам

3) все эле­мен­ты, кроме по­след­не­го, будут сдви­ну­ты на один эле­мент впра­во

4) все эле­мен­ты, кроме по­след­не­го, умень­шат­ся на еди­ни­цу

  1.  Опре­де­ли­те зна­че­ние пе­ре­мен­ной c после вы­пол­не­ния сле­ду­ю­ще­го фраг­мен­та про­грам­мы.

a := 30;

b := 14;

a := a – 2 * b;

if a > b then

c := b + 2 * a

c := b - 2 * a;

​3.  Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния про­грам­мы

var n, s: integer;

begin

n := 0;

s := 0;

while s <= 35 do

begin

n := n + 1;

s := s + 4

end;

write(n)

end.

 

4. Ниже  за­пи­сан ал­го­ритм. По­лу­чив на вход число x, этот ал­го­ритм пе­ча­та­ет два числа: a и b. Ука­жи­те наи­мень­шее из таких чисел x, при вводе ко­то­рых ал­го­ритм пе­ча­та­ет сна­ча­ла 2, а потом 21.

var x, a, b: integer;

begin

readln(x);

a:=0; b:=1;

while x>0 do

begin

a:=a+1;

b:=b*(x mod 10);

x:= x div 10

end;

writeln(a); write(b);

end.

 

5.  Опре­де­ли­те, какое число будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­ще­го ал­го­рит­ма 

var a,b,t,M,R :integer;

Function F(x:integer):integer;

begin

F := 3*(x-8)*(x-8)

end;

begin

a := -20; b := 20;

M := a; R := F(a);

for t := a to b do begin

if (F(t) < R ) then begin

M := t;

R := F(t)

end

end;

write(M);

end.

 

6.

Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ет­ся ко­ор­ди­на­та точки на пря­мой (x – дей­стви­тель­ное число) и опре­де­ля­ет­ся при­над­леж­ность этой точки од­но­му из вы­де­лен­ных от­рез­ков В и D (вклю­чая гра­ни­цы). Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но.

 

var x: real;

begin

readln(x);

if x>=-3 then

if x<=9 then

if x>1 then

write('не при­над­ле­жит')

else

write('при­над­ле­жит')

end.

 

7. Дан це­ло­чис­лен­ный мас­сив из 30 эле­мен­тов. Эле­мен­ты мас­си­ва могут при­ни­мать целые зна­че­ния от 0 до 100. Опи­ши­те  ал­го­ритм, поз­во­ля­ю­щий найти и вы­ве­сти про­из­ве­де­ние эле­мен­тов мас­си­ва, ко­то­рые имеют нечётное зна­че­ние и де­лят­ся на 3. Га­ран­ти­ру­ет­ся, что в ис­ход­ном мас­си­ве есть хотя бы один эле­мент, зна­че­ние ко­то­ро­го нечётно и крат­но 3.

Ис­ход­ные дан­ные объ­яв­ле­ны так, как по­ка­за­но ниже. За­пре­ща­ет­ся ис­поль­зо­вать пе­ре­мен­ные, не опи­сан­ные ниже, но раз­ре­ша­ет­ся не ис­поль­зо­вать часть из них. Ис­ход­ные дан­ные все­гда по­до­бра­ны так, что ре­зуль­тат про­из­ве­де­ния не вы­хо­дит за пре­де­лы объ­яв­лен­ных типов дан­ных.

 

const

N=30;

var

a: array [1..N] of longint;

i, j, p: longint;

begin

for i := 1 to N do

readln(a[i]);

end.

В ка­че­стве от­ве­та Вам не­об­хо­ди­мо при­ве­сти фраг­мент про­грам­мы , ко­то­рый дол­жен на­хо­дить­ся на месте мно­го­то­чия.