Решение задач с использованием одномерных массивов.

  • docx
  • 10.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-0005.docx

Практическая работа №6.

Решение задач с использованием одномерных массивов.

 

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

 

Оборудование:  персональный компьютер, программа PascalABC, методические указания по работе (в электронном виде находятся в папке «Методические указания» на рабочем столе компьютера), карты-задания

 

Содержание и последовательность выполнения  практической работы:

1.             Инструктаж по технике безопасности

2.             Выполнение практического задания

 

Теория.

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

Месяц

1

2

3

4

5

6

7

8

9

10

11

12

Температура

-21

-18

-7,5

5,6

10

18

22,2

24

17

5,4

-7

-18

Такую таблицу называют линейной. Она представляет собой последовательность упорядоченных чисел. Если требуется какая-то математическая обработка данных, то для их обозначения вводят индексную символику.

Например:

Т1 – температура января;

Т5 – температура мая;

В общем виде множество значений, содержащихся в таблице, можно обозначить так:    { Ti },   I = 1,2,3, …,12.

Порядковые номера элементов называются индексами.  Индексированные величины удобно использовать для записи их математической обработки:  . По данной формуле можно подсчитать среднегодовую температуру.

В языке Паскаль для записи линейных таблиц используют  структурированный тип данных,  который называется одномерным массивом. Одномерный массив представляет собой совокупность пронумерованных однотипных значений, имеющих общее имя. Элементы массива обозначаются переменными с индексами. Индексы записывают в квадратных скобках после имени массива.

Например:  T[1], T[5], T[I] и т.п.

 

Описание одномерных массивов:

Переменная типа одномерный массив описывается в разделе описания переменных в следующем виде:

var  имя массива: array[1..n] of  тип;

n – количество элементов массива.

Пример: var T: array [1..12] of real;

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

Ввод массива (чтение массива):

writeln(‘введите ’,n,‘ элементов массива’);

for i:=1 to 12 do

   readln (t[i]);

Вывод массива:

writeln(‘массив’);

for i:=1 to 12 do

   writeln (‘t[’,i,‘]=’, t[i]:0:2);

Примеры задач.

1.             Известны данные о среднемесячной температуре за год. Требуется вычислить среднегодовую температуру, а также ежемесячные отклонения от этой величины.

Program Example;

Const n=12;

Var t, dt:array[1..n] of real;

       ts:real;

       i:integer;

Begin {ввод исходных данных}

    writeln (‘введите температуру за ’,n,‘ месяцев’);

    for i:=1 to n do

       readln (t[i]);

{вычисление средней температуры}

    ts:=0;

    for i:=1 to n do

       ts:=ts+t[i];

    ts:=ts/n;

{вычисление таблицы отклонений от среднего}

    for i:=1 to n do

       dt[i]:=t[i]–ts;

{вывод результатов}

    writeln (‘среднегодовая температура =’ , ts:0:2);

    writeln (‘отклонения от среднегодовой температуры:’);

    for i:=1 to n do

       writeln (i,‘ – месяц: ’, dt[i]:0:2);

End.

2.             Дан массив из 8 элементов целого типа. Найти сумму положительных элементов массива.

Program summa;

Const  n=8;

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

       i,s:integer;

Begin {ввод исходных данных}

    writeln (‘введите ’,i,‘ целых чисел’);

    for i:=1 to n do

       readln (a[i]);

    s: =0;

    for i:=1 to n do

         if a[i]>0

         then s:=s+a[i];

     writeln (‘сумма положительных чисел =’,s);

End.

3.             Задать массив B из 12 элементов по следующей формуле: . Вывести полученный массив. Найти максимальный элемент массива.

Program maximum;

Const  n=12;

Var b:array[1.. n] of integer;

       i,max:integer;

Begin {получение массива}

    for i:=1 to n do

        if  i<6

        then  b[i]:=sqr(i)-15

        else  b[i]:=i+8;

{вывод массива}

    writeln(‘массив’);

    for i:=1 to n do

        writeln (‘b[’,i,‘]=’, b[i]);

{поиск максимального элемента массива}

    max:=b[1];

    for i:=1 to n do

        if  b[i]>max

        then max:=b[i];

     writeln (‘максимум=’,max);

End.

4.             Получить массив C из 10 элементов следующего вида: . Вывести полученный массив. Сосчитать количество отрицательных элементов массива.

Program kolvo;

Const  n=10;

Var c:array[1.. n] of real;

       i,k:integer;

Begin {получение массива}

    for i:=1 to n do

        c[i]:=(i*sqr(i)-10*i)/3;

{вывод массива}

    writeln(‘массив’);

    for i:=1 to n do

        writeln (‘с[’,i,‘]=’, с[i]:0:2);

{подсчет количества отрицательных}

    k:=0;

    for i:=1 to n do

        if  c[i]<0

        then k:=k+1;

     writeln (‘количество отрицательных чисел=’,k);

End.

5.             Дан массив из 10 элементов целого типа. Заменить отрицательные элементы массива на их квадрат, положительные оставить без изменения. Вывести полученный массив.

Program zamena;

Const  n=10;

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

       i:integer;

Begin {ввод исходных данных}

    writeln (‘введите ’,i,‘ целых чисел’);

    for i:=1 to n do

       readln (a[i]);

{замена отрицательных чисел}

    for i:=1 to n do

        if  a[i]<0

        then a[i]:=sqr(a[i]);

{вывод массива}

    writeln(‘массив’);

    for i:=1 to n do

        writeln (‘a[’,i,‘]=’, a[i]);

End.

 

Задания.

Студенты решают задачи на компьютерах по вариантам с помощью среды программирования PascalABC.

Вариант 1

1.             Дан массив из 10 целых чисел. Найти количество отрицательных элементов массива.

2.             Дан массив из 8 чисел. Заменить все положительные числа на 0. Отрицательные числа оставить без изменения. Вывести элементы массива.

3.             Дано натуральное число n. Задать массив из n элементов по формуле . Вывести элементы массива. Найти минимальный элемент массива.

Вариант 2

1.             Дан массив из 8 чисел. Найти максимальный элемент массива.

2.             Дан массив из 6 целых чисел. Умножить все отрицательные числа на 5. Вывести элементы массива.

3.             Дано натуральное число n. Задать массив из n элементов по формуле . Вывести элементы массива. Найти сумму положительных элементов массива.

Вариант 3

1.             Дан массив из 10 целых чисел. Найти минимальный элемент массива.

2.             Дан массив из 7 чисел. Заменить все отрицательные числа на их модуль. Вывести элементы массива.

3.             Дано натуральное число n. Задать массив из n элементов по формуле . Вывести элементы массива. Найти количество отрицательных элементов массива.

Вариант 4

1.             Дан массив из 7 чисел. Найти сумму положительных элементов массива.

2.             Дан массив из 6 целых чисел. Умножить все положительные числа на -2. Вывести элементы массива.

3.             Дано натуральное число n. Задать массив из n элементов по формуле . Вывести элементы массива. Найти максимальный элемент массива.

 


 

Посмотрите также