Какой смысл имеет результат s этого алгоритма определите значение целочисленных переменных x и y
Перейти к содержимому

Какой смысл имеет результат s этого алгоритма определите значение целочисленных переменных x и y

  • автор:

Ответы по параграфу 2.4 Основные алгоритмические конструкции

Учебник по Информатике 8 класс Босова

Задание 1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.

Презентации: Основные алгоритмические конструкции. Следование – Скачать презентацию
Основные алгоритмические конструкции. Ветвление – Скачать презентацию
Основные алгоритмические конструкции. Повторение – Скачать презентацию

Задание 2. Какие алгоритмы называются линейными? Зависит ли в линейном алгоритме последовательность выполняемых действий от исходных данных?

Линейные алгоритмы – алгоритмы, в которых используется алгоритмическая конструкция «Следование», отображающая естественный, последовательный порядок действий.
В линейном алгоритме не зависит последовательность выполняемых действий от исходных данных, так как алгоритм выполняет последовательный порядок действий без повторов.

Задание 3. Приведите пример линейного алгоритма.

а) из повседневной жизни:
Алгоритм как собраться в школу
1. Поставить будильник на 7 00 утра
2. Проснуться в 7 00
3. Выключить будильник
4. Пойти умываться
5. Позавтракать
6. Собрать учебники , тетради, пенал
7. Одеться
8. Взять вторую обувь
9. Выйти из дома.

б) из литературного произведения:
Алгоритм как разбудить ребенка из стихотворения
1. Лучик солнечный проснулся,
2. Улыбнулся,
3. потянулся
4. И пошёл будить сестричек —
Маленьких весёлых птичек.
5. Птички песенку запели,
6. И проснулся лес от трели.
7. Нежно глазки открывая,
Встала феечка лесная,
8. Разбудила медвежат,
И зайчаток, и мышат,
9. Полетела помогать
Всех девчонок поднимать.
10. Сядет фея на подушку,
11. «С добрым утром!» — шепнёт в ушко,
12. Поцелует нос и щёчки
Маминой любимой дочке,
13. Тихо скажет: «Динь-дилень!
Пусть хорошим будет день!»

в) из любой предметной области, изучаемой в школе:
Построение таблиц истинности для логических выражений
1. подсчитать n — число переменных в выражении;
2. подсчитать общее число логических операций в выражении;
3. установить последовательность выполнения логических операций с учётом скобок и приоритетов;
4. определить число столбцов в таблице: число переменных + число операций;
5. заполнить шапку таблицы, включив в неё переменные и операции в соответствии с последовательностью, установленной в п.3;
6. определить число строк в таблице (не считая шапки таблицы): m=2 n ;
7. выписать наборы входных переменных с учётом того, что они представляют собой целый ряд n-разрядных двоичных чисел от 0 до 2 n — 1;
8. провести заполнение таблицы по столбцам, выполняя логические операции в соответствии с установленной последовательностью.

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

алг Узор нач Вправо Закрасить Вправо Закрасить Вправо Вниз Закрасить Вниз Закрасить Вниз Влево Закрасить Влево Закрасить Влево Вверх Закрасить Вверх Закрасить Вверх кон 

Задание 5. По алгоритму восстановите формулу.
a1 :=1/x
а2:=a1/x
а3:=а2/х
а4:=а3/х
y:=a1+a2
у:=у+а3
у:=у+а4

Задание 6. Какое значение получит переменная у после выполнения алгоритма?

х:=1 х:=1 x
у:=2*х 2*1=2 2
у:=у+3 2+3=5 2x+3
у:=у*х 5*1=5 (2х+3)х
у:=у+4 5+4=9 (2х+3)х+4
у:=у*х 9*1=9 ((2х+3)х+4)х
у:=у+5 9+5=14 ((2х+3)х+4)х+5

Восстановите формулу вычисления у для произвольного значения X.
Ответ: у = ((2х + 3)х + 4)х + 5; у = 14 при х= 1.

Задание 7. Для заданного количества суток (tfh) требуется определить количество часов (h), минут (т) и секунд (с).

Алгоритм tfh 1 2 1/2
h:=tfh*24 h 24 48 12
m:=h*60 m 1440 2880 720
c:=m*60 c 86400 172800 43200

