Рекурсия Массивы. Перебор элементов массива

Автор: Мажитова Миля Рашитовна

Организация: МБОУ «СОШ № 54 г. Челябинска»

Населенный пункт: г. Челябинск

Технологическая карта открытого урока

Ф.И.О. учителя: Мажитова Миля Рашитовна

Предмет: Информатика

  • _____10 ______УМК_____для 10 кл. автор: Поляков К.Ю. Информатика. 10 класс. Базовый и углубленный уровни: в 2 ч. Ч. 1/ К.Ю. Поляков, Е.А. Еремин. – М.: БИНОМ. Лаборатория знаний, 2017. – 352 с., сайт: http://kpolyakov.narod.ru

Время проведения 40 мин.

Тема урока (занятия): «Рекурсия Массивы. Перебор элементов массива»

Место данного урока (занятия) в системе уроков: данная тема является частью раздела «Алгоритмизация и программирование» в теме календарно-тематического планирования данный урок № 47-48 из 18 часов в разделе._______________________________________________________________-

Тип урока: открытие нового знания

Цель урока (занятия):

  • познакомить с понятием массив, одномерный массив, видами массивов;
  • изучить что такое рекурсия, массивы, перебор элементов массива

• показать правила описания одномерного массива, способы ввода, вывода его элементов;

• совершенствовать умения и навыки работы с программой Pascal.ABC.NET.

Планируемые результаты:

  1. Личностные: формирование ответственного отношения к учению, готовности и способности, обучающихся к саморазвитию на основе мотивации к обучению и познанию_______________________________________________________________________________________________
  2. Метапредметные (УУД):
    1. 2.1. Познавательные: владение основами самоконтроля, самооценки, принятия решений и осуществления осознанного выбора в учебной и познавательной деятельности__________________________________________________________________________________________________
    2. 2.2.Коммуникативные:умениеосознанно использовать речевые средства в соответствии с задачей коммуникации; владение устной и письменной речи_________________________________________________________________________________________________________________
    3. 2.3. Регулятивные: включающие действия саморегуляции и обеспечивающие организацию учебной деятельности___________________________
  3. Предметные: умение создавать и выполнять программы для решения несложных алгоритмических задач в выбранной среде программирования______________________________________________________________________________________________________________________

Методы и приемы: практических методов обучения________________________________________________________________________________

Используемые технологии (в т.ч. ИКТ):

Технология дифференцированного обучения______________________________________________________________________________________

Опорные понятия, термины: массив, индекс, одномерный массив., Рекурсия _________________________________________________________

Новые понятия: массив, индекс, одномерный массив _Рекурсия_____________________________________________________________________

Дидактический материал: презентация, карточки-задания с содержанием практической работой (приложение № 1, приложение № 2, 3, 4 )_____

Оборудование: _проектор, ПК, интерактивная доска. ______________________________________________________________________________

Способы контроля предметных результатов обучения: ___практическая работа________________________________________________________

 

Этап

урока

Время

Цель

Содержание

учебного

материала

Формы.

Методы и приемы работы

Деятельность учителя

Деятельность

ученика

УУД

Организационный этап.

1 мин.

подготовить учащихся к работе на уроке.

 

 

Предоставление единых требований ко всем учащимся.

Учитель приветствует учеников, отмечает отсутствующих, проверяет готовность к уроку - состояние рабочего места, внешний вид учащихся.

Здравствуйте, ребята. Садитесь

 

Проверяют наличие учебных принадлежностей, учебника, тетради и дневника на уроке.

Личностные: самоопределяются, настраиваются на урок.

 

Познавательные: ставят перед собой цель: «Что я хочу получить сегодня от урока».

 

Коммуникативные: планируют учебное сотрудничество с учителем и одноклассниками.

Постановка цели и задач урока. Мотивация учебной деятельности учащихся.

3

мин

организовать и направить к цели познавательную деятельность учащихся

 

 

