среда, 28 ноября 2012 г.

Задание № 2:

1. Составьте программу для подсчета числа элементов, равных максимальному, в числовом массиве из 30 элементов.
 
Program zadacha;
const n =30;
var a: array[1..n] of integer;
i, k, kmax: integer;
begin
for i:=1 to n do
begin
writeln('введите',i,'элемент');
readln(a[i]);
end;
k := 1;
kmax := 1;
for i:=2 to n do begin
if a[i] = a[i-1] then
k := k + 1
else k := 1;


Задание №2

 

9.       Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номер третьего положительного элемента массива (если из массива вычеркнуть все неположительные элементы, этот элемент стоял бы в получившемся массиве на третьем месте). Если в массиве меньше, чем три положительных элемента, вывести сообщение об этом. 
 
 
Паскаль
Естественный язык
Const N=30 ;
Var  a :  array  [1..N]  of  integer ;
        i,  j, k :  integer ;
begin
    for  i : =1  to  N  do  readln (a [i]) ;
   
end.
Объявляем массив А из 30 элементов. Объявляем целочисленные переменные i, j, k. В цикле от 1 до 30 вводим элементы массива А с 1-го по 30-й.
 
   В качестве ответа необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находится на месте многоточия.

Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
const nmax=20;
var a: array [1..nmax] of integer;
    i,n,k,ii: byte;
begin
repeat
write('n (ne bolee ',nmax,')='); readln(n);
until n in [1..nmax];
for i:=1 to n do
    begin
    a[i]:=random(19)-9;
    write(a[i]:3);
    if a[i]>0 then
       begin
       inc(k);
       if k=3 then ii:=i;
       end;
    end;
writeln;
if k>=3 then writeln('Третий положительный элемент=',a[ii],', под индексом ',ii)
   else writeln('В массиве нет трех положительных элементов');
end.

Задание № 1


9) В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, в котором значения элементов массива сначала задаются, а затем меняются.
  for i:=0 to 10 do
    A[i]:=2+i;
  for i:=0 to 4 do begin
    A[i]:=A[10-i]-1;
    A[10-i]:=A[i]+3;
  end;
Чему будут равны элементы этого массива?
№ шага (i)
Массив А
Исходный массив
2,3,4,5,6,7,8,9,10,11,12
1
11,3,4,5,6,7,8,9,10,11,12
2
11,10,4,5,6,7,8,9,10,11,12
3
11,10,9,5,6,7,8,9,10,11,12
4
11,10,9,8,6,7,8,9,10,11,12
5
11,10,9,8,7,7,8,9,10,11,12
6
11,10,9,8,7,7,8,9,10,11,14
7
11,10,9,8,7,7,8,9,10,13,14
8
11,10,9,8,7,7,8,9,12,13,14
9
11,10,9,8,7,7,8,11,12,13,14
10
11,10,9,8,7,7,10,11,12,13,14

  
Ответ: 11 10 9 8 7 7 10 11 12 13 14.


Задание №2

 

9.       Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номер третьего положительного элемента массива (если из массива вычеркнуть все неположительные элементы, этот элемент стоял бы в получившемся массиве на третьем месте). Если в массиве меньше, чем три положительных элемента, вывести сообщение об этом. 
Задание №1:
4) В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, в котором значения элементов массива сначала задаются, а затем меняются.
for i:=0 to 10 do
A[i]:=i+3;
for i:=10 downto 0 do begin
k:=A[i];
A[i]:=A[10-i];
A[10-i]:=k;
end;
Чему будут равны элементы этого массива?
 Решение:
исходный 3 4 5 6 7 8 9 10  11 12 13
шаг 1  13 4 5 6 7 8 9 10  11 12 3
шаг2   13 12 5 6 7 8 9 10 11 4 3
шаг3   13 12 11 6 7 8 9 10 5 4 3
шаг4   13 12 11 10 7 8 9 6 5 4 3
шаг5   13 12 11 10 9 8 7 6 5 4 3
шаг6   3 12 11 10 9 8 7 6 5 4 13
шаг7   3 4 11 10 9 8 7 6 5 12 13
шаг8   3 4 5 10 9 8 7 6 11 12 13
шаг9   3 4 5 6 9 8 7 10 11 12 13
шаг10 3 4 5 6 7 8 9 10  11 12 13

Задание №2:
4)  Дан целочисленный массив из 31 элемента, в котором записаны значения температуры воздуха в марте. Элементы массива могут принимать значения от (–20)  до 20. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит среднюю температуру по всем дням, когда была оттепель (температура поднималась выше нуля). Гарантируется, что хотя бы один день в марте была оттепель.
Program Nastya;
Var A:array[1..31] of byte;
I,S,d,k,p:byte;
Begin
k:=-20;
p:=20;
For I:=1 to 31 do
begin
If k<A[I]<p them
                   For I:=1 to 31 do
                   writeln('Сумма=',S);
                   end;
d:=S/31;
writeln(s);
End.

Зачёт по информатике Умяров Ильдар задание №2


 2) В программе описан одномерный целочисленный массив с индексами от 0 до 9 и целочисленные переменные k и i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
  for i:=0 to 9 do
A[i]:=i+1;
  k:=A[9];
  for i:=9 down to 1 do
    A[i]:=A[i-1];
  A[0]:=k;
Чему будут равны элементы этого массива?

№ шага (i)
Массив А

Исходный массив
0,1,2,3,4,5,6,7,8,9

1
9,0,1,2,3,4,5,6,7,8

2
9,8,0,1,2,3,4,5,6,7

3
9,8,7,0,1,2,3,4,5,6

4
9,8,7,6,0,1,2,3,4,5

5
9,8,7,6,5,0,1,2,3,4

6
9,8,7,6,5,4,0,1,2,3

7
9,8,7,6,5,4,3,0,1,2

8
9,8,7,6,5,4,3,2,0,1

9
9,8,7,6,5,4,3,2,1,0

Ответ: 9,8,7,6,5,4,3,2,1,0

Зачёт по информатике Умяров Ильдар задание №1


1)Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от  –1000 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит среднее арифметическое всех элементов массива, оканчивающихся цифрой 5. Гарантируется, что хотя бы один такое элемент в массиве есть.
Program m99;
Const N=30
Var A:array [1..30] of integer;
I,x,y,min,max: integer;
S:real;
Begin
Min:=1000;
Max:=-1000;
For I := 1 to 30 do
Readln(A[I]);
If A[I]< A[N] then
                      Begin
                      x:=x+1;
                      y:=y+A[I];
                      S:=y/x;
Write(S);
End;
End.