Задание 8. Известно, что 1 миля =7 вёрст, 1 верста = 500 саженей, 1 сажень – 3 аршина, 1 аршин = 28 дюймов, 1 дюйм = 25,4 мм. Пользуясь этой информацией, составьте линейный алгоритм перевода расстояния X миль в километры.

K – коэффициент для перевода из миль в км; 1 миля = 7 вёрст, 1 верста = 500 саженей, 1 сажень = 3 аршина, 1 аршин = 28 дюймов, 1 дюйм = 25,4 мм, 1 км = 106 мм 1м = 1000 мм и 1 км = 1000 м, поэтому 106

алг Перевод расстояния Х миль в км арг К, х, у - вещественное число рез у нач К := 7 * 500 * 3 * 28 * 25,4 / 106 у: = К * х кон

Задание 9. Исходное данное — целое трёхзначное число х. Выполните для х = 125 следующий алгоритм.
a:=x div 100
b:=x mod 100 div 10
c:=x mod 10
s :=a+b+c
Какой смысл имеет результат s этого алгоритма?

Смысл результата – это сумма цифр числа х

Задание 10. Определите значение целочисленных переменных х и у после выполнения алгоритма.
х:=336
У:=8
х:=х div у
у:=х mod у

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

Алгоритмы, в основе которых лежит структура «ветвление», называют разветвляющимися.
Нет не согласен, при разветвляющимися алгоритме, в зависимости от результатов проверки условия, выполняется одна из двух последовательностей действий.

Задание 12. Приведите пример разветвляющегося алгоритма.

а) из повседневной жизни:
Подготовка домашнего задания
1. Определить список уроков на завтра по расписанию.
2. Если завтра есть математика или физика, то позаниматься с репетитором.
Если нет, перейти к п.4.
4. Определить, что задали по каждому уроку из расписания на завтра.
5. Выполнить домашнее задание по каждому уроку.

Или вот такой:
Погреть себе еды
1. Взять тарелку.
2. Если тарелка гразная, помыть ее.
3. Положить еду.
4. Поставить в микроволновку.

б) из литературного произведения:
Как обвенчаться
Ромео и Джульета влюбляются друг в друга.
Если их семьи враждуют, венчаться тайно. В противном случае играть пышную свадьбу.

в) из любой предметной области, изучаемой в школе.

алг правописание частиц НЕ, НИ нач если частица под ударением то писать НЕ иначе писать НИ все кон

Задание 13. Дополните алгоритм из примера 9 так, чтобы с его помощью можно было найти наибольшую из четырёх величин А, В, С и D.

Дополните алгоритм из примера 9 так

Задание 14. Составьте алгоритм, с помощью которого можно определить, существует ли треугольник с длинами сторон а, b, с.

Составьте алгоритм, с помощью которого можно определить, существует ли

Треугольник не будет существовать, если сумма длин 2 любых сторон будет меньше и равна длине третьей стороны.

Задание 15. Составьте алгоритм, с помощью которого можно определить, является ли треугольник с заданными длинами сторон а, b, с равносторонним.

Составьте алгоритм, с помощью которого можно определить, является ли т

Задание 16. Составьте алгоритм возведения чётного числа в квадрат, а нечётного – в куб.

Задание 17. Какая задача решается с помощью следующего алгоритма?

Ответ: Данный алгоритм считает количество неотрицательных чисел среди двух чисел A и B.

Задание 18. Составьте блок-схему алгоритма определения количества чётных чисел среди заданных целых чисел А, B и С.

Задание 19. Составьте блок-схему алгоритма определения принадлежности точки x отрезку [a, b] (пример 8) с использованием комбинации из двух ветвлений.

Пример 8 из учебника:

Решение:

Задание 20. Составьте блок-схему алгоритма правописания приставок, оканчивающихся на букву «з».

Задание 21. Известно, что 31 января 2011 года было понедельником. Какие значения должны быть присвоены литерной переменной у в алгоритме, определяющем день недели для произвольного числа (chislo) января 2011 года?

chislo:=chislo mod 7
если chislo=3 то y:=’Понедельник’
если chislo=4 то y:=’Вторник’
если chislo=5 то y:=’Среда’
если chislo=6 то y:=’Четверг’
если chislo=0 то y:=’Пятница’
если chislo=1 то y:=’Суббота’
если chislo=2 то y:=’Воскресенье’