Задает наводящие вопросы:

-Ребята скажите, что такое массив? Как вы думаете, может ли программа вызывать саму себя?

- Итак, дадим определение массива

 

- Попробуйте придумать

примеры данных, которые можно организовать

в виде массива.

-Теперь давайте попытаемся сформулировать цели нашего урока,

(познакомимся с понятием «массив», «индекс»; узнаем, как используется цикл при обработке массива; научимся формулировать алгоритмы словесно, записывать их в виде блок-схем и программ; анализировать простые блок-схемы и программы, создавать трассировочную таблицу).

 

Отвечают на вопросы:

  • Массив – группа элементов одного типа, объединенных под общим именем.
  • Индекс – что-то (чаще всего номер), что позволяет отличать элементы массива один от другого и обращаться к ним.
  • Книга состоит из множества однотипных элементов – страниц, у каждой страницы есть номер (индекс), все страницы объединены под одним названием (название книги)
  • дому соответствует один почтовый адрес (город, улица, номер). Элементами дома можно считать квартиры, у каждой из которых есть номер (индекс).
  • хоккейная команда состоит из нескольких людей, у каждого из них есть номер (индекс).

 

Коммуникативные:

-Форсированность умения учитывать разные мнения и самостоятельно выстраивать свою деятельность в сотрудничестве в соответствии с целями, поставленными учителем;

- Сформированность умения планировать общие способы работы в совместной деятельности под руководством учителя

 

Актуализация знаний.

2

мин.

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

Необходимый уровень: Выберите в трасировочную таблицы элементы, относящиеся к понятию «массива» и отметте их «+».

Повышенный уровень: запишите в трассировочную таблицу условие соответствующий каждому верному утверждению.

Фронтальный опрос Создание комфортного климата с помощью похвалы и поддержки;

Помогает актуализовать знания о понятии массива, правил

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

Заполняют трассировочную таблицу в тетради

Записывают задания.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Регулятивные:

- Сформированность умения в сотрудничестве с учителем ставить новые учебные задачи;

- Сформированность умения в сотрудничестве с учителем осуществлять превентивный контроль по результату и по способу действия.

Освоение нового материала (первичное

закрепление нового

знания)

10 мин.

 

обеспечение восприятия, осмысления и первичного запоминания знаний, связей и отношений в объекте изучения

 

ТЕМА УРОКА

«Рекурсия Массивы. Перебор элементов массива»

  1. Определение массив и индекса (слайд № 2).

 

Массив – группа элементов одного типа, объединенных под общим именем.

Индекс – что-то (чаще всего номер), что позволяет отличать элементы массива один от другого и обращаться к ним.

  1. Примеры реальных объектов, которые можно представить в виде массива, обсуждение, почему это так:

Почему книгу можно считать “массивом”? Что в этом случае будет элементом массива, а что - индексом? (слайд № 3)

 

Алгоритмическая конструкция, в какой подпрограмма вызывает сама себя, называется рекурсией. Рекурсивные алгоритмы обычно возникают там, где исходную задачу можно привести к такой же, но с другими аргументами или в других обстоятельствах.
Рекурсия дает возможность записывать циклические алгоритмы без использования команд цикла.
Рекурсивные задачи – это задачи имитации человеческого интеллекта на основе перебора вариантов. Без рекурсии есть возможность решить подобные задачи только для частных случаев. Понятие рекурсии довольно молодое. В 1958 году в руководстве по программированию ЕРМЕНТ впервые появилось понятие рекурсивности.
Преимущества использования рекурсии: рекурсивный алгоритм более короткий и более наглядный. Недостатки: для вычисления рекурсивного алгоритма на компьютере, необходимо больше времени (за счет повторных обращений к подпрограмме) и большее количество памяти (за счет дублирования локальных переменных подпрограммы).

Итерация — это организация обработки данных, при которой действия повторяются многократно с помощью цикла, при этом не приводя к вызовам самих себя.
Как вы знаете существует 3 вида циклов.

 

