СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 06.07.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Типовые задачи на Паскале (массивы)

Категория: Информатика

Нажмите, чтобы узнать подробности

Типовые задачи на Паскале (массивы).doc

Просмотр содержимого документа
«Типовые задачи на Паскале (массивы)»

Типовые задачи на Паскале (массивы)


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

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

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

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


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

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

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


  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.









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


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

  2. Найти произведение элементов, кратных 3 в массиве, заданном датчиком случайных чисел на интервале [-28, 27]. Размер произвольный.

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

  4. Массив А вводится с клавиатуры. Найти сумму его элементов с четными номерами, произведение отрицательных элементов, количество нечетных элементов. Размер произвольный.

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

  6. Найти средне арифметическое элементов последовательности, превосходящих некоторое число С. Массив задан датчиком случайных чисел на интервале [-44, 35]. Размер произвольный. Значение С вводится с экрана.

  7. Массив А вводится с клавиатуры. Вывести только нечетные элементы. Размер произвольный.

  8. Упорядочить данную последовательность по убыванию. Элементы вводятся с клавиатуры. Размер произвольный.

  9. Упорядочить данную последовательность по убыванию. Массив задан датчиком случайных чисел на интервале [-54, 33]. Размер произвольный.

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

  11. Массив задан датчиком случайных чисел на интервале [-31, 45]. Сформировать новый массив В, состоящий из нечетных элементов массива А. Размер произвольный.

  12. Массив А вводится с клавиатуры. Сформировать новый массив В, состоящий из положительных элементов массива А и найти в нем наибольший элемент. Размер произвольный.

  13. Массив задан датчиком случайных чисел на интервале [-37, 66]. Найти наименьший нечетный элемент. Размер произвольный.













Задания 10. Циклический алгоритм обработки массива чисел, записанный на алгоритмическом языке



1

Var k, m, day: integer;

Dat: array[1..7] of integer;

Begin

   Dat[1] := 7; Dat[2] := 9;

   Dat[3] := 10; Dat[4] := 8;

   Dat[5] := 6; Dat[6] := 7;

   Dat[7] := 6;

   day := 1;

   m := Dat[1];

   for k := 2 to 7 do

      if Dat[k]

       begin

          day := k;

          m := Dat[k];

       end;

   writeln(day);

End.

2

Var k, m, day: integer;

A: array[1..6] of integer;

Begin

   A[1]:=3;A[2]:=1;

   A[3]:=4;A[4]:=2;

   A[5]:=4;A[6]:=2;

   day := 1;

   m := A[1];

   for k := 2 to 6 do

      if A[k] = m then

       begin

          m := A[k];

          day := k;

       end;

   writeln(day);

End.

3

Var k, m, n: integer;

Dat: array[1..10] of integer;

Begin

   Dat[1] := 7; Dat[2] := 9;

   Dat[3] := 10; Dat[4] := 5;

   Dat[5] := 6; Dat[6] := 7;

   Dat[7] := 5; Dat[8] := 8;

   Dat[9] := 6; Dat[10] := 9;

   m := 10;

   n := 0;

   for k := 1 to 10 do

      if Dat[k]

       begin

          m := Dat[k];

          n := k;

       end;

   writeln(n);

End.

4

Var k, m, day: integer;

Pos: array[1..7] of integer;

Begin

   Pos[1] := 17; Pos[2] := 19;

   Pos[3] := 20; Pos[4] := 18;

   Pos[5] := 16; Pos[6] := 20;

   Pos[7] := 16;

   day := 1;

   m := Pos[1];

   for k := 2 to 7 do

      if Pos[k]

       begin

         m := Pos[k];

         day := k;

       end;

   writeln(day);

End.



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!