шаблоны сайт визитка joomla
Скачать шаблоны Joomla 3.5 бесплатно
Вы находитесь здесь:Главная»Учебные материалы»Pascal»Pascal. Типовые задачи на одномерные массивы

Pascal. Типовые задачи на одномерные массивы

Массив - это упорядоченный набор однотипных элементов, обозначаемых одним именем; доступ к элементу массива осуществляется по его номеру.

Для записи элементов массива в память компьютера нужно выделить для их хранения необходимое количество ячеек памяти, которое определяется размером массива.

В программе для каждого массива должны быть указаны его параметры: имя, размерность и размер. Бывают одномерные, двумерные и т.д. массивы. Это называется размерностью.

Одномерные массивы (последовательности).

A: 3,-4,0,3,-5,10,0

A[1]=3, A[3]=0, A[7]=0

I - номер элемента, A[I] - элемент массива, стоящий на I-ом месте

  1. 1.Сформировать и вывести на экран последовательность из n элементов, заданных датчиком случайных чисел на интервале [-23, 34].

Program posled;

Var a: array[1..100] of integer;

      i, n: integer;

Begin

  Write (‘Сколько элементов? ’);  Readln (n);

   For i=1 to n do

       begin      

            a[i]:= Random(58)-23;

             writeln (a[i],’ ‘);

       end;

End.

2. Найти произведение элементов одномерного массива, состоящего из n элементов. Элементы вводятся с клавиатуры.

Program proisveden;

Var a: array[1..100] of integer;

      i, n, p: integer;

Begin

  Write (‘Сколько элементов? ’);  Readln (n);

  p:=1;

  For i:=1 to n do

     begin

       write (‘введите число’); readln (a[i]);

       p:=p*a[i];

     end;

     writeln(‘произведение элементов равно:  ‘,p);

End.

3. Найти сумму элементов одномерного массива. Размер произвольный. Элементы вводятся с клавиатуры.

Program summa;

Var a: array[1..100] of real;

      i, n: integer;

        s: real;

Begin

  Write (‘n=’); Readln (n);

  s:=0;

  For i:=1 to n do

     begin

       write (‘введите число’); readln (a[i]);

       s:=s+a[i];

     end;

     writeln(‘сумма  элементов равна  ‘,s);

End.

4. Задан массив А, состоящий из n чисел. Найти среднее арифметическое его элементов. Элементы вводятся с клавиатуры.

Program srednee;

Var a: array[1..100] of  real;

      i, n: integer;

        s,sred: real;

Begin

  Write (‘n=’); Readln (n);

  s:=0;

  For i:=1 to n do

     begin

       write (‘введите число’); readln (a[i]);

       s:=s+a[i];

     end;

   sred:=s/n;    

  writeln(‘среднее арифметическое  элементов: ‘,s);

End.

5. Найти сумму элементов массива с четными номерами, содержащего N элементов. Элементы вводятся с клавиатуры.

Program sumshet;

Var a: array[1..100] of  real;

      i, n: integer;

        s,sred: real;

Begin

  Write (‘n=’); Readln (n);

  s:=0;

  For i:=1 to n do

     begin

       write (‘введите число’); readln (a[i]);

       if i mod 2 = 0 then s:=s+a[i];

     end;

   writeln(‘сумма элементов с четными номерами: ‘,s);

End.

6. Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-19, 26] (размер произвольный). Найти произведение элементов с нечетными номерами.

Program proisvednechet;

Var a: array[1..100] of  integer;

      i, n, p: integer;

Begin

  Write (‘Сколько элементов? ’);  Readln (n);

  P:=1;  

  For i=1 to n do

       begin      

            a[i]:= Random(46)-19;

             writeln (a[i],’ ‘);

            if i mod 2 <> 0 then P=P*a[i];

       end;

  Writeln(‘Произведение элементов с нечетными номерами:’, P);

End.