Фронтальный опрос, Использование такого поискового метода парная работа, коллективное обсуждение. Создание комфортного климата с помощью похвалы и поддержки;

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

Рекурсия – это приём, позволяющий свести исходную задачу к одной или нескольким более простым задачам того же типа

 

    • В каком году в программировании впервые появилось понятие рекурсивности?
    • Какие отличия между итерацией и рекурсией?
    • Почему дом можно считать “массивом”? Что в этом случае будет элементом массива, а что - индексом?

- Ребята давайте посмотрим следующие Интернет – ресурсы:

  • https://rosuchebnik.ru/, http://school-collection.edu.ru/ – единая коллекция цифровых образовательных ресурсов.
  • http://fcior.edu.ru http://eor.edu.ru Федеральный центр информационных образовательных ресурсов (ОМС)
  • http://www.metod-kopilka.ru (Методическая копилка учителя информатики);
  • http://metodist.lbz.ru/
  • http://rebus1.com/index.php?item=rebus_generator&enter=1

Массив – это поименованная совокупность однотипных элементов.

Давайте запишем это определение себе в тетрадь.

- Мы будем рассматривать одномерные массивы.

  • Почему шахматную доску можно считать массивом? Что в этом случае будет элементом массива, а что - индексом? (слайд № 4, № 5)
  • Почему хоккейную команду можно считать массивом? Что в этом случае будет элементом массива, а что - индексом? (слайд №6)

Правила описания массивов на языке Pascal (слайд № 7).

Массивы описываются в разделе описания переменных. Общий вид описания:

<имя массива>: array [<начальный индекс>..<конечный индекс>] of<тип элемента>;

 

Примеры:

A : array [1..10] of real;

Создается массив из действительных чисел (real), с нумерацией от 1 до 10 (всего 10 элементов).

Примеры описания массивов (слайд № 8).

M : array [-5..5] of integer;

Сколько элементов в этом массиве? Какого они типа? Как они нумеруются?

Z : array [-8..-1] of integer;

Сколько элементов в этом массиве? Какого они типа? Как они нумеруются?

Mass : array [5..15] of integer;

Сколько элементов в этом массиве? Какого они типа? Как они нумеруются?

Использование элементов массива в выражениях внутри программы (слайд № 9)

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

Примеры:

Read(A[1]);

A[3]:=(2 * x + 6) mod 4;

A[4]:=(A[1]+A[2]) div A[3];

Читают параграф, отвечают на вопросы

Работа с изображением на экране

Отвечают на вопросы учителя.

Ответ: книга состоит из множества однотипных элементов – страниц, у каждой страницы есть номер (индекс), все страницы объединены под одним названием (название книги)

Ответ: дому соответствует один почтовый адрес (город, улица, номер). Элементами дома можно считать квартиры, у каждой из которых есть номер (индекс).

Ответ: доска состоит из клеток, каждая клетка обозначается буквой и цифрой (двойной индекс).

Ответ: команда состоит из нескольких людей, у каждого из них есть номер (индекс).

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

 

Личностные:

-Сформированность целостного мировоззрения, соответствующего современному уровню развития науки и общественной практики.

Познавательные:

- Сформированность умения самостоятельно осуществлять поиск и выделение информации, в том числе с использованием ресурсов библиотек и интернета, для выполнений учебных заданий;

 

Регулятивные:

- Сформированность умения самостоятельно учитывать выделенные учителем ориентиры действия в новом учебном материале;

 

Коммуникативные:

-Сформированность умения учитывать разные мнения и самостоятельно выстраивать свою деятельность в сотрудничестве в соответствии с целями, поставленными учителем;

- Сформированность умения планировать общие способы работы в совместной деятельности под руководством учителя

- Сформированность умения строить монологическое контекстное высказывание средствами устной и письменной речи.

Первичная проверка понимания