Сначала найдём понедельник 31-го января по формуле: chislo:=chislo mod 7, где chislo = 31.
31 mod 7 = 31/7 (ост) = 31 – 4*7 = 31-28 = 3
То есть, для chislo = 3 будет y=’Понедельник’
Найдём для остальных дней января:
30 mod 7 = 2 – то есть будет воскресенье для chislo=2, так как предыдущий день. И так далее.

Задание 22. Даны две точки на плоскости. Определите, какая из них находится ближе к началу координат.

Посмотрите задание 145 из рабочей тетради.
Нам нужно посчитать сначала 2 расстояния по координатам, и потом их сравнить. Ответом будет минимальное.

Алгоритм:
1. Определить координаты точки А.
2. Присвоить значение переменной хА – координата точки А по оси х.
3. Присвоить значение переменной уА – координата точки А по оси у.
4. Присвоить значение переменной RА: = sqrt(xA^2 +yA^2). Это расстояние точки А до начала координат.
5. Определить координаты точки В.
6. Присвоить значение переменной хВ – координата точки В по оси х.
7. Присвоить значение переменной уВ – координата точки В по оси у.
8. Присвоить значение переменной RВ: = sqrt(xВ^2 +yВ^2). Это расстояние точки В до начала координат.
9. Если RА < RВ , вывести ответ «Точка А ближе к началу координат». Иначе выполнить условие:
10. Если RА> RВ, вывести ответ «Точка В ближе к началу координат». Иначе вывести ответ «Точки А и В равноудалены от начала координат».

Задание 23. Определите, есть ли среди цифр заданного целого трёхзначного числа одинаковые.

Задание 146 в рабочей тетради. Для это вспоминаем задачку, которая раскладывала трехзначное число на цифры a, b, c и потом их складывала в S. Используем оттуда готовые формулы, чтобы присвоить нашим переменным a, b, c соответствующие значения. А потом останется только сравнить a, b, c между собой. Это была задача 129 в раб.тетради и зад. 9 в данном учебнике. Оттуда берем первые шаги по присвоению a, b, c.

алг Определение наличия одинаковых цифр в трехзначном числе арг цел x, a, b, c, лит R рез R нач ввести Х a:=x div 100 b:=x mod 100 div 10 c:=x mod 10 если (a=b) and (a=c) and (b=c) то R:= «В данном числе есть одинаковые цифры» иначе R:= «В данном числе все цифры разные» все вывести R кон

Задание 24. Приведите пример циклического алгоритма:

а) из повседневной жизни:
нц пока день недели НЕ «воскресенье»
встать пораньше, собраться, идти в школу
кц

б) из литературного произведения:
Он затаился в темноте. Мими украдкой переглядывалась с ним. Она стояла на противоположной стороне улицы. Салим смотрел на нее и ждал, пока она одернет юбку, — такой условный сигнал они установили. Она стояла чуть в стороне от остальных девушек, не обращая внимания на машины, которые останавливались рядом. Сегодня ей предстояло другое.
затаиться в темноте
нц
перегянуться и наблюдать
кц при она одернет юбку

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

Задание 25. Напишите алгоритм, под управлением которого Робот обойдёт прямоугольную область, обнесённую стеной, по периметру и закрасит угловые клетки. Размеры области неизвестны.

нач закрась нц пока справа свободно вправо кц закрась нц пока снизу свободно вниз кц закрась нц пока слева свободно влево кц закрась кон

Задание 26. Запас рыбы в пруду оценён в А тонн. Ежегодный прирост рыбы составляет 15%. Ежегодный план отлова – В тонн. Наименьший запас рыбы составляет С тонн. (Запас ниже С тонн уже не восстанавливается.) Составьте блок-схему алгоритма для подсчёта количества лет, в течение которых можно выдерживать заданный план.

В цикле будет:
1) Запас А:= А + 0.15*А – В
2) Прибавить год N:=N+1

Используем Цикл с заданным условием окончания работы (цикл-ДО, цикл с постусловием).
До А < С все будет работать. Потом план выполняться уже не будет, т.к. запас рыб не восполнится.