7. Сформировать и вывести на экран массив, элементы которого заданы датчиком случайных чисел на интервале [-56, 47] (размер произвольный). Найти произведение элементов с четными номерами, которые превосходят некоторое число t.

Program proisvedchetbolt;

Var a: array[1..100] of integer;

      i, n, p, t: integer;

Begin

  Write (‘Сколько элементов? ’);  Readln (n);

  P:=1;  

  For i=1 to n do

       begin      

            a[i]:= Random(104)-56;  writeln (a[i],’ ‘);

            if (i mod 2 = 0) and (a[i]>t) then P=P*a[i];

       end;

  Writeln(‘Произведение элементов с четными номерами, превосходящие число t:’, P);

End.

8. Найти наименьший элемент одномерного массива, состоящего из n элементов. Элементы вводятся с клавиатуры.

Program minim;

Var a: array[1..100] of real;

      i, n: integer;

         min: real;

Begin

  Write (‘n=’); Readln (n);

  For i:=1 to n do

    begin

       write(‘a[‘,i,’]=’); readln (a[i]);

    end;

  min:=a[1];

  For i:=2 to n do

     If a[i]< min then min:=a[i];

  Writeln(‘наименьшее число:   ‘,min);

End.

9. Найти номер наименьшего элемента в массиве, заданного датчиком случайных чисел на интервале [-20, 25]. Размер произвольный.

Program numberminim;

Var a: array[1..100] of integer;

      i, n, num, min: integer;

Begin

  Write (‘n=’); Readln (n);

  For i:=1 to n do

    begin

        a[i]:= Random(46)-20;

        writeln (a[i]);

    end;

  min:=a[1];

  num:=1;

  For i:=2 to n do

       If a[i]< min then

            begin

                min:=a[i];

                num:=i;

            end;

  Writeln(‘ номер наименьшего элемента:   ‘,num);

End.

10. В заданном одномерном  массиве, состоящем из n  целых чисел, подсчитать количество нулей.

Program  kolv0;

Var a: array[1..100] of integer;

      i, n, k: integer;

Begin

  Write (‘n=’); Readln (n);

  For i:=1 to n do

    begin

       Write(‘a[‘,i,’]=’); readln (a[i]);

       if a[i]=0 then k:=k+1;

    end;

  Writeln(‘количество 0 равно  ’, k);

end.

11. В заданном одномерном  массиве, состоящем из n  целых чисел, подсчитать количество четных элементов.

Program  kolvсchet;

Var a: array[1..100] of integer;

      i, n, k: integer;

Begin

  Write (‘n=’); Readln (n);

  For i:=1 to n do

    begin

       Write(‘a[‘,i,’]=’); readln (a[i]);

       if  a[i] mod 2=0 then k:=k+1;

    end;

  Writeln(‘количество четных элементов: ’, k);

end.

12. Найдите среднее арифметическое элементов массива, состоящего из 10 чисел, которые превышают по величине число С. Элементы вводятся с клавиатуры.

Program sredarifmet;

Var a: array[1..10] of  real;

      i, k: integer;

      C, S, sred: real;

Begin

  For i:=1 to 10 do

    begin

       write(‘a[‘,i,’]=’);     readln (a[i]);

    end;

  write(‘введите С: ‘); readln (C );

  For i:=1 to 10 do

    begin

       If a[i]>C then

           begin      S=S+a[i];     K=K+1;   end;

     end;

   sred=S/k;

   Writeln(‘среднее арифметическое чисел, превосходящих ‘,C,’  равно  ‘,sred);

End.

13. Найти произведение элементов целочисленного одномерного массива с четными номерами, состоящего из n элементов. Элементы вводятся с клавиатуры.

Program proizved_chet;

Var a: array [1..100] of integer;

   i, n, p: integer;

Begin

  p:=1;

 write ('n=');  readln (n);

  for i:=1 to n do

    begin

      write ('a[',i,']='); readln (a[i]);

      if i mod 2=0 then p:=p*a[i];

    end;

  Writeln ('произведение элементов массива с четными номерами равно ',p);