изученного материала

5

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Работа в группах Создание комфортного климата с помощью похвалы и поддержки;

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

Допустимые операции определяются типом элемента (элемент массива ничем не отличается от обычной переменной, кроме особенного написания имени).

 

По группам решаются задачи на непосредственное применение массива, заполняют трассировочную таблицу в тетрадях.

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

Решают разноуровневые задания.

Задача 1. Напишите программу для описания, заполнения и вывода массива целочисленных элементов с именем z, состоящего из 30 элементов. Данные сгенерируйте случайным образом в диапазоне от 0 до 1000. Программу сохраните в своей личной папке с именем «Заполнение массива 3». (Высокий уровень)

 

Задача № 2

Напишите программу для описания, заполнения и вывода массива целочисленных элементов с именем massive, состоящего из 15 элементов. Данные введите с клавиатуры. Программу сохраните в своей личной папке с именем «Заполнение массива». (Повышенный уровень)

Задача № 3.

Составить программу для решения следующих задач:

  1. В массиве с1, с2 , ..., с40 найти произведение отрицательных чисел.
  2. В массиве b1, b2, ..., b20 найдите количество "единиц".
  3. В массиве чисел а1, а2 , ..., а30 найти сумму четных чисел, стоящих на нечетных местах.

(необходимый уровень)

 

Познавательные:

- Сформированность умения осуществлять сравнение, сериацию и классификацию, выбирая критерии; устанавливать причинно-следственные связи под руководством учителя

Регулятивные

- Сформированность умения в сотрудничестве с учителем осуществлять превентивный контроль по результату и по способу действия.

Коммуникативные:

-Сформированность умения учитывать разные мнения и самостоятельно выстраивать свою деятельность в сотрудничестве в соответствии с целями, поставленными учителем;

- Сформированность умения планировать общие способы работы в совместной деятельности под руководством учителя

- Сформированность умения строить монологическое контекстное высказывание средствами устной и письменной речи.

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

Повышенный уровень: Приведите 1-2 примера

Максимальный уровень: приведите все возможные доказательства своего убеждения

 

 

 

Фронтальный опрос Создание комфортного климата с помощью похвалы и поддержки

 

 

 

 

 

 

 

 

 

 

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

Теперь построим блок-схему и составим программу на Паскаль.

 

Практическая работа (фронтальная) на закрепление материала

15 мин.

усвоение учащимися новых знаний и способов действий.

«Уровни успешности».

  1. 1.Необходимый уровень (базовый) – решение типовой задачи, когда используются отработанные действия и усвоенные знания «хорошо, но не отлично».

 

  1. Повышенный уровень (программный) – решение нестандартной задачи − действие в новой, непривычной ситуации и (или) использование новых знаний по только изучаемой теме «отлично».

 

  1. Максимальный уровень (Необязательный)-решение задачи по материалу, не излучавшемуся в классе − «превосходно».

 

 

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

 

Запись одномерного массива в PascalABC:

Var

a : array [1..N] of integer;

 

или

type

arr = array[1..N] of integer;

 

Var

a: arr;

Ввод одномерного массивав PascalABC:

а) клавиатуры

for i := 1 to N do

read(a[i]);

б) с использованием генератора случайных чисел

for i := 1 to N do

a[i]:=random(Const);

 

Пример фрагмента программы заполнения массива Паскаля случайными числами

Var

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

I : byte ; {переменная I вводится как индекс массива}

Begin

For i :=1 to 10 do

A [ i ]:= random (10);

 

Вывод одномерногомассива в PascalABC:

For i:=1 to N do

Writeln (a[i]);

 

Пример фрагмента программы вывода массива Паскаля в столбик

Var

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

I : byte ; {переменная I вводится как индекс массива}

Begin

For i:=1 to 10 do

Writeln ('a[', i,']=', a[i]);

 

Пример программы суммирования массивов

Program summa;

Var