Задание 27. Дана последовательность 5, 9, 13, 17, . . Составьте блок-схему алгоритма для определения числа слагаемых, сумма которых равна 324.

Задание 28. Составьте алгоритм для определения количества цифр в записи произвольного натурального числа.

Используем функцию DIV 10 , чтобы каждый раз сокращать на 1 разряд до тех пор, пока результат такого деления не приведет к 0, т.е. , например, 5 div 10 получаем 0 целых.
Число будет А — натуральное. Для подсчета количества операций вводим N – тоже натуральное число.

Задание 29. Сумма 10 000 рублей положена в сберегательный банк, при этом прирост составляет 5% годовых. Составьте алгоритм, определяющий, через какой промежуток времени первоначальная сумма увеличится в два раза.

Задание 30. Одноклеточная амёба каждые три часа делится на 2 клетки. Составьте алгоритм вычисления времени, через которое будет X амёб.

Задание 31. Определите значения переменных n, m после выполнения алгоритма.



Ответ: n=32, m=5.

Задание 32. Исполнитель Чертежник находится в произвольной точке координатной плоскости.

а) Выясните, где окажется Чертежник после выполнения следующего алгоритма:

алг нач нц 6 раз сместиться на вектор (4, 6) сместиться на вектор (-2, -4) кц сместиться на вектор (-12, -12) кон

Ответ: Чертежник окажется на исходной точке.

б) После выполнения следующего алгоритма Чертёжник вернулся в исходную точку. Какие числа надо записать вместо a и b?

алг нач нц 7 раз сместиться на вектор (0, 2) сместиться на вектор (a, 0) сместиться на вектор (0, b) сместиться на вектор (-1, 0) кц сместиться на вектор (-7, -7) кон

Ответ: a = 2, b = -1.

Задание 33. Составьте алгоритм нахождения произведения z двух натуральных чисел х и у без использования операции умножения.

Произведение чисел x и y можно получить в виде суммы, состоящая из y слагаемых, каждое из которых равно x:
x * y = x + x + … + x.
Начальное значение z = 0. Когда мы добавляем слагаемое в сумму, количество слагаемых, которое нужно еще добавить, уменьшается на 1. Суммирование продолжается, пока количество слагаемых больше нуля.

Задание 34. Население города Н увеличивается на 5% ежегодно. В текущем году оно составляет 40 000 человек. Составьте блок-схему алгоритма вычисления предполагаемой численности населения города через 3 года. Составьте таблицу значений переменных, задействованных в алгоритме.

Используем цикл с заданным числом повторений (цикл – ДЛЯ, цикл с параметром).
Переменная А — численность населения.

Задание 35. Каждая бактерия делится на две в течение 1 минуты. В начальный момент имеется одна бактерия. Составьте блок-схему алгоритма вычисления количества бактерий через 10 минут. Исполните алгоритм, фиксируя каждый его шаг в таблице значений переменных.


Задание 36. Согласные ли вы со следующими утверждениями:

а) Короткие алгоритмы могуть описывать длинные последовательности действий.
Я думаю, что могут. К примеру можно записать короткий алгоритм с циклом, но действий повторяться может много.

б) Краткость алгоритма и скорость его выполнения совпадают?
Также и тут, если алгоритм короткий но с циклом, который может повториться множество раз, он может уступить по скорость длинному алгоритму но с линейной последовательностью.

Решение заданий из учебника Информатика 8 класс Босова, параграф 2.4 Основные алгоритмические функции. Следование, ветвление, повторение.

Помогите вспомнить как решать эти задачи?

1) Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
a := 3 + 8*4;
b := (a div 10) + 14;
a := (b mod 10) + 2;
1) a = 0, b = 18 2) a = 11, b = 19 3) a = 10, b = 18 4) a = 9, b = 17
2) Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
a := 1819;
b := (a div 100)*10+9;
a := (10*b–a) mod 100;
1) a = 81, b = 199 2) a = 81, b = 189 3) a = 71, b = 199 4) a = 71, b = 189
3) Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
a := 42;
b := 14;
a := a div b;
b := a*b;
a := b div a;
1) a = 42, b = 14 2) a = 1, b = 42 3) a = 0, b = 588 4) a = 14, b = 42
4) Определите значение целочисленных переменных x, y и t после выполнения фрагмента программы:
x := 5;
y := 7;
t := x;
x := y mod x;
y := t;
1) x=2, y=5, t=5 2) x=7, y=5, t=5 3) x=2, y=2, t=2 4) x=5, y=5, t=5
5) Определите значение целочисленных переменных a и b после выполнения фрагмента программы:
а :=6*12 + 3;
b :=(a div 10)+ 5;
a :=(b mod 10)+ 1;
1) a = 1, b = 10 2) a = 3, b = 12 3) a = 4, b = 16 4) a = 10, b = 20

