Инфоурок Информатика Другие методич. материалыПр меры решения задач "Типовые задачи обработки одномерных числовых массивов"

Пр меры решения задач "Типовые задачи обработки одномерных числовых массивов"

Скачать материал

Типовые задачи обработки одномерных числовых массивов

Массив — это структура данных, предназначенная для хранения однородной информации. Объясним.

Рассмотрим задачу: «Известен рост 20 человек. Определить среднее значение роста».

Для решения можно в программе использовать 20 переменных величин: р1, р2, …, р20

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

Можно найти сумму так :

сумма := 0

нц для i от 1 до n

  вывод нс, "Введите значение роста очередного человека"

  ввод р

   сумма := сумма + р

кц

 

Однако  если  нужно  определить,  сколько  человек  имеют  рост  больше  среднего,  то придется после расчета среднего роста повторно вводить в программу 20 значений. Это нецелесообразно. Желательно сохранить все введенные значения, а потом их использовать  для  расчетов.  Для  этого  в  программе  и  нужно  использовать  массив.  Массив позволяет использовать для всех 20 значений роста общее имя Рост. Для всех семи цветов радуги можно использовать массив с именем Радуга.

 Обратим внимание на то, что в начале статьи использовано слово «однородной». Под однородной информацией понимается информация одного типа (числовая, текстовая и т.д.) об объектах, одинаковых по смыслу. Например, информацию о весе тех же 20 человек хранить в одном массиве со значениями роста нецелесообразно — её следует хранить в другом массиве1. 

 В языке программирования Паскаль в таких случаях можно использовать один массив данных типа «запись».

Каждое отдельное значение массива называется «элемент массива». Элементы массива при  хранении  массива  в  памяти  имеют  уникальные  порядковые  номера  –  «индексы» (нумерация непрерывная). Чтобы обратиться в программе к значению некоторого элемента массива, надо указать имя массива и в квадратных скобках — индекс элемента.

 Например:

 

вывод нс, Радуга[3]

вывод нс, Радуга[k]

если Рост[13] > Рост[12]

  то

    …

 

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

а — имя массива; 

n — общее количество элементов массива (условно принято, что нумерация элементов массива начинается с 1).

Смысл остальных величин можно легко определить по их именам.

Принято, что массив описан и заполнен значениями.

 

1. Нахождение суммы всех элементов массива

 

сумма := 0 

нц для i от 1 до n

  сумма := сумма + а[i]

кц

|Вывод результата или использование его в расчетах

 

Пример. В массиве записана масса каждого из n предметов, загружаемых в автомобиль.

Определить общую массу груза.

 

Решение:

 

сумма := 0 

нц для i от 1 до n

  сумма := сумма + а[i]

кц

вывод нс, "Общая масса всех предметов равна ", сумма

 

2. Нахождение  суммы  элементов  массива  с  заданными  свойствами

(удовлетворяющих некоторому условию)

 

сумма := 0 

нц для i от 1 до n

  если <условие>

    то

      сумма := сумма + а[i]

  все

кц

|Вывод результата или использование его в расчетах

 

Примечание.  Здесь  условие  в  условном  операторе  (команде  если)  может  определяться

значением элемента массива а[i] либо его индексом i.

 

3. Нахождение количества элементов массива с заданными свойствами

 

количество := 0 

нц для i от 1 до n

  если <условие>

    то

     количество := количество + 1

  все

кц

|Вывод результата или использование его в расчетах

 

Примечание.  В  данном  случае  условие  в  условном  операторе  (команде  если)  определяется значением элемента массива а[i]. Количество элементов, зависящих от значения индекса i, может

быть найдено без использования оператора цикла (убедитесь в этом!).

 

4. Нахождение  среднего  арифметического  значения  элементов  массива  с заданными свойствами

 

сумма := 0 

количество := 0 

нц для i от 1 до n

  если <условие>

    то

     сумма := сумма + а[i]

     количество := количество + 1

  все

кц

|Подсчет результата 

 среднее_арифметическое := сумма / количество

|Вывод результата или использование его в расчетах

 

Обращаем  внимание  на  то,  что  многократно  определять  значение

среднее арифметическое в  «теле»  условного оператора (команды  если) необходимости нет. Это можно сделать один раз после окончания оператора цикла. Однако может оказаться, что чисел, удовлетворяющих заданному условию, в массиве не окажется. В этом случае при расчете будет иметь место деление на ноль, что недопустимо. Правильное оформление: 

 

|Подсчет и вывод результата

если количество > 0

  то

    среднее_арифметическое := сумма/количество

    вывод нс, "Среднее арифметическое: ", среднее_арифметическое

  иначе

    вывод нс, "Чисел, удовлетворяющих условию, в массиве нет"

все

 

5. Изменение значений элементов массива с заданными свойствами

 

нц для i от 1 до n

  если <условие>

    то

     а[i] := …

  все

кц

 

6. Вывод на экран элементов массива с заданными свойствами

 

вывод нс, "Элементы массива, удовлетворяющие условию: "

нц для i от 1 до n

  если <условие>

    то

     вывод  а[i], " "

  все

кц

 

Приведенный  фрагмент  имеет  один  недостаток —  если  в  массиве  нет  элементов,

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

Необходимо предварительно определить количество чисел в массиве с заданными свойствами

(см. задачу 3), а затем оформить фрагмент в виде:

 

если количество > 0

  то

    вывод нс, "Элементы массива, удовлетворяющие условию: "

    нц для i от 1 до n

      если <условие>

        то

          вывод  а[i], " "

      все

    кц

  иначе

    вывод нс, "Чисел, удовлетворяющих условию, в массиве нет"

все

 

7. Нахождение номеров (индексов) элементов массива с заданными свойствами

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Пр меры решения задач "Типовые задачи обработки одномерных числовых массивов""

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Бренд-менеджер

Получите профессию

Методист-разработчик онлайн-курсов

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 664 059 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 26.02.2021 441
    • DOCX 16.7 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Заруднева Ангелина Викторовна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Заруднева Ангелина Викторовна
    Заруднева Ангелина Викторовна
    • На сайте: 7 лет и 2 месяца
    • Подписчики: 0
    • Всего просмотров: 2058
    • Всего материалов: 6

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Технолог-калькулятор общественного питания

Технолог-калькулятор общественного питания

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в образовательной организации

Учитель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 685 человек из 79 регионов
  • Этот курс уже прошли 1 809 человек

Курс профессиональной переподготовки

Педагогическая деятельность по проектированию и реализации образовательного процесса в общеобразовательных организациях (предмет "Информатика")

Учитель информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Этот курс уже прошли 20 человек

Курс профессиональной переподготовки

Теория и методика обучения информатике в начальной школе

Учитель информатики в начальной школе

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 96 человек из 34 регионов
  • Этот курс уже прошли 222 человека

Мини-курс

Основы русского языка: морфология, синтаксис, лексика

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 22 человека из 12 регионов
  • Этот курс уже прошли 14 человек

Мини-курс

Подростковые проблемы: индивидуальный подход

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 365 человек из 71 региона
  • Этот курс уже прошли 286 человек

Мини-курс

Психология личностного развития: от понимания себя к творчеству

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 64 человека из 28 регионов
  • Этот курс уже прошли 30 человек