a, b, c: array [1..100] of integer;

I, n: byte;

Begin

Write ('введите размерность массивов:');

Readln(n);

For i:=1 to n do

Readln (a[i]); { ввод массива a}

For i:=1 to n do

Readln (b[i]); { ввод массива b}

For i:=1 to n do

C[i]:=a[i]+b[i];

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

For i:=1 to n do

write (c[i],' '); { вывод массива с }

End.

Пример программы вывода на экран последовательность из 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.

 

Фронтальный опрос Создание комфортного климата с помощью похвалы и поддержки;

 

Задает наводящие вопросы. Проверяет первичное закрепление знания

«Заполнение массива». Существует несколько способов заполнения массива:

1)с помощью const

2)через присваивание в программе

3)с клавиатуры

4)с помощью генератора случайных чисел

Для закрепления изученного материала мы сейчас выполним практическую работу на ПК. (см. далее Приложение № 1, 2)

- Запишем условия задания и на примере одного массива разберем все рассмотренные варианты описания, заполнения и вывода массива.

- Итак, задача №1: «Дан массив с названием a, состоящий из десяти целочисленных элементов. Необходимо заполнить и распечатать элементы данного массива. Составить блок-схему и написать программу на языке Паскаль».

/предлагает всем прочитать условие задачи, затем проводит фронтальный опрос/

(к доске приглашается 1 учащийся, остальные участвуют в коллективном обсуждении)

Вопросы:

- Приглашаю для работы на доске желающих. Еще раз записываем условие:

Массив a[1..10] ofiinteger

- С чего начинается любая блок-схема?

- Как заполняется блок описания данных?

- Какой вариант будем использовать для заполнения массива? (1 вариант – через const)

- Как будем выводить (распечатывать) массив?

- Совершенно верно, теперь построим блок-схему и составим программу на Паскаль.

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

/учащиеся строят блок-схему и пишут программу на Паскаль одновременно с работой на доске/

Вопросы:

- Из скольких блоков состоит программа на Паскаль?

- Если используем 1 вариант заполнения массива, какой раздел описания переменных используем?

- Какой цикл будет реализован для вывода массива?

- Как будем выводить элементы массива: в строку или в столбец?

/выполняют задание, сверяя решение с решением на доске, в процессе и по итогам – обсуждение решения/

 

- Теперь перейдем к практическому выполнению этого задания на компьютере

/предлагает всем пересесть за рабочие места за ПК, включить компьютеры, запустить программную среду PascalABC/

- Что необходимо сделать?

- Совершенно верно: набираем программу, запускаем, проверяем, сохраняем в своей личной папке под именем «Заполнение массива» на диске.

Систематизация изученного материала с заданиями из ОГЭ

Давайте еще обратим внимание на задания из КИМов ОГЭ, в котором рассматривается массив элементов.

Учитель выводит через проектор на экран варианты такого типа заданий из ОГЭ, обсуждает предложенный способ заполнения массива/

Сейчас мы на практике увидим как работает итерация. И для примера, который является классическим, мы используем пример подсчет факториала. Ребята, вы знакомы с понятием факториала?
Факториал целого, положительного числа N – это произведение целых чисел от 1 до N, обозначается как N!.
Глядя на формулу кто может предположить как выполнение программы будет выглядеть в виде блок-схемы? Пожалуйста, выйдите к доске и изобразите алгоритм. Поправляю учащегося, если он совершает ошибки.
Спасибо. Теперь посмотрите, пожалуйста, внимательно код программы. Назовите количество переменных и их назначение. Следует отметить, что для корректной работы цикла необходимо перед ним присвоить переменной F значение 1. Кто может объяснить почему? Правильно, для того, чтобы после выполнения цикла значение переменной не осталось равным нулю, т.к. по умолчанию переменная имеет начальное значение ноль.
Запишите в тетрадь.
А теперь, ребята, пересаживайтесь за компьютеры и приступайте к выполнению практической работы.