End.

14. В заданном одномерном массиве поменять местами соседние элементы.

Var
  n, i, c : integer;
  a : array [1..1000] of integer;
begin
  read (n);
   for i := 1 to n do read (a[i]);
  for i := 1 to n div 2 do
  begin
    c := a[i*2];
    a[i*2] := a[i*2-1];
    a[i*2-1] := c;
  end;
  for i := 1 to n do
    write (a[i], ' ');
end.

 

15. Массив А вводится с клавиатуры. Сформировать новый массив В, состоящий из четных элементов массива А. Элементы вводятся с клавиатуры. Размер n.

Program newmasiv;

Var a: array[1..100] of  integer;

       b: array[1..100] of  integer;

     n, i, k: integer;

Begin

  kol:=0; k:=0;

  write ('n=');  readln (n);

  For i:=1 to n do

    begin

       write(‘a[‘,i,’]=’);     readln (a[i]);

       if a[i] mod 2=0 then

              begin

                   k:=k+1; b[k]:=a[i]; kol:=kol+1;

              end;

          if kol=0 then writeln(‘четных элементов нет’) else    

          for k:=1 to kol do  write(‘b[‘,k,’]=’,b[k]);

    end;

Задачи для самостоятельной работы

  1. Массив А вводится с клавиатуры. Найти сумму его элементов. Размер произвольный.
  2. Найти произведение элементов, кратных 3 в массиве, заданном датчиком случайных чисел на интервале [-28, 27]. Размер произвольный.
  3. Массив А вводится с клавиатуры. Найти среднее арифметическое его элементов с нечетными номерами. Размер произвольный.
  4. Массив А вводится с клавиатуры. Найти сумму его элементов с четными номерами, произведение отрицательных элементов, количество нечетных элементов. Размер произвольный.
  5. Найти наибольший элемент и его номер  в последовательности, элементы которой вводятся с клавиатуры. Размер произвольный.
  6. Найти средне арифметическое элементов последовательности, превосходящих некоторое число С. Массив задан датчиком случайных чисел на интервале [-44, 35]. Размер произвольный. Значение С вводится с экрана.
  7. Массив А вводится с клавиатуры. Вывести только нечетные элементы. Размер произвольный.
  8. Упорядочить данную последовательность по убыванию. Элементы вводятся с клавиатуры. Размер произвольный.
  9. Упорядочить данную последовательность по убыванию. Массив задан датчиком случайных чисел на интервале [-54, 33]. Размер произвольный.
  10.  Массив А вводится с клавиатуры. Сформировать новый массив В, состоящий из положительных элементов массива А. Размер произвольный.
  11.  Массив задан датчиком случайных чисел на интервале [-31, 45]. Сформировать новый массив В, состоящий из нечетных элементов массива А. Размер произвольный.
  12. Массив А вводится с клавиатуры. Сформировать новый массив В, состоящий из положительных элементов массива А и  найти в нем наибольший элемент. Размер произвольный.
  13. Массив задан датчиком случайных чисел на интервале [-37, 66]. Найти наименьший нечетный элемент. Размер произвольный.

Похожие материалы (по тегу)

Новости о нас

О том, как проходят наши занятия по робототехнике в новом учебном году - смотрите на фото!  Подробнее
  Преподаватели ВУЗов Китая посетили наш технопарк Толтек СФ БашГУ! Подробнее
Расписание занятий для каждой сформированной группы по робототехнике на 2017-2018 учебный год. Подробнее
Учебный год начался, и у нас очередная радостная новость для вас, педагоги! В этом году... Подробнее
Наши учащиеся выступили на августовской конференции педагогов! Подробнее

Наши партнеры

 TZOyoOCZ8y0 logotip novy SF BashGU  utv logo  CityMoll  VolnoeDelo