6) Определите значение целочисленных переменных x и y после выполнения фрагмента программы:
x := 336
У := 8;
x := x div y;
y := х mod у;
1) x = 42, y = 2 2) x = 36, y = 12 3) x = 2, y = 24 4) x = 24, y = 4

А6Задачи для тренировки :
1) Значения двух массивов A[1..100] и B[1..100] задаются с помощью следующего фрагмента программы:
for n:=1 to 100 do
A[n] := n — 10;
for n:=1 to 100 do
B[n] := A[n]*n;
Сколько элементов массива B будут иметь положительные значения?
1) 10 2) 50 3) 90 4) 100
2) Все элементы двумерного массива A размером 10х10 элементов первоначально были равны 0. Затем значения элементов меняются с помощью вложенного оператора цикла в представленном фрагменте программы:
for n:=1 to 4 do
for k:=n to 4 do begin
A[n,k] := A[n,k] + 1;
A[k,n] := A[k,n] + 1;
end;
Сколько элементов массива в результате будут равны 1?
1) 0 2) 16 3) 12 4) 4
3) Значения двумерного массива задаются с помощью вложенного оператора цикла в представленном фрагменте программы:
for n:=1 to 5 do
for k:=1 to 5 do
B[n,k] := n + k;
Чему будет равно значение B(2,4)?
1) 9 2) 8 3) 7 4) 6
4) Дан фрагмент:
for n:=l to 6 do
for m:=l to 5 do begin
C[n,m]:=C[n,m]+(2*n-m);
end;
Чему будет равно значение С[4,3], если перед этими командами значение С[4,3]=10?
1) 5 2) 10 3) 15 4) 25
5) Значения элементов двух массивов А и В размером 1 х 100 задаются с помощью следующего фрагмента программы:
for i:=1 tо 100 do
A := 50 – i;
for i:=1 tо 100 do
B := A + 49;
Сколько элементов массива В будут иметь отрицательные значения?
1) 1 2) 10 3) 50 4) 100
6) Значения элементов двумерного массива А были равны 0. Затем значения некоторых элементов были изменены (см. представленный фрагмент программы):
n := 0;
for i:=1 tо 5 do
for j:=1 tо 6-i do begin
n := n + 1;
A[i,j] := n;
end;
Какой элемент массива будет иметь в результате максимальное значение?
1) A[1,1] 2) A[1,5] 3) A[5,1] 4) A[5,5]

Лучший ответ

Пишется табличка — действие, значение каждой переменной после выполнения действия. Например:
__________________________a______________b
a := 3 + 8*4; _______________35______________?
b := (a div 10) + 14; __________35_____________17
a := (b mod 10) + 2; _________9______________17

Уроки 17 — 22
§ 2.4. Основные алгоритмические конструкции

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

Графическое представление алгоритмической конструкции «следование» приведено на рис. 2.8.

Рис. 2.8. Алгоритмическая конструкция «следование»

Пример 1. Линейный алгоритм приготовления отвара шиповника.

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

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

Пример 3. Дан фрагмент линейного алгоритма:

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

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

Пример 4. Некоторый исполнитель может выполнять над целыми числами кроме операций сложения, вычитания, умножения и деления ещё две операции: с помощью операции div вычисляется целое частное, с помощью операции mod — остаток.

Например: 5 div 2 = 2; 5 mod 2 = 1; 2 div 5 = 0; 2 mod 5 = 2.

Покажем, как с помощью этих операций можно реализовать алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим количеством банкнот по 500 (k500), 100 (k100), 50 (k50) и 10 (k10) рублей.

Исполните алгоритм для s = 745 и s = 1864. Составьте соответствующие таблицы значений переменных.

Ознакомьтесь с имеющимся в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Линейные алгоритмы» (217039). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.

