Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Лекция 6. Массивы. Параметрический цикл

Лекция 6. Массивы. Параметрический цикл (Воробьева И.А. «Информатика. Язык Питон» (2016))

PDF-файл Лекция 6. Массивы. Параметрический цикл (Воробьева И.А. «Информатика. Язык Питон» (2016)) Информатика (51803): Лекции - 1 семестрЛекция 6. Массивы. Параметрический цикл (Воробьева И.А. «Информатика. Язык Питон» (2016)) - PDF (51803) - СтудИзба2019-09-06СтудИзба

Описание файла

Файл "Лекция 6. Массивы. Параметрический цикл" внутри архива находится в папке "Воробьева И.А. «Информатика. Язык Питон» (2016)". PDF-файл из архива "Воробьева И.А. «Информатика. Язык Питон» (2016)", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

1Воробьева И.А. «Информатика. Язык Питон»МассивыОдномерные массивы и матрицы. Простейшие алгоритмы в массивах: поиск,экстремумы, накопление сумм и произведений. Просмотр массива: полностью,по частям, с досрочным выходом.5. МАССИВЫ И ПАРАМЕТРИЧЕСКИЕ ЦИКЛЫ5.1.

Параметрический циклНапоминание.Цикл – повторение выполнения однотипных действий (тела цикла) спроверкой условия необходимости повторения этих действий.Параметрический цикл – цикл, в котором заранее известно, сколькоповторений выполнения тела необходимо совершить.Этот цикл управляется параметром-счетчиком, который при повторении выполнениятела цикла изменяется от заданного начального значения до заданного конечного значения сфиксированным шагом (шаг ≥ ±1).Блок-схема параметрического циклаРисунок 5.

1.2Воробьева И.А. «Информатика. Язык Питон»Если в языке программирования реализована синтаксическаяконструкция параметрического цикла, то это вовсе не означает, что онабудет полностью идентична в разных языках.Синтаксис параметрического цикла for..in в Python предписываетосуществлять итерации по последовательности объектов, то естьосуществляет проход по всем элементам последовательности,заданной в команде.Здесь важно то, что последовательность объектов в Python необязательно состоит только из чисел, например можно предложитьпоследовательность из строк [‘мама’, ‘папа’, ‘брат’, ’сестра’] и сделатьчетыре итерации по этой последовательности, что бывает оченьудобно. Однако именно числовые последовательности дают большегибкости в параметрическом цикле, и мы это увидим в примерах ниже.for <cчетчик> in <последовательность> :<операция > # тело цикла – это единственная инструкцияЗдесь <cчетчик> будет принимать последовательно все значения,которые заданы в <последовательности>, например:for i in [3]:print (‘Это сообщение выведется ‘, i-2, ‘ раз’)на экране увидим:Это сообщение выведется 1 разтак как последовательность состоит из единственного числа ‘3’ ипеременная примет его значение ()for <cчетчик> in <последовательность> :<операция 1><операция 2># тело цикла – несколько инструкций…<операция N>else: # как и в конструкции while не обязательный, но удобный# блок, который выполнится один раз по окончании цикла<одна операция или несколько операций>3Воробьева И.А.

«Информатика. Язык Питон»Пример 5.1.for a in [2, 1, 0, 2, -7] :print (a)else:print(‘Цикл завершен’)на экране увидим, что примет последовательно все заданныезначения, после чего отработает блок else:2102-7Цикл завершенПример 5.2.for a in [‘мама’, ‘папа’, ‘брат’, ’сестра’] :print (a)else:print(‘- это вся моя семья.’)на экране увидим, что примет последовательно все заданныезначения, после чего отработает блок else:мамапапабратсестра- это вся моя семья.4Воробьева И.А. «Информатика.

Язык Питон» ВАЖНО! Запрещено 1 изменять значения параметра-счетчикавнутри цикла for. Эта переменная программистом не управляется (вотличие от конструкции цикла while). При этом, конечно же, узнавать и использовать значение счетчика внутри цикла можно. Как правило, в большинстве языков, значение такой переменнойсчетчика после завершения цикла не считается определенным,например, в приведенном выше коде примера 5.1., вы не можетебыть абсолютно уверены, что после завершения цикла for в переменной a будет значение «-7».

Просто привыкните использоватьпеременную-счетчик в конструкциях for исключительно, как внутреннюю переменную самого цикла.Функция range()А если мы хотим создать цикл, который отработает миллион итераций? Мыже не можем вручную набивать такую последовательность! Для формированияпоследовательности чисел в Python есть функция range().командарезультатСамая короткая форма записи функцииформирует арифметическуюпрогрессию из указанного числаэлементов, начиная с «нуля» и с шагом«+1».range(10)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]n=5range (n)[0, 1, 2, 3, 4]range (-7)1[] – пустая последовательность, таккак «-7» левее нуля и диапазон от0 до -7 с шагом +1 некорректенПрямого запрета нет, но в результате предсказуемое поведение программы на разных системах не гарантируется.5Воробьева И.А. «Информатика.