Учащиеся записывают условия задания в рабочих тетрадях.

 

 

 

 

 

 

 

 

Учащиеся отвечают на вопросы, коллективное обсуждение, формулирование решения.

 

 

 

Учащиеся составляют блок-схему.

 

 

Рассуждения учащихся.

 

 

 

 

 

 

 

 

Учащиеся отвечают на вопросы, коллективное обсуждение, формулирование решения.

 

 

Все ученики пересаживаются за рабочие места за ПК, включают их, запускают программную среду PascalABC

 

 

Учащиеся набирают в программной среде готовую программу, выполняют ее, сохраняют.

 

 

Рассуждения учащихся, предположения, формулирование решения, написание программы, тестирование в программной среде.

 

 

 

 

 

Переписывают готовую работающую программу в тетрадь.

 

Рассуждения учащихся, предположения, формулирование решения, написание программы, тестирование в программной среде.

 

 

 

 

 

 

 

 

Учащиеся проверяют программу, вводя данные с клавиатуры.

Переписывают готовую работающую программу в тетрадь.

 

 

 

 

 

 

Рассуждения учащихся, предположения, формулирование решения, написание программы, тестирование в программной среде.

 

 

 

 

 

 

 

Учащиеся проверяют программу, вводя данные с клавиатуры.

Переписывают готовую работающую программу в тетрадь.

 

 

Познавательные:

- Сформированность умения осуществлять сравнение, сериацию и классификацию, выбирая критерии; устанавливать причинно-следственные связи под куроводством учителя.

 

Регулятивные

- Сформированность умения в сотрудничестве с учителем осуществлять превентивный контроль по результату и по способу действия.

 

Коммуникативные:

-Сформированность умения учитывать разные мнения и самостоятельно выстраивать свою деятельность в сотрудничестве в соответствии с целями, поставленными учителем;

- Сформированность умения планировать общие способы работы в совместной деятельности под руководством учителя

- Сформированность умения строить монологическое контекстное высказывание средствами устной и письменной речи.

 

Информация о домашнем задании, инструктаж по его выполнению

1

мин.

 

Вопросы устно:

  • Что такое массив?
  • Что такое индекс?
  • Как использовать элементы массива в выражениях?
  • В каких случаях использование массива может давать преимущество?

 

 

Объясняет способ выполнение домашнего задания и критерии его оценки

Задание.

 

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

Записывают домашнее задание в дневниках Задают

вопросы учителю по выполнению домашнего задания.

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

Коммуникативные: отмечают успешные ответы, интересные вопросы одноклассников, участников группы.

 

Регулятивные: определяют степень соответствия поставленной цели и результатов деятельности, определяют степень своего продвижения к цели

Рефлексия (подведение итогов занятия)

3 мин.

Осознание учащихся своей учебной деятельности, оценивание результатов собственной деятельности

 

Оцени свою работу на уроке

Создание комфортного климата с помощью похвалы и поддержки;

Учитель организует оценку выполнения работы.

Сегодня мы рассмотрели тему «Итерация и рекурсия».
Какие трудности у вас возникали в ходе изучения материала?
Есть у кого-нибудь вопросы по данной теме?

Озвучивает результаты работы учащихся на уроке

Выразите ваши впечатления от урока. Продолжите предложения:

Я узнал…

Мне понравилось…

Я открыл для себя…

Мне было интересно…

 

 

Личностные:

-Сформированность целостного мировоззрения, соответствующего современному уровню развития науки и общественной практики.

 

Коммуникативные:

-Сформированность умения учитывать разные мнения и самостоятельно вы-страивать свою деятельность в сотрудничестве в соответствии с целями, поставленными учителем;

-умение самостоятельно оценивать результаты своей деятельности в соответствии с общими требованиями

 

 

Приложение 1

Опорный конспект к уроку

 

Теоретические сведения