2.4.2. Ветвление

Ветвление — алгоритмическая конструкция, в которой в зависимости от результата проверки условия («да» или «нет») предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура «ветвление», называют разветвляющимися.

Блок-схема ветвления представлена на рис. 2.9. Каждая ветвь может быть любой степени сложности (рис. 2.9, а), а может вообще не содержать предписаний (рис. 2.9, б).

Рис. 2.9. Структура «ветвление»: а — полная форма ветвления; б — неполная форма ветвления

На алгоритмическом языке команда ветвления записывается так:

Для записи условий, в зависимости от результатов проверки которых выбирается та или иная последовательность действий, используются операции сравнения:

ААА=B — А равно В;
А>В — А больше В;
А>=В — А больше или равно В;
А<>B — А не равно В.

Здесь буквы А и В можно заменять на любые переменные, числа и арифметические выражения. Приведённые операции сравнения допускаются и для символьных переменных.

Пример 7. Алгоритм вычисления функции f(x) = |x| для произвольного числа х.

Обратите внимание на второй блок этой блок-схемы. В нём представлены имена и типы величин (данных), обрабатываемых в алгоритме.

Условия, состоящие из одной операции сравнения, называются простыми. В качестве условий при организации ветвлений можно использовать и составные условия. Составные условия получаются из простых с помощью логических связок and (и), or (или), not (не): and означает одновременное выполнение всех условий, or — выполнение хотя бы одного условия, a not означает отрицание условия, записанного за словом not.

Пример 8. Алгоритм определения принадлежности точки х отрезку [а, b]. Если точка х принадлежит данному отрезку, то выводится ответ ДА, в противном случае — НЕТ.

Существует достаточно много ситуаций, в которых приходится выбирать не из двух, а из трёх и более вариантов. Есть разные способы построения соответствующих алгоритмов. Один из них — составить комбинацию из нескольких ветвлений.

Пример 9. Алгоритм, в котором переменной У присваивается значение большей из трёх величин А, В и С.

Пусть А = 10, В = 30 и С = 20. Тогда процесс выполнения алгоритма можно представить в следующей таблице:

Пример 10. Алгоритм решения линейного уравнения ax + b = 0.

Пример 11. Исполнитель Робот может выполнять ту или иную последовательность действий в зависимости от выполнения следующих простых условий:

Также Робот может действовать в зависимости от выполнения составных условий.

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

Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Алгоритмы с ветвящейся структурой» (217044). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.

2.4.3. Повторение

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

В зависимости от способа организации повторений различают три типа циклов:

1) цикл с заданным условием продолжения работы;
2) цикл с заданным условием окончания работы;
3) цикл с заданным числом повторений.

Цикл с заданным условием продолжения работы (цикл-ПОКА, цикл с предусловием). Логика работы этой конструкции описывается схемой, показанной на рис. 2.10.

Рис. 2.10. Цикл с предусловием

На алгоритмическом языке эта конструкция записывается так:

Выполняется цикл-ПОКА следующим образом: 1) проверяется условие (вычисляется значение логического выражения); 2) если условие удовлетворяется (Да), то выполняется тело цикла и снова осуществляется переход к проверке условия; если же условие не удовлетворяется, то выполнение цикла заканчивается. Возможны случаи, когда тело цикла не будет выполнено ни разу.

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

Пример 13. Правее Робота (клетка со звёздочкой) расположен коридор неизвестной длины. Необходимо, чтобы Робот закрасил все клетки этого коридора.

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

Соответствующий алгоритм для Робота будет иметь вид:

нц пока справа свободно
вправо
закрась
кц

Пример 14. Требуется, не пользуясь операцией деления, получить частное q и остаток r от деления натурального числа х на натуральное число у.

Представим операцию деления как последовательные вычитания делителя из делимого. Причём вычитать будем до тех пор, пока результат вычитания не станет меньше вычитаемого (делителя). В этом случае количество вычитаний будет равно частному от деления q, а последняя разность — остатку от деления r.

Исполним этот алгоритм для х = 23 и у = 5.

Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Циклические алгоритмы с предусловием» (217033). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.

Цикл с заданным условием окончания работы (цикл-ДО, цикл с постусловием). Логика работы этой конструкции описывается схемой, показанной на рис. 2.11.