Язык Питон»Если указать два параметра функции, тоони будут указывать на диапазонзначенийc шагом «+1».Важно! Правая граница никогда непопадает в последовательность.range(5, 10)[ 5, 6, 7, 8, 9]range(-10, -5)[ -10, -9, -8, -7, -6]range(-5, -10)[] – некорректная командаПолная форма записи функции имееттри параметра (диапазони шаг) –она дает самые широкие возможностиза счет изменения размера шага и егознака.range(1, 10, 2)[1, 3, 5, 7, 9]range(1, 10, 3)[1, 4, 7]range(-5, -10, -1)[- 5, -6, -7, -8, -9]Функция range() и цикл for..inкомандаfor a in range(4) :print (a)результат0123for a in range(-5, -10, -2):print (a)-5-7-9for a in range (-7)print (a)for a in range(5, 5, 1):print (a)цикл не выполнится ни одногоразацикл не выполнится ни одногораза6Воробьева И.А.

«Информатика. Язык Питон»Так как алгоритм работы параметрического цикла единообразен и даже,можно сказать, – детерминирован (строго определен), нет необходимостииспользовать в блок-схемах такую тяжелую конструкцию, как на рисунке 5.1.Гораздо компактней и, что немаловажно, наглядней использовать следующееизображение параметрического цикла.зациклиливыход из циклаCЧ=НЗ; КЗ; ±ШАГТЕЛО ЦИКЛАЭто изображение в блок-схемах сразу отличимо от итерационных циклов.5.2. Массивы и параметрический циклМассив – структура данных в виде набора однотипных элементов,как правило, расположенных в памяти непосредственно друг задругом, пригодная для осуществления произвольного доступа к еёэлементам по номерам (индексам).Доступ к отдельным элементам массива осуществляется с помощьюИМЯ[индекс] – это ссылка на массив (на его адрес в памяти) суказанием номера нужного элемента.

Посмотрите на рисунок ниже:Рисунок 5. 2. Структура одномерного массива7Воробьева И.А. «Информатика. Язык Питон»Массивы с одним индексом называются – одномерными (аналог вектора вматематике). Массивы с двумя индексами называются – двумерными (аналогматрицы в математике). Формально индексов может быть больше (многомерныемассивы), но на практике такой подход в программировании встречается крайнередко.Статический массив – это массив, для которого заранее определено числоэлементов.В нашем курсе мы будем работать только со статическими структурами: статический одномерный массив; статический двумерный массив (матрица).Объявление массивов в Python (типы list, tuple)В языках, где существует собственный тип «статический массив», память подтакие массивы выделяется один раз; размер выделенной памяти фиксирован(число элементов, помноженное на число байт, занимаемых «элементом»2) и неизменяется за все время существования массива в программе.

В Python такоготипа нет, но есть два более гибких типа, которые нам подойдут для реализациимассивов.С помощью двух встроенных типов языка Python мы можем реализоватьдва вида массивов: изменяемый статический массив (с помощью типа список - list); статический массив – константа (с помощью типа кортеж - tuple).Отличия этих двух типов заключаются в том, что в первом (список) мыможем изменять первоначально заданные элементы в процессе работыпрограммы, а во втором (кортеж) – нет.Основные формы задания одномерных массивов:1. Имя массива = [тип-значение всех элементов ] * число элементов2.

Имя массива = [элемент0, элемент1,.. , элементN-1 ] – N элементов3. Имя массива = (элемент0, элемент1,.. , элементN-1 ) – N элементовКвадратные скобки означают изменяемый массив, а круглые –массив-константу.2Выделение памяти происходит чуть сложнее, но принципиально от указанного правила не отличается.8Воробьева И.А. «Информатика. Язык Питон»Если массив состоит из n-элементов, то говорят массив размерности n.Замечание 5.1. Хороший стиль программирования предполагаетиспользование именованных констант при определении массивов.Впрочем, именованная константа почти всегда предпочтительнейобычной в тех случаях, где константа имеет смысловую нагрузку.Например, в массивах ее смысловая нагрузка – размерность.Объясняется все очень просто.

Если в вашем коде число «10»встречается пятнадцать раз, причем в пяти случаях, как размерностьмассива, а в остальных десяти, как «просто число», то принеобходимости изменить «размерность массива» вам не придетсясканировать весь код в поисках «нужной десятки», если дляразмерности вы вовремя догадались сделать константу NMAX=10.Примеры объявлений массивов# РАЗДЕЛ КОНСТАНТNMAX=10LEN=9# РАЗДЕЛ ПЕРЕМЕННЫХgrad = [0.0] * 15 # изменяемый массив из 15-ти вещественных чисел. Послесоздания все элементы равны нулюNumber = [10]*LEN # изменяемый массив из 9-ти целых чисел.

Послесоздания все элементы равны «10»Kod = [‘’]*NMAX # изменяемый массив из 10-ти строковых переменных.После создания все элементы равны «пустой строке»KodA = [‘A’]*NMAX # изменяемый массив из 10-ти строковых переменных.После создания все элементы содержат букву «A»Kr= (0, 10, 5, -5, 2) # массив-константа (кортеж) из 5-ти целых чиселName = (‘Николай’, ‘Мария’, ‘Иосиф’) # массив-константа из трех строкFamily = [‘мама’, ‘папа’, ‘брат’, ’сестра’] #изменяемый массив из 4-х строкDat = [2.5, -7.0, 0.45] #изменяемый массив из 3-х вещественных чисел9Воробьева И.А.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5168
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее