В программирование часто сталкиваются с вопросом перебрать весь список и извлечь из него необходимые данные. Цикл for позволяет перебрать любой итерируемый объект, то есть объект, из которого команда for сможет брать элементы по одному, пока не будет обработан последний элемент, не зависимо от его длины.
1.1. Цикл for в Python |
1.2. Аргумент end фунции print |
1.3. Действия во время выполнения цикла for |
1.4. Основные ошибки с циклом for |
2.1. Встроенная функция range |
2.2. Создание числового списка с помощью функции range |
2.4. Перебор списка по индексам с помощью функции range |
3. Генераторы списков |
23 ЗАДАНИЕ: НУЛЕВАЯ ГИПОТЕЗА, ОТРИЦАТЕЛЬНЫЙ КОНТРОЛЬ и ПЕРЕМЕННЫЕ! ЕГЭ по биологии 2023
1. Цикл for в Python.
У нас есть список и для того, чтобы не обращаться к каждому элементу по отдельности, мы можем воспользоваться циклом for . В следующем примере переберем список с брендами автомобилей.
>>> cars = [‘ford’, ‘opel’, ‘audi’, ‘land rover’, ‘bmw’]
>>> for brend in cars :
. print(brend) # отступ в 4 пробела
.
ford
opel
audi
land rover
bmw
Во второй строке кода определяется цикл for . Python берет каждую торговую марку из списка и сохраняет его в переменной brend. После двоеточия код на следующей строке должен начинается с 4 пробелами. С помощью функции print, название марки выводится в переменной brand. Затем код повторяется до тех пор, пока не закончатся элементы в списке.
1.2. Аргумент end фунции print .
Функция print выводит свой аргумент, после чего курсор перемещает на следующую строку, но при большом количестве элементов в списке, не всегда это удобно. Можно воспользоваться аргументом end, записав его после переменной.
>>> cars = [‘ford’, ‘opel’, ‘audi’, ‘land rover’, ‘bmw’]
>>> for brend in cars :
. print(brend, end=’ ‘) # отступ в 4 пробела
.
ford opel audi land rover bmw
Аргумент end записывается в виде end= ‘ ‘ . Какое количество пробелов вы укажите, такое и будет после выводится между переменными.
1.3. Действия во время выполнения цикла for .
Во время цикла for помимо вывода элементов, с ними можно выполнять различные действия. К примеру, можно выводить сообщения с каждым проходом цикла, для этого воспользуемся f-строками.
>>> cars = [‘ford’, ‘opel’, ‘audi’, ‘land rover’, ‘bmw’]
>>> for brend in cars :
. print(f»Автомобили торговой марки очень надежные»)
.
ПЕРВЫЕ ДНИ КОШЕЧКИ! ВЫБИРАЕМ ИМЯ для КИСЫ! СЕМЬЯ А НУ-КА ДАВАЙ-КА ПРЕДЛОЖИЛА РАЗНЫЕ ТИПЫ ИМЕН
Автомобили торговой марки Ford очень надежные
Автомобили торговой марки Opel очень надежные
Автомобили торговой марки Audi очень надежные
Автомобили торговой марки Land Rover очень надежные
Автомобили торговой марки Bmw очень надежные
Со строками цикл for работает также как и со списком.
>>> mesage = ‘Hello World!’
>>> for i in mesage :
. print(i * 5, end=’ ‘)
.
HHHHH eeeee lllll lllll ooooo WWWWW ooooo rrrrr lllll ddddd .
1.4. Основные ошибки с циклом for .
В Python связь одной строки кода с предшествующей строкой обозначается отступами. В больших программах встречаются блоки кода с отступами в несколько разных уровней. Благодаря отступам, сильно упрощается чтение кода. Основные ошибки как раз и складываются из ошибок в пропущенных или лишних отступах.
- Пропущенный отступ.
>>> mesage = ‘Hello World!’
>>> for i in mesage :
. print(i * 5, end=’ ‘) # нет отступа в 4 пробела
File «», line 2
print(i * 5, end=’ ‘)
^
IndentationError: expected an indented block
Для устранения этой ошибки, достаточно поставить в следующей строке после команды for 4 пробела. В основном, если вы работаете в любом современном текстовом редакторе, то после двоеточия он сам поставит отступы на следующей строке.
- Лишний отступ.
- Пропущенное двоеточие.
2. 1. Встроенная функция range .
Встроенная функция range() используется для построения числовых последовательностей. В примере используем команду for и функцию range для выполнения ровно 10 итераций с выводом значения от 0 до 10.
>>> for x in range(10) :
. print(x, end=’ ‘)
.
0 1 2 3 4 5 6 7 8 9
При передаче только одного аргумента, последовательность будет начинаться с 0 и до значения аргумента (10), не включая его. Одна из самых распространённых ошибок, это когда разработчик предполагает, что значение аргумента функции range включается в сгенерированную последовательность.
Приведем пример с двумя аргументами. Выведем последовательность от 20 до 30.
>>> for x in range(20, 30) :
. print(x, end=’ ‘)
.
20 21 22 23 24 25 26 27 28 29
2.2. Создание числового списка с помощью функции range .
- С помощью функции range удобно строить числовые списки.
>>> numbers = list( range(5, 25) )
>>> print(numbers)
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
- Функция range может создавать последовательности, пропуская числа в заданном диапазоне. Например, приведем пример построения списка от 0 до 100, с шагом 15.
>>> numbers = list( range(0, 100, 15) )
>>> print(numbers)
[0, 15, 30, 45, 60, 75, 90]
- С помощью цикла for и функции range можно создавать практически любой числовой список. К примеру, создадим список квадратов всех числе от 1 до 10. Операция возведения в степень обозначается двумя звездочками ( ** ).
>>> a = []
>>> for i in range(1, 11) :
. a.append(i**2)
.
>>> print(a)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
На каждом цикле переменная возводится в квадрат и добавляется в список.
2.4. Перебор списка по индексам с помощью функции range
С помощью цикла for и функции range список можно перебирать по индексам и с каждым значением в списки, производить любые операции. Приведем пример, перебора списка по индексам, с помощью функции range и функции len, которая определяет длину списка.
>>> list_1 = [1, 3, 5, 10, 12, 20]
>>> for index in range ( len (list_1)):
. list_1[ index ] += 100
.
>>> print(list_1)
[101, 103, 105, 110, 112, 120]
В начале определим длину списка с помощью функции len . Затем это значение передается функции range . В нашем примере длина списка равна 6. С каждым проходом цикла for, index принимает значения от 0 до 6 (не включая 6). В теле цикла мы вызываем список list_1 и обращаемся к элементам списка по индексам, равные значению переменной index . Каждое значение индекса мы увеличивает на 100. Затем с помощью функции print выводим список на экран и видим что все значения увеличены на 100.
С помощью индексов и функции range мы можем объединять информацию из разных списков. В примере ниже мы имеем список с именами, а второй список с фамилиями. Выведем на экран имя и фамилию:
>>> list_4 = [‘Artem’, ‘Serg’, ‘Georgy’, ‘Petr’]
>>> list_5 = [‘Ivanov’, ‘Petrov’, ‘Sidorov’, ‘Ulyanov’]
>>> for index in range ( len (list_4)):
. print(list_4[ index ], list_5[ index ])
.
Artem Ivanov
Serg Petrov
Georgy Sidorov
Petr Ulyanov
В результате получили общие данные на экране.
Аналогично можно создавать новые списки из двух или трех списков. Приведем пример перемножения трех списков:
>>> list_1 = [1, 3, 5, 10, 12, 20]
>>> list_2 = [20, -9, 42, 10, 755, 12]
>>> list_3 = [12, 85, 96, 155, 235, 12]
>>> list_new = []
>>> for index in range ( len (list_1)):
. list_new.append(list_1[ index ] * list_2[ index ] * list_3[ index ])
.
>>> print(list_new)
[240, -2295, 20160, 15500, 2129100, 2880]
В начале мы создадим пустой новый список вне цикла, куда будем добавлять результат с помощью функции append. В результате мы получим новый список с результатом перемножения предыдущих списков по индексам.
Важно помнить, что программа будет работать, если вы уверены, что списки одинаковой длины. Проверить это вы всегда можете с помощью встроенной функции len .
3. Генераторы списков в Python .
Состоящий выше пример построения квадратов чисел в разделе 2.2 состоял из нескольких строк кода. Генератор списка позволяет сгенерировать тот же список, но всего в одной строке. Определите название списка, после откройте квадратные скобки. Запишите выражение для значений, в нашем случает i ** 2. Затем напишите цикл for для генерирования чисел, которые будут передаваться выражению и закройте квадратные скобки.
>>> a = [i ** 2 for i in range(1,11)]
>>> print(a)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
В результате получился аналогичный список.
Источник: pythonclass.ru
Чему будет равна переменная «с» после выполнения этой программы . a:=28; b:=7; b:= a.
В 10:31 поступил вопрос в раздел Информатика, который вызвал затруднения у обучающегося.
Вопрос вызвавший трудности
Чему будет равна переменная «с» после выполнения этой программы .
Ответ подготовленный экспертами Учись.Ru
Для того чтобы дать полноценный ответ, был привлечен специалист, который хорошо разбирается требуемой тематике «Информатика». Ваш вопрос звучал следующим образом:
Чему будет равна переменная «с» после выполнения этой программы .
После проведенного совещания с другими специалистами нашего сервиса, мы склонны полагать, что правильный ответ на заданный вами вопрос будет звучать следующим образом:
B:= 28 mod 7 = 0
c:= 28/(0+1)=28
НЕСКОЛЬКО СЛОВ ОБ АВТОРЕ ЭТОГО ОТВЕТА:
Работы, которые я готовлю для студентов, преподаватели всегда оценивают на отлично. Я занимаюсь написанием студенческих работ уже более 4-х лет. За это время, мне еще ни разу не возвращали выполненную работу на доработку! Если вы желаете заказать у меня помощь оставьте заявку на этом сайте. Ознакомиться с отзывами моих клиентов можно на этой странице.
Волкова Сандра Вячеславовна — автор студенческих работ, заработанная сумма за прошлый месяц 64 995 рублей. Её работа началась с того, что она просто откликнулась на эту вакансию
ПОМОГАЕМ УЧИТЬСЯ НА ОТЛИЧНО!
Выполняем ученические работы любой сложности на заказ. Гарантируем низкие цены и высокое качество.
Деятельность компании в цифрах:
Зачтено оказывает услуги помощи студентам с 1999 года. За все время деятельности мы выполнили более 400 тысяч работ. Написанные нами работы все были успешно защищены и сданы. К настоящему моменту наши офисы работают в 40 городах.
Ответы на вопросы — в этот раздел попадают вопросы, которые задают нам посетители нашего сайта. Рубрику ведут эксперты различных научных отраслей.
Полезные статьи — раздел наполняется студенческой информацией, которая может помочь в сдаче экзаменов и сессий, а так же при написании различных учебных работ.
Красивые высказывания — цитаты, афоризмы, статусы для социальных сетей. Мы собрали полный сборник высказываний всех народов мира и отсортировали его по соответствующим рубрикам. Вы можете свободно поделиться любой цитатой с нашего сайта в социальных сетях без предварительного уведомления администрации.
- Абадзехская стоянка, Даховская пещера. ..
- По закону сохранения заряда каждый шарик после соприкас#10..
- Анализ стихотворения Её глаза ** звёзды не похожи У.Шекспир
- Сколько времени потребуется стреле, выпущенной из лука вертикально вверх, для того.
- Рассмотри рисунок 23. Рассчитай, ** какой высоте проходит последняя горизонталь перед.
- Вычислите массу муравьиной кислоты полученной окислением 11,2 л формальдегида решение
Площадка Учись.Ru разработана специально для студентов и школьников. Здесь можно найти ответы на вопросы по гуманитарным, техническим, естественным, общественным, прикладным и прочим наукам. Если же ответ не удается найти, то можно задать свой вопрос экспертам. С нами сотрудничают преподаватели школ, колледжей, университетов, которые с радостью помогут вам.
Помощь студентам и школьникам оказывается круглосуточно. С Учись.Ru обучение станет в несколько раз проще, так как здесь можно не только получить ответ на свой вопрос, но расширить свои знания изучая ответы экспертов по различным направлениям науки.
2020 — 2021 — UCHEES.RU
Источник: uchees.ru
Чему будет равна переменная с после этой программы а 24
№1. В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 5; 1; 6; 7; 8; 8; 7; 7; 6; 9 соответственно, т.е. A[0] = 5; A[1] = 1 и т.д. Определите значение переменной c после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.
FOR i = 1 TO 9
IF A(i — 1) >= A(i) THEN
for i in range(1, 10):
Алгоритмический язык
for i := 1 to 9 do
if A[i — 1] >= A[i] then
нц для i от 1 до 9
если A[i — 1] >= A[i] то
if (A[i-1] >= A[i])
Если верно A[i — 1] >= A[i], то элементы массива меняются местами, если нет, то переменная c увеличивается на единицу. После выполнения цикла массив будет выглядеть так 1; 5; 6; 7; 8; 7; 7; 6; 8; 9, а переменная c будет равна 1 + 1 + 1 + 1 = 4.
№2. В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 7; 5; 3; 4; 8; 8; 9; 7; 6; 2 соответственно, т.е. A[0] = 7; A[1] = 5 и т.д. Определите значение переменной c после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.
FOR i = 1 TO 9
IF A(i — 1) >= A(i) THEN
for i in range(1, 10):
Алгоритмический язык
for i := 1 to 9 do
if A[i — 1] >= A[i] then
нц для i от 1 до 9
если A[i — 1] >= A[i] то
if (A[i — 1] >= A[i])
В начале выполнения этого фрагмента в массиве находились двузначные натуральные числа. Какое наибольшее значение может иметь переменная s после выполнения данной программы?
Если верно A[i — 1] >= A[i], то элементы массива меняются местами, если нет, то переменная c увеличивается на единицу. После выполнения цикла массив будет выглядеть так 5; 3; 4; 7; 8; 8; 7; 6; 2; 9 а переменная c будет равна 1 + 1 = 2.
№3. В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i : = 0 to 10 do A[i] : = i;
for i : = 0 to 4 do begin
Чему будут равны элементы этого массива?
1) 10 9 8 7 6 5 4 3 2 1 0
2) 0 1 2 3 4 5 6 7 8 9 10
3) 0 1 2 3 4 5 4 3 2 1 0
4) 10 9 8 7 6 5 6 7 8 9 10
Первый цикл, заполняем массив:
Второй цикл, меняет местами значения первых пяти элементов с последующими:
Поэтому в результате выполнени программы элементы массива будут равны: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0.
Правильный ответ указан под номером 1.
№4. В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i : = 0 to 10 do
for i : = 1 to 11 do
Чему будут равны элементы этого массива?
1) 10 9 8 7 6 5 4 3 2 1 0
2) 11 10 9 8 7 6 5 4 3 2 1
3) 10 9 8 7 6 5 6 7 8 9 10
4) 11 10 9 8 7 6 7 8 9 10 11
Первый цикл, заполняем массив:
Второй цикл, меняем значения всех элементов: обращаемся к значениям, полученным при заполнении массива.
i=7: a[6]=a[4]=7(Начиная с этого элемента обращаемся к уже изменённым элементам )
Поэтому в результате выполнени программы элементы массива будут равны: 10, 9, 8, 7, 6, 5, 6, 7, 8, 9, 10.
Правильный ответ указан под номером 3.
№5. В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 4 do begin
Чему будут равны элементы этого массива?
1) 5 6 7 8 9 0 1 2 3 4 10
2) 10 9 8 7 6 5 4 3 2 1 0
3) 0 1 2 3 4 5 4 3 2 1 0
4) 1 0 3 2 5 4 7 6 9 8 10
Первый цикл, заполняем массив:
Вто рой цикл , ме ня ем зна че ния эле мен тов a[2*i] и a[2*i+1] ме ста ми :
i =4: a [8]= a [9]=9 и a [9]= a [8]=8.
Поэтому в результате выполнения программы элементы массива будут равны: 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 10.
Правильный ответ указан под номером 4.
№6. В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, в котором значения элементов массива сначала задаются, а затем меняются.
for i:=0 to 10 do
for i:=10 downto 1 do
Чему будут равны элементы этого массива?
1) 9 9 9 9 9 9 9 9 9 9 9
2) 0 1 2 3 4 5 6 7 8 9 9
3) 0 1 2 3 4 5 6 7 8 9 10
4) -1 -1 0 1 2 3 4 5 6 7 8
Итак, пойдем по программе:
От 0 до 10 выполняем
A[i]:=i — 1, т. е. по порядку -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
От 10 до 1 выполняем
A[i-1]:=A[i], т. е. справа налево каждый элемент массива будет принимать значение справа стоящей ячейки, так что
A[9]:=A[10]=9, a A[8]:=A[9]=A[10]=9 и т. д., так что все значения ячейки будут равны 9.
Правильный ответ указан под номером 1.
№7. В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 4 do begin
Чему будут равны элементы этого массива?
1) 10 9 8 7 6 5 4 3 2 1 0
2) 0 1 2 3 4 5 6 7 8 9 10
3) 0 1 2 3 4 5 4 3 2 1 0
4) 10 9 8 7 6 5 6 7 8 9 10
Первый цикл, заполняем массив:
Второй цикл, не меняет местами значения первых пяти элементов с последующими, потому что переменной k присваивается поочерёдно два разных значения, что никак не зависит от операции
A[10-i]:=A[i] и нигде не учитывается.
Поэтому в результате выполнени программы элементы массива будут равны: 0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0.
Правильный ответ указан под номером 3.
№8. В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленная переменная i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 9 do begin
Чему будут равны элементы этого массива?
1) 10 0 1 2 3 4 5 6 7 8 9
2) 1 2 3 4 5 6 7 8 9 10 10
3) 0 0 1 2 3 4 5 6 7 8 9
4) 1 2 3 4 5 6 7 8 9 10 0
Идем по программе:
от 0 до 10 выполняем A[i]:=i, т. е. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
от 0 до 9 выполняем A[i]:=A[i+1], т. е. значения ячеек смещаются влево на одну ячейку, кроме последней, так что 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10.
Правильный ответ указан под номером 2.
№9. В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do
for i:=0 to 10 do
Чему будут равны элементы этого массива?
1) 10 9 8 7 6 5 4 3 2 1 0
2) 11 10 9 8 7 6 5 4 3 2 1
3) 11 10 9 8 7 6 7 8 9 10 11
4) 10 9 8 7 6 5 6 7 8 9 10
Первый цикл, заполняем массив:
Второй цикл, меняем значения всех элементов:
Обращаемся к значениям, полученным при заполнении массива.
i=6: a[6]=a[4]=7(Начиная с этого элемента обращаемся к элементам уже изменённым),
Поэтому в результате выполнени программы элементы массива будут равны: 11, 10, 9, 8, 7, 6, 7, 8, 9, 10, 11.
Правильный ответ указан под номером 3.
№10. В программе описан одномерный целочисленный массив с индексами от 0 до 10 и целочисленные переменные k, i. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
for i:=0 to 10 do A[i]:=i;
for i:=0 to 4 do begin
Чему будут равны элементы этого массива?
1) 5 6 7 8 9 0 1 2 3 4 10
2) 10 9 8 7 6 5 4 3 2 1 0
3) 0 1 2 3 4 5 4 3 2 1 0
4) 1 0 3 2 5 4 7 6 9 8 10
Первый цикл, заполняем массив:
Второй цикл, меняем значения элементов a[i] и a[i+5] местами:
i=0: a[0] = 5 и a[5] = 0,
i=1: a[1] = 6 и a[6] = 1,
i =4: a [4] = 9 и a [9] = 4.
Поэтому в результате выполнения программы элементы массива будут равны: 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 10.
Правильный ответ указан под номером 1.
Алгебраические операции с элементами массива, двумерные массивы
№1. В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, в котором значения элементов массива сначала задаются, а затем меняются.
for i : = 1 to 10 do
for i : = 0 to 5 do
A [10- i ] : = A [ i ]-1;
Чему будут равны элементы этого массива?
1) 1 3 5 7 9 10 8 6 4 2 0
2) 1 3 5 7 9 11 13 15 17 19 21
3) 1 3 5 7 9 11 9 7 5 3 1
4) 1 3 5 7 9 11 8 6 4 3 0
Первый цикл, заполняем массив:
Второй цикл, меняем значения последних шести элементов:
Поэтому в результате выполнения программы элементы массива будут равны: 1, 3, 5, 7, 9, 10, 8, 6, 4, 2, 0.
Правильный ответ указан под номером 1.
№2. В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей данный массив:
FOR i = 0 TO n-3
for i in range(0,n-2):
Алгоритмический язык
for i:=0 to n-3 do begin
нц для i от 0 до n-3
В начале выполнения этого фрагмента в массиве находились трёхзначные натуральные числа. Какое наибольшее значение может иметь переменная s после выполнения данной программы?
В переменную s записывается следующая сумма:
(A(0) − A(2)) + (A(1) − A(3)) + (A(2) − A(4)) + . + (A(6)− A(8)) + (A(7) − A(9)) =
Следовательно, наибольшее значение s равно 999 + 999 − 100 − 100 = 1798.
№3. В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей данный массив.
FOR i = 0 TO n-1
for i in range(0,n):
Алгоритмический язык
for i:=0 to n-1 do begin
нц для i от 0 до n-1
Известно, что в начале выполнения этого фрагмента в массиве находилась убывающая последовательность чисел, то есть A[0] > A[1] >…> A[10]. Какое наименьшее значение может иметь переменная s после выполнения данной программы?
В переменной s суммируются разности элементов, идущих друг за другом. Для того, чтобы s была наименьшей после выполнения программы, необходимо, чтобы разность элементов была наименьшей. Поскольку массив целочисленный, наименьшая разность равна единице. Алгоритм обрабатывает первые десять элементов массива, следовательно, наименьшее значение, которое может иметь переменная s после выполнения данной программы, равно 27 + 10 · 1 = 37.
№4. В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, в котором значения элементов массива сначала задаются, а затем меняются.
for i:=0 to 10 do
for i:=0 to 4 do begin
Чему будут равны элементы этого массива?
1) 11 10 9 8 7 5 6 7 8 9
2) 11 10 9 8 7 7 5 6 7 8 9
3) 11 10 9 8 7 7 10 11 12 13 14
4) 11 10 9 8 7 10 11 12 13 14
Задаем массив A[i]:=2 + i: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.
Меняем массив, идя от краев в центр, левый меняем на правый с вычетом 1, а потом правый на измененный левый плюс 3:
A[i]:= A[10-i] — 1: 12 — 1, 11 — 1, 10 — 1, 9 — 1, 8 — 1 = 11, 10, 9, 8, 7 — пер вые пять ячеек .
A[10 — i]:= A[i] + 3 = A[10-i] — 1 + 3 = A[10-i] + 2: 12 + 2, 11 + 2, 10 + 2, 9 + 2, 8 + 2 = 14, 13, 12, 11, 10 — вторые пять ячеек в обратном порядке (с номера 10 до номера 6).
Элемент A[5] остался неизменным: A[5] = 7.
В итоге: 11 10 9 8 7 7 10 11 12 13 14.
Правильный ответ указан под номером 3.
№5. Значения элементов двух массиWow А и В размером 1 х 100 задаются с помощью следующего фрагмента программы:
for i:=1 t о 100 do
for i:=1 t о 100 do
B [ i ] := A [ i ] + 49;
Сколько элементов массива В будут иметь отрицательные значения?
Источник: www.sites.google.com
Решение задач. День восьмой. Задачи If1-15
Всем привет! Сегодня мы начнем долгожданный разбор задач по программированию if1-15, а также вспомним и научимся применять различные процедуры. В решениях к некоторым задачам Вам встретится возможно неизвестная прежде процедура Inc. Пояснения к ней и к другим процедурам можно найти в этой статье .
If1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.
Program If_1; var a: integer; begin readln(a); if a > 0 then Inc(a); write(a); end.
If2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.
Program If_2; var a: integer; begin readln(a); if a > 0 then Inc(a) else a -= 2; write(a); end.
If3. Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число.
Program If_3; var a: integer; begin readln(a); if a >= 0 then if a = 0 then a := 10 else Inc(a) else a -= 2; write(a); end.
If4°. Даны три целых числа. Найти количество положительных чисел в исходном наборе.
Program If_4; var a, b, c, plus: integer; begin write(‘Введите три целых числа: ‘); readln(a, b, c); if a > 0 then Inc(plus); if b > 0 then Inc(plus); if c > 0 then Inc(plus); writeln(‘Количество положительных чисел: ‘, plus); end.
If5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.
Program If_5; var a, b, c, plus, minus: integer; begin write(‘Введите три целых числа: ‘); readln(a, b, c); if a > 0 then Inc(plus) else Inc(minus); if b > 0 then Inc(plus) else Inc(minus); if c > 0 then Inc(plus) else Inc(minus); writeln(‘Количество положительных чисел — ‘, plus); writeln(‘Количество отрицательных чисел — ‘, minus); end.
If6°. Даны два числа. Вывести большее из них.
Program If_6; var a, b: integer; begin write(‘Введите числа: ‘); readln(a, b); if a > b then writeln(a) else writeln(b); end.
If7. Даны два числа. Вывести порядковый номер меньшего из них.
Program If_7; var a, b: integer; begin write(‘Введите числа: ‘); readln(a, b); if a < b then writeln(1) else writeln(2); end.
If8°. Даны два числа. Вывести вначале большее, а затем меньшее из них.
Program If_8; var a, b: integer; begin write(‘Введите числа: ‘); readln(a, b); if a > b then writeln(a,’ ‘, b) else writeln(b,’ ‘, a); end.
If9. Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.
Program If_9; var a, b: integer; begin write(‘Введите A: ‘); readln(a); write(‘Введите B: ‘); readln(b); if a > b then writeln(‘A = ‘, a,’; B = ‘, b) else writeln(‘A = ‘, b,’; B = ‘, a); end.
If10. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.
Program If_10; var a, b: integer; begin write(‘Введите A: ‘); readln(a); write(‘Введите B: ‘); readln(b); if a <> b then writeln(‘A = ‘, a+b,’; B = ‘, a+b) else writeln(‘A = ‘,0,’; B = ‘,0); end.
If11. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.
Program If_11; var a, b: integer; begin write(‘Введите A: ‘); readln(a); write(‘Введите B: ‘); readln(b); if a = b then writeln(‘A = ‘,0,’; B = ‘,0) else if a > b then writeln(‘A = ‘, a,’; B = ‘, a) else writeln(‘A = ‘, b,’; B = ‘, b); end.
If12°. Даны три числа. Найти наименьшее из них.
Program If_12; var a, b, c: integer; begin write(‘Введите три числа: ‘); readln(a, b, c); if (a < b) and (a < c) then writeln(a) else if b < c then writeln(b) else writeln(c); end.
If13. Даны три числа. Найти среднее из них (то есть число, расположенное между наименьшим и наибольшим).
Program If_13; var a, b, c, srednee:integer; begin write(‘Введите три числа: ‘); readln(a, b, c); if (a > c) and (a > b) then if c > b then srednee := c else srednee := b; if (b > a) and (b > c) then if a > c then srednee := a else srednee := c; if (c > a) and (c > b) then if a > b then srednee := a else srednee := b; writeln(‘Среднее: ‘, srednee); end.
If14. Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел.
Program If_14; var a, b, c, min, max :integer; begin write(‘Введите три числа: ‘); readln(a, b, c); if (a > c) and (a > b) then max := a else if b > c then max := b else max := c; if (a < c) and (a < b) then min := a else if b < c then min := b else min := c; writeln(‘Наименьшее число: ‘, min); writeln(‘Наибольшее число: ‘, max); end.
If15. Даны три числа. Найти сумму двух наибольших из них.
Program If_15; var a, b, c :integer; begin write(‘Введите три числа: ‘); readln(a, b, c); if (a < b) and (a < c) then writeln(b+c) else if b < c then writeln(a+c) else writeln(a+b); end.
Фух! На сегодня все! Если у вас возникли какие-либо вопросы не стесняйтесь, оставляйте все свои вопросы в комментариях под статьей! И не забывайте кликать по кнопочкам и рассказывать о нас своим друзьям.
Источник: learnpascal.ru