Рис. 2.11. Цикл с постусловием

На алгоритмическом языке эта конструкция записывается так:

Выполняется цикл-ДО следующим образом: 1) выполняется тело цикла; 2) проверяется условие (вычисляется значение логического выражения); если условие не удовлетворяется («Нет»), то снова выполняется тело цикла и осуществляется переход к проверке условия; если же условие удовлетворяется, то выполнение цикла заканчивается. В любом случае тело цикла будет выполнено хотя бы один раз.

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

Пример 16. Вычислим значение переменной b согласно следующему алгоритму:

Составим таблицу значений переменных, задействованных в алгоритме:

Пример 17. Спортсмен приступает к тренировкам по следующему графику: в первый день он должен пробежать 10 км; каждый следующий день следует увеличивать дистанцию на 10% от нормы предыдущего дня. Как только дневная норма достигнет или превысит 25 км, необходимо прекратить её увеличение и далее пробегать ежедневно ровно 25 км. Начиная с какого дня спортсмен будет пробегать 25 км?

Пусть х — количество километров, которое спортсмен пробежит в некоторый i-й день. Тогда в следующий (i + 1)-й день он пробежит х + 0,1x: километров (0,1x — это 10% от х).

Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Циклические алгоритмы с постусловием» (217037). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.

Цикл с заданным числом повторений (цикл-ДЛЯ, цикл с параметром). Логика работы этой конструкции описывается схемой, показанной на рис. 2.12.

Рис. 2.12. Цикл с параметром

На алгоритмическом языке эта конструкция записывается так:

нц для i от i1 до i2 шаг R

кц

В цикле-ДЛЯ всегда есть параметр цикла — величина целого типа, изменяющаяся в ходе выполнения цикла от своего начального значения i1 до конечного значения i2 с шагом R.

Выполняется цикл-ДЛЯ следующим образом: 1) параметру цикла присваивается начальное значение; 2) параметр цикла сравнивается с конечным значением; если параметр цикла не превышает конечное значение, то выполняется тело цикла, увеличивается значение параметра цикла на шаг и снова осуществляется проверка параметра цикла; если же параметр цикла превышает конечное значение, то выполнение цикла заканчивается.

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

В отличие от двух предыдущих конструкций (цикл-ПОКА, цикл-ДО) цикл-ДЛЯ имеет строго фиксированное число повторений, что позволяет избежать зацикливания, т. е. ситуации, когда тело цикла выполняется бесконечно.

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

Пример 19. Составим алгоритм вычисления степени с натуральным показателем п для любого вещественного числа а.

При составлении алгоритма воспользуемся единой формулой, в которой число умножений равно показателю степени:

Исполним этот алгоритм для a = 4 и n = 3.

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

нц pas
кц

Так, если правее Робота не встретится препятствий, то, выполнив приведённый ниже алгоритм, он переместится на пять клеток вправо и закрасит эти клетки:

Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Циклические алгоритмы с параметром» (217024). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.

САМОЕ ГЛАВНОЕ

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

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

Ветвление — алгоритмическая конструкция, в которой в зависимости от результата проверки условия («да» или «нет») предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура «ветвление», называют разветвляющимися.

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

1) цикл с заданным условием продолжения работы;
2) цикл с заданным условием окончания работы;
3) цикл с заданным числом повторений.

Вопросы и задания

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

2. Какие алгоритмы называются линейными?

3. Приведите пример линейного алгоритма:

а) из повседневной жизни;
б) из литературного произведения;
в) из любой предметной области, изучаемой в школе.

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

5. По алгоритму восстановите формулу.

6. Какое значение получит переменная у после выполнения алгоритма?

Восстановите формулу вычисления у для произвольного значения X.

7. Для заданного количества суток (tƒh) требуется определить количество часов (h), минут (m) и секунд (с).

8. Известно, что 1 миля = 7 вёрст, 1 верста = 500 саженей, 1 сажень = 3 аршина, 1 аршин = 28 дюймов, 1 дюйм = 25,4 мм. Пользуясь этой информацией, составьте линейный алгоритм перевода расстояния X миль в километры.

9. Исходное данное — целое трёхзначное число х. Выполните для х = 125 следующий алгоритм.

а:=х div 100
b:=x mod 100 div 10
с: =х mod 10
s:=a+b+c

