В программе используется одномерный целочисленный массив A с индексами от до 11. Значения элементов массива A[i] приведены в таблице.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | |
14 | 13 | 15 | 8 | 4 | 12 | 30 | 21 | 22 | 16 | 5 | 9 |
Определите значение переменной s после выполнения следующего фрагмента этой программы
s := 0; n := 1; for i := 0 to 11 do if A[i] > A[n] then s := s + A[i] + i else A[n] := A[i];
s = 0 n = 1 FOR i = 0 TO 11 IF A(i) > A(n) THEN s = s + A(i) + i ELSE A(n) = A(i) END IF NEXT i
s = 0 n = 1 for i in range(0, 12): if A[i] > A[n]: s += A[i] + i else: A[n] = A[i]
s = 0; n = 1; for (int i = 0; i < 12; i++)
Ответ: 202
В программе описан одномерный целочисленный массив А с индексами от до 10.
s:=0; n:=10; for i:=0 to n-1 do begin s:= s + A[i] + A[i+1] end;
Цикл for в Java | Фрагмент лекции JavaRush — университета
В начале выполнения этого фрагмента в массиве находились двухзначные четные натуральные числа.
Какое наибольшее значение может иметь переменная s после выполнения данной программы?
Ответ: 1960
- Цикл выполняется 10 раз: от 0 до 9 (т.к. n-1).
- В цикле повторяется операция, суммирующая два подряд идущих элемента массива, — текущего и следующего:
- Данная сумма накапливается в переменной s, значение которой требуется узнать в задаче.
- Поскольку по заданию необходимо найти наибольшее значение переменной s, и по заданию элементы массива — двухзначные четные натуральные числа, то представим, что все элементы равны самому большому двухзначному четному числу — 98. Это будет оптимальным вариантом.
- В первый проход цикла получим:
- Полученная сумма будет каждый проход цикла увеличиваться на то же самое число (196):
- Так как проходов (итераций) цикла 10, то получим:
В программе описан одномерный целочисленный массив А с индексами от до 10.
s:=1; n:=10; for i:=1 to 5 do begin s:= s * A[i] * A[n-i+1] end;
В начале выполнения этого фрагмента в массиве находились однозначные четные натуральные числа.
Какое наименьшее значение может иметь переменная s после выполнения данной программы?
Ответ: 1024
- Цикл выполняется 5 раз: от 1 до 5.
- В цикле повторяется операция произведения двух элементов массива:
- Определим, какие элементы перемножаются, подставив для n и i конкретные значения:
- Результат каждой операции умножения накапливается в переменной s, значение которой и требуется найти.
- Поскольку в s накапливается произведение элементов массива, а по заданию элементы — однозначные четные натуральные числа, то представим, что в массиве все элементы равны самому малому однозначному четному числу — 2. Это будет оптимальным вариантом, т.к. по заданию, необходимо определить наименьшее значение.
- В первый проход цикла получим:
- Полученное произведение будет каждый проход цикла перемножаться на предыдущее значение (4 — в первом шаге, 16 — во втором шаге и т.п.):
- Так как проходов цикла 5, то получим:
Перестановка в массиве. Определить значение переменной
В программе используется одномерный целочисленный массив A с индексами от до 9. Значения элементов равны 3, 0, 4, 6, 5, 1, 8, 2, 9, 7 соответственно, т.е. A[0] = 3, A[1] = 0 и т.д.
Циклы FOR и WHILE в JavaScript. Директивы break и continue. Уроки JAVASCRIPT с нуля 2020
Определите значение переменной c после выполнения следующего фрагмента этой программы:
c := 0; for i := 1 to 9 do if A[i-1] > A[i] then begin c := c + 1; t := A[i]; A[i] := A[i-1]; A[i-1] := t; end;
Ответ: 5
В программе используется одномерный целочисленный массив A с индексами от до 9. Значения элементов равны 1, 3, 4, 7, 2, 9, 1, 2, 3, 0 соответственно, т.е. A[0] = 1, A[1] = 3 и т.д.
Определите значение переменной c после выполнения следующего фрагмента этой программы:
c := 0; for i := 1 to 9 do if A[i] > A[0] then begin c := c + 1; t := A[i]; A[i] := A[0]; A[0] := 2*t; end;
Читайте так же:
В какой программе делают базу данных
Ответ: 2
В программе используется одномерный целочисленный массив A с индексами от до 9. Значения элементов равны 0, 7, 1, 3, 2, 1, 8, 9, 6, 3 соответственно, т.е. A[0] = 0, A[1] = 7 и т.д.
Определите значение переменной j после выполнения следующего фрагмента этой программы:
j:=9; while A[j] + A[j-1] > 4 do begin t:=A[j]; A[j]:=A[j-1]; A[j-1]:=t; j:=j-1; end;
Ответ: 6
- В задании используется цикл while — с предусловием. Такой цикл выполняется пока условие истинно.
- В условии цикла сумма каждого элемента массива с предыдущим, начиная с девятого ( j=9 ), сравнивается с числом 4: если сумма элементов больше 4 то цикл выполняется.
- Как только встретится сумма элементов, которая меньше либо равна четырем, цикл прекратит свою работу.
- В цикле происходит обмен значений двух элементов массива, сумма которых рассматривается в условии цикла (через переменную t). Кроме того, происходит уменьшение счетчика цикла, чтобы осуществился переход к следующему элементу массива ( j:=j-1 ).
- Таким образом, надо узнать сумму элементов, начиная с элементов A[9]+A[8], затем A[8]+A[7] и т.д.:
- Последнее значение счетчика j было равно 6.
В программе используется одномерный целочисленный массив A с индексами от до 11. Значения элементов равны 20, 19, 33, 21, 42, 13, 12, 24, 4, 22, 6, 10, т.е. A[0]=20, A[1]=19 и т.д.
Определите значение переменной s после выполнения следующего фрагмента этой программы:
Ответ: 240
В программе используется одномерный целочисленный массив A с индексами от до 9. Значения элементов равны 21, 16, 7, 12, 18, 3, 8, 13, 11, 17, т.е. A[0]=21, A[1]=16 и т.д.
Определите значение переменной s после выполнения следующего фрагмента этой программы:
Паскаль:
Ответ: 75
В результате выполнения программы напечатано число 6.
Какое наибольшее значение может иметь переменная S после выполнения программы?
Паскаль:
var k, m, S, N: integer; Dat: array[1..100] of integer; begin N:= 5; m := 0; S := 0; for k := 1 to N do readln(Dat[k]); for k := 1 to N do begin S := S + 2 * Dat[k]; if Dat[k]>m then begin m := Dat[k] end end; writeln(m) end.
Читайте так же:
Виртуальный принтер что это за программа
N=5 m=0 S=0 FOR k=1 to N INPUT Dat(k) NEXT k FOR k=1 to N S = S + 2 * Dat(k) IF Dat(k) > m THEN m = Dat(k) END IF NEXT k PRINT m END
Dat = [0]*100 N = 5 m = S = 0 for k in range(0, N): Dat[k] = int(input()) for k in range(0, N): S += 2 * Dat[k] if Dat[k] > m: m = Dat[k] print(m)
Задача №20. Работа с циклами и условными операторами.
В этой задаче используется описание алгоритмов на языках программирования.
Основными используемыми конструкциями являются конструкции ветвления и циклов.
Конструкция ветвления в языке Паскаль
При этом оператор может быть простым, а может быть составным.
Составной оператор имеет структуру:
begin
end
Конструкция циклов в языке Паскаль
Цикл со счетчиком (или цикл for )
Этот цикл используется, когда число повторений не связано с тем, что происходит в теле цикла. Т.е. количество повторений может быть вычислено заранее.
В заголовке цикла указываются два значения. Первое значение присваивается так называемой переменной-счетчику, от этого значения начинается отсчет количества итераций (повторений). Отсчет идет всегда с шагом равным единице. Второе значение указывает, при каком значении счетчика цикл должен остановиться.
Другими словами, количество итераций цикла определяется разностью между вторым и первым значением плюс единица. В Паскале тело цикла не должно содержать выражений, изменяющих счетчик.
Цикл for существует в двух формах:
for := to do
for := downto do
Счетчик – это переменная любого из перечисляемых типов (целого, булевого, символьного, диапазонного, перечисления). Начальные и конечные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между начальным и конечным выражением указано служебное слово to, то на каждом шаге цикла значение параметра будет увеличиваться на единицу. Если же указано downto, то значение параметра будет уменьшаться на единицу.
Цикл с предусловием (или цикл while )
Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false – то нет.
while do
Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет зацикливание.
Цикл с постусловием (или цикл repeat )
Цикл while может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло false. Однако, бывают ситуации, когда тело цикла должно выполниться хотя бы один раз, независимо от того, что вернет логическое выражение. В таком случае используется цикл repeat – цикл с постусловием.
В цикле repeat логическое выражение стоит после тела цикла. В случае true происходит выход из цикла, в случае false – его повторение:
repeat
Тело цикла может включать в себя другой цикл. Количество вложенных циклов не ограничено.
Операции div и mod
Операция div возвращает целочисленный результат деления. При этом дробная часть будет отброшена. X div Y вернет целую часть от деления X на Y.
Например, после работы оператора z := 55 div 6, z будет равно 9.
Операция mod возвращает остаток от деления деления. X mod Y вернет остаток от деления X на Y.
Например, после работы оператора z := 55 mod 6, z будет равно 1.
Читайте так же:
В какой программе делают презентацию слайдов
Поиск наименьшего числа
Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает числа: a и b. Укажите наименьшее положительное пятизначное число x, при вводе которого алгоритм печатает сначала 6, а потом 3.
В представленном фрагменте программы тело цикла выполнится
§1. Алгоритмическая конструкция «Цикл». Операторы цикла While и Repeat
1.1 Алгоритмическая конструкция «Цикл»
Зачастую в задаче нужно повторять одни и те же действия много раз. Рассмотрим следующий пример: вывести на экран квадраты чисел от `1` до `100`.
Очевидно, что для решения этой задачи нам придётся `100` раз выполнять команду вывода соответствующего числа на экран. Писать `100` операторов вывода как-то не хочется (слишком трудоёмко), поэтому будем знакомиться с алгоритмической конструкцией, которая называется «цикл».
называется повторение фрагмента алгоритма несколько раз с возвратом в более раннюю точку исполнения алгоритма. Повторяемый при этом фрагмент алгоритма называется телом цикла.
Очевидно, что если возврат в более раннюю точку алгоритма происходит абсолютно всегда, то алгоритм никогда не доходит до своего завершения (выполняется бесконечно долго). Для предотвращения бесконечного повторения нужно поставить точку ветвления: в одной из веток будет возврат, а в другой — выход из цикла и дальнейшее продвижение по алгоритму.
В зависимости от положения точки ветвления выделяются циклы с предусловием (точка ветвления располагается перед телом цикла) и с постусловием (точка ветвления располагается после тела цикла).
1.2. Оператор while
В языке программирования есть несколько операторов цикла, реализующих как конструкцию с предусловием, так и конструкцию с постусловием. Познакомимся с ними.
Первый оператор цикла называется While и реализует алгоритмическую конструкцию с предусловием. В общем виде он записывается следующим образом:
while условие do оператор
Слова while и do являются служебными зарезервированными словами языка. Под условием (аналогично оператору if ) понимается выражение, результат вычисления которого имеет тип boolean . Работает этот оператор следующим образом. Сначала вычисляется условие. Если в результате получилось true , то мы заходим в цикл, то есть выполняем тело цикла и возвращаемся вновь к вычислению условия.
Если же получилось false , то происходит переход к следующему оператору в программы, и входа в цикл не будет. Фактически оператор while является многократным применением оператора if с пустой веткой else . Аналогично оператору if , тело цикла должно состоять из `1` оператора. Если нужно исполнить несколько, то следует использовать операторные скобки ( begin end ).
Возможна ситуация, когда цикл будет выполняться бесконечное количество раз (зациклится). Например, while 2*2=4 do… Что написать после do, совершенно не важно, важно, что оно будет выполняться, пока 2*2=4 , а это всегда так, и никогда не изменится. Значит, чтобы избегать зацикливания, параметры условия должны быть переменными, например while x*x=4 do … Хотя это тоже не гарантирует отсутствие зацикливания. Поэтому при написании программ нужно всегда внимательно следить за тем, какие условия мы пишем в операторе цикла, чтобы не случилось ситуации зацикливания.
Также обратите внимание, что поскольку условие проверяется до входа в цикл, возможна ситуация, что при первой же проверке получится значение false и, соответственно, в цикл мы вообще не зайдём.
1.3. Примеры задач
Рассмотрим несколько примеров задач на оператор цикла.
Дано целое число, не меньшее `2`. Выведите его наименьший натуральный делитель, отличный от `1`.
Для решения этой задачи нам необходимо перебирать натуральные числа, начиная с двух и проверять каждое из них, не является ли оно делителем исходного числа. Процесс завершается, когда делитель найден. Очевидно, что процесс завершится всегда, поскольку в худшем случае число разделится само на себя. Приведём код программы.
Источник: pmonline.ru
Вопросы для самопроверки по теме 6
Задание № 1. Перечислите основные свойства алгоритма.
Задание № 2. Приведѐн алгоритм процедуры «ABCD» в псевдокоде: Начать
Писать («Введите «A,B,C,D») Читать(A,B,C,D)
Если A=B то Если С
Запишите этот алгоритм математическим языком на бумаге.
Задание № 3. Определите, какими будут значения Х и Y на выходе из этого алгоритма:
Задание № 4. Определите значение переменной D после выполнения алгоритма (mod(х,у) – целый остаток от деления):
при mod(k,12)=7: D:=k при mod(k,12)9: D:=3 иначе D:=1
Задание № 5. При какой организации цикла может случиться, что те- ло цикла не выполнится ни разу.
Задание № 6. Представлен фрагмент программы: Y:=X+5; X:=Y; Y:=X+Y; вывод Y
Определите значение переменной Х перед входом в этот фрагмент, если известно, что после выполнения этого фрагмента пе- ременная Y приняла значение 14.
Задание № 6. Укажите вариант описания, соответствующий циклу с постусловием:
1. пока условие истинно, выполнять оператор;
2. выполнять оператор, пока условие ложно;
3. выполнять оператор заданное число раз;
4. если условие истинно, выполнять оператор, иначе – остано- виться.
Задание № 8. Определите, сколько раз тело цикла выполняется в представленном фрагменте:
Начало цикла: пока D >= B D := D – B
Задание № 9. Определите вид вывода результатов в предложенном фрагменте программы:
вывод («X=»,X,» X letter-spacing:-3.6pt»> 1. X=5 X=712
2. «X=»,5,» X margin-left:58.1pt;line-height:17.2pt;text-autospace: none»> 3. X=5 X=7 12
4. «X=»,X,» X font-size:12.0pt;line-height:107%;font-family:»Times New Roman»,serif»>
Вопросы для самопроверки по теме 6
Задание № 6. Укажите вариант описания, соответствующий циклу с постусловием: 1
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
Источник: znanio.ru
В представленном фрагменте программы. тело цикла выполнится
Задан двумерный массив
После выполнения фрагмента алгоритма
В:= 10
нц для I от 1 до 2
нц для J от 1 до 2
Все кц кц
+О 6
Значение Y в результате выполнения алгоритма
ввод А, В, С, X
Y:= (А+С)/В*Х
вывод Y
при вводе значений: 10,3,14,4, будет равно.
+О 32
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Об этом полезно знать:
Стадии бюджетного процесса Бюджетный процесс – это сложный правовой механизм, в котором выделяются следующие стадии.
Ответ 2 Критерий Балл Комментарий. К1 Смысл высказывания раскрыт. К2 Избранная тема раскрывается с.
Понятие и правовая охрана земель Охрана земель — это система правовых, организационных, экономических и других мероприятий, направленных на их рациональное.
ПРИМЕРЫ ФОРМУЛИРОВКИ КЛИНИЧЕСКОГО ДИАГНОЗА ПРИ ТЕРАПЕВТИЧЕСКИХ ЗАБОЛЕВАНИЯХ Примеры формулировки диагнозов при патологии органов кровообращения: 1.
Аргументы финансовых функций Excel анализа инвестиций Аргумент Назначение аргумента Даты (дата1, …,датаN) Расписание дат платежей, соответствующее ряду денежных потоков.
Источник: studopedia.ru