top of page

Урок 33-34

Тема: Действия с одномерными массивами

Цель: отрабатывать навык решения задач на массив.

 

  1. Проверка дом. задания.

2.   Решение задач.

Задача 1. Дано натуральное число n (n≤999999). Заполнить массив его цифрами, расположенными в обратном порядке (первый элемент равен последней цифре, второй – предпоследней и т.д.).

 

program massiv ;

uses crt;

 type mas=array[1..1000] of integer;

var i,n,r: integer;

    m:mas;

begin writeln ('введи число') ;

readln (n); i:=1;

repeat

m[i]:= n mod 10;

n:= n div 10;

i:=i+1;

until n=0;

    for r:=1 to i-1 do

    write(m[r], '  ');

    end.

 

Задача 2. Дан массив целых чисел. Выяснить: 1) является ли p-й элемент массива положительным числом; 2) является ли k-й элемент массива четным числом; 3) какой элемент массива больше, k-й или  p-й.

Задача 3. Посчитать кол-во четных элементов массива.

program massiv ;

uses crt;

  type mas=array[1..1000] of integer;

var i,n,s: integer;

    m:mas;

begin writeln ('введи число') ;

readln (n);

 randomize;

 for i:=1 to n do

    begin

    m[i]:=random(45)+1;

    write(m[i], '  ');

    if m[i] mod 2=0 then  s:=s+1;                     или    inc(s,1)

 end;

 writeln;

 write(s );

 end.

Задача 4.  Удалить из массива k-й элемент.

program massiv ;

uses crt;

  type mas=array[1..1000] of integer;

var i,n,k: integer;

    m:mas;

begin writeln ('введи число') ;

readln (n);

 randomize;

 for i:=1 to n do

    begin

    m[i]:=random(45)+1;

    write(m[i], '  ');

    end;

 writeln;

 write('введи номер эл-та '); readln (k) ;

  writeln;

 for i:=1 to n do

 if i>=k then m[i]:=m[i+1];

 for i:=1 to n-1 do

 write(m[i], '  ');

 end.

Задача 5. Вставить элемент в массив.

program massiv ;

uses crt;

  type mas=array[1..1000] of integer;

var i,n,k,r: integer;

    m:mas;

begin writeln ('введи число') ;

readln (n);

 randomize;

 for i:=1 to n do

    begin

    m[i]:=random(45)+1;

    write(m[i], '  ');

    end;

 writeln;

 write('введи номер эл-та '); readln (k) ;

 write('введи эл-т '); readln (r) ;

  writeln;

 for i:=n+1 downto 1 do

 if i>k then m[i]:=m[i-1];

 m[k]:=r;

 for i:=1 to n+1 do

 write(m[i], '  ');

 end.

 

 

3.  Итог урока.

  1. Домашнее задание.

    1. Дан массив целых чисел. Все элементы, оканчивающиеся цифрой 4, уменьшить вдвое.

    2. Массив содержит 2n элементов. Из суммы первых n его элементов вычесть сумму последних n элементов.

bottom of page