Массив – это упорядоченное множество однотипных величин (элементов массива), которым присваивается одно общее имя.

Массив – это именованная группа однотипных данных, хранящихся в последовательных ячейках памяти. Каждая ячейка содержит элемент массива. Элементы нумеруются по порядку, но, не обязательно начиная с единицы. Порядковый номер элемента массива называется индексом этого элемента. Помним, что все элементы определенного массива имеют один и тот же тип. У разных массивов типы данных могут различаться. Н-ер, один массив может состоять из чисел типа integer, а другой – из чисел типа real

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

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

Суммирование элементов массива осуществляется за счёт поочерёдного добавления слагаемых.

Массив представляет собой последовательность ячеек памяти, в которых хранятся однотипные данные. При этом существует всего одно имя переменной, связанной с массивом, а обращение к конкретной ячейки происходит по ее индексу (номеру) в массиве. Нужно четко понимать, что индекс ячейки массива не является ее содержимым. Содержимым являются хранимые в ячейках данные, а индексы только указывают на них. Действия в программе над массивом осуществляются путем использования имени переменной, связанной с областью данных, которая отведена под массив.

 

 

Задача на нахождение суммы элементов данной конечной числовой последовательности или массива.

На блок-схеме представлен алгоритм обработки массива. Определить имя и размер массива, способ заполнения массива, тип значений элементов массива.

Запишите программу на языке программирования Паскаль.

Блок-схеме представлен алгоритм обработки массива

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

Как записывается оператор цикла с предусловием? Как он работает?

Как записывается оператор цикла с постусловием? Как он работает?

Как записывается оператор цикла с параметром? Как он работает?

В каких случаях используется каждый оператор?

С помощью какого цикла можно решить задачу? (перечисление задач)

Как удобнее работать с последовательностями

чисел, списками, таблицами?

Ответы:

Массив с именем А состоит из 20 целых величин, заполняется данными, которые вводятся с клавиатуры.

Программа:

 

Program _n6;

Var a: array [1...20] of integer; i, s: integer;

Begin

For i:=1 to 20 do

Begin

Read a[i];

s : = s+ a[i]

End;

Writeln(s);

End.

 

 

 

 

 

 

 

Приложение 2

 

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

 

Задание 1. Рассмотрим математическую головоломку из книги Ж. Арсака «Программирование игр и головоломок». Построим последовательность чисел следующим образом: возьмем целое число i>1. Следующий член последовательности равен i/2, если i четное, и 3 i+1, если i нечетное. Если i=1, то последовательность останавливается.

Математически конечность последовательности независимо от начального i не доказана, но на практике последовательность останавливается всегда.

Применение рекурсии позволило решить задачу без использования циклов, как в основной программе, так и в процедуре.

Пример программы с использованием рекурсии

Program Arsac;

Var first: word;

Procedure posledov (i: word);

Begin

Writeln (i);

If i=1 then exit;

If odd(i) then posledov(3*i+1) else posledov(i div 2);

End;

Begin

Write (‘ введите первое значение ’); readln (first);

Posledov (first);

Readln ;

End.

 

 

Задание 2.Заполните массив числами, которые вводит пользователь, и вычислите их сумму. Если пользователь вводит ноль или превышен размер массива, то запросы на ввод должны прекратиться.

Примечание. Для решения подобного рода задач иногда бывает уместно использовать цикл с постусловием repeat.

Программа на языке Паскаль:

Var arr: array [1...10] of integer;

Sum, i: integer;

Begin

i: =1; sum:=0;

Repeat

Write (‘Число :’);

Readln (arr[i]);

Sum:=sum+arr[i];

i:=i+1

Until (arr[i-1]=0)or(i>n);

For i:=1 to n do write (arr[i], “ “);

Writeln (‘sum=’, sum);

End.


Приложения:
  1. file1.docx.. 107,6 КБ
  2. file0.pptx.zip.. 1,1 МБ
Опубликовано: 22.03.2021