Какой смысл имеет результат s этого алгоритма?

10. Определите значение целочисленных переменных x и y после выполнения алгоритма.

11. Какие алгоритмы называют разветвляющимися?

12. Приведите пример разветвляющегося алгоритма:

а) из повседневной жизни;
б) из литературного произведения;
в) из любой предметной области, изучаемой в школе.

13. Дополните алгоритм из примера 9 так, чтобы с его помощью можно было найти наибольшую из четырёх величин А, В, С и D.

14. Составьте алгоритм, с помощью которого можно определить, существует ли треугольник с длинами сторон а, b, с.

15. Составьте алгоритм, с помощью которого можно определить, является ли треугольник с заданными длинами сторон а, b, с равносторонним.

16. Составьте алгоритм возведения чётного числа в квадрат, а нечётного — в куб.

17. Какая задача решается с помощью следующего алгоритма?

18. Составьте блок-схему алгоритма определения количества чётных чисел среди заданных целых чисел А, Б и С.

19. Составьте блок-схему алгоритма определения принадлежности точки X отрезку [А, B] (пример 8) с использованием комбинации из двух ветвлений.

20. Составьте блок-схему алгоритма правописания приставок, оканчивающихся на букву «з».

21. Известно, что 31 января 2011 года было понедельником. Какие значения должны быть присвоены литерной переменной у в алгоритме, определяющем день недели для произвольного числа (chislo) января 2011 года?

22. Даны две точки на плоскости. Определите, какая из них находится ближе к началу координат.

23. Определите, есть ли среди цифр заданного целого трёхзначного числа одинаковые.

24. Приведите пример циклического алгоритма:

а) из повседневной жизни;
б) из литературного произведения;
в) из любой предметной области, изучаемой в школе.

25. Напишите алгоритм, под управлением которого Робот обойдёт прямоугольную область, обнесённую стеной, по периметру и закрасит угловые клетки. Размеры области неизвестны.

26. Запас рыбы в пруду оценён в А тонн. Ежегодный прирост рыбы составляет 15%. Ежегодный план отлова — В тонн. Наименьший запас рыбы составляет С тонн. (Запас ниже С тонн уже не восстанавливается.) Составьте блок-схему алгоритма для подсчёта количества лет, в течение которых можно выдерживать заданный план.

27. Дана последовательность 5, 9, 13, 17, . Составьте блок-схему алгоритма для определения числа слагаемых, сумма которых равна 324.

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

29. Сумма 10 000 рублей положена в сберегательный банк, при этом прирост составляет 5% годовых. Составьте алгоритм, определяющий, через какой промежуток времени первоначальная сумма увеличится в два раза.

30. Одноклеточная амёба каждые три часа делится на 2 клетки. Составьте алгоритм вычисления времени, через которое будет X амёб.

31. Определите значения переменных n и m после выполнения алгоритма.

32. Составьте алгоритм нахождения произведения z двух натуральных чисел х и у без использования операции умножения.

33. Население города Н увеличивается на 5% ежегодно. В текущем году оно составляет 40 000 человек. Составьте блок-схему алгоритма вычисления предполагаемой численности населения города через 3 года. Составьте таблицу значений переменных, задействованных в алгоритме.

34. Каждая бактерия делится на две в течение 1 минуты. В начальный момент имеется одна бактерия. Составьте блок-схему алгоритма вычисления количества бактерий через 10 минут. Исполните алгоритм, фиксируя каждый его шаг в таблице значений переменных.

Электронное приложение к уроку

Файлы Материалы урока Ресурсы ЭОР

Cкачать материалы урока

Алгоритмы (cамостоятельная работа)

Самостоятельная работа позволить проверить общие сведения о программировании алгоритмов на языке Паскаль.

Германова Мария Юрьевна

Описание разработки

3 задание: Определите значение целочисленных переменных x и y после выполнения фрагмента алгоритма.

4 задание: Исходное данное — целое трёхзначное число x. Выполните для x = 125 следующий алгоритм.

b:=x mod 100 div 10

Чем является результат s этого алгоритма?

5 задание: Определите значение переменных

Алгоритмы (cамостоятельная работа)

6 задание: Определите значение переменных

Полную информацию смотрите в файле.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *