- Программирование разветвляющихся алгоритмов
- 3.4.2. Составной оператор
- 3.4.3. Многообразие способов записи ветвлений
- САМОЕ ГЛАВНОЕ
- Вопросы и задания
- Ответы Учебник Информатика 8 класс — §3.5.Программирование разветвляющихся алгоритмов Босова
- Ответы (решебник) к учебнику по Информатике — 8 класс, параграф 3.5 — Босова Л.Л., Босова А.Ю. , задания 1-18
- Глава 3. Начала программирования
- §3.5.Программирование разветвляющихся алгоритмов ГДЗ, Информатика 8 класс Босова ответы на «Вопросы и задания»
- Задание 2. Дана последовательность операторов. Сколько раз будет повторен цикл и какими будут значения переменных a, b, s?
- Задание 3. Требовалось написать программу вычисления факториала. Программист написал его неправильно. Ниже представлена программа, в которой содержатся ошибки. Найдите ошибки и внесите исправления.
- Задание 4. Проанализируйте следующий цикл. В чём его особенность?
- Задание 5. Запишите на языке Паскаль программы решения задач № 26-30 из параграфа 2.4. Используйте оператор while.
- Задание 6. Дана последовательность операторов. Сколько раз будет повторен цикл и какими будут значения переменных a, b, s?
- Задание 7. Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введен ноль) и подсчет суммы и среднего арифметического введенных положительных чисел. Используйте оператор repeat.
- Задание 8. Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введен ноль) и определение максимального (наибольшего) из введённых чисел. Используйте оператор repeat.
- Задание 9. Напишите программы вычисления наибольшего общего делителя НОД двух целых чисел:
- Задание 10. Сколько раз будет выполнен цикл?
- Задание 13. Напишите программу, которая вычисляет сумму:
- Задание 14. Напишите программу, которая генерирует 10 случайных чисел в диапазоне от 1 до 20, выводит эти числа на экран и вычисляет их среднее арифметическое.
- Задание 15. Запишите на языке Паскаль программы решения задач 33 и 34 из параграфа 2.4. Используйте оператор for.
- Задание 16. Напишите программу, которая выводит на экран таблицу степеней двойки (от нулевой до десятой).
- Задание 17. Напишите программу, которая выводит на экран таблицу умножения на n (n – целое число от 2 до 10, вводимое с клавиатуры).
- Задание 18. Какой из трёх рассмотренных операторов цикла является, по вашему мнению, основным, т.е. таким, что им можно заменить два других?
Программирование разветвляющихся алгоритмов
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор. Его общий вид:
if then else
Для записи неполных ветвлений используется неполная форма условного оператора:
if then
Слова if — then — else переводятся с английского языка на русский как если — то — иначе, что полностью соответствует записи ветвления на алгоритмическом языке.
Перед else знак «;» не ставится.
В качестве условий используются логические выражения:
• простые — записанные с помощью операций отношения;
• сложные — записанные с помощью логических операций.
Пример 1. Запишем на языке Паскаль рассмотренный в п. 2.4.2 (пример 8) алгоритм определения принадлежности точки х отрезку [а, b].
Пример 2. Воспользуемся неполным условным оператором для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 9) алгоритма присваивания переменной у значения наибольшей из трёх величин а, b и с.
Дополните эту программу так, чтобы её выполнение приводило к присваиванию переменной у значения большей из четырёх величин а, b,с и d.
3.4.2. Составной оператор
В условном операторе и после then, и после else можно использовать только один оператор. Если при некотором условий требуется выполнить определённую последовательность операторов, то их объединяют в один составной оператор.
begin end называется составным оператором.
Пример. Алгоритм решения квадратного уравнения вам хорошо известен. Запишем соответствующую программу на языке Паскаль.
3.4.3. Многообразие способов записи ветвлений
В качестве оператора после then и else можно использовать условный оператор. Например, возможна следующая конструкция:
if then
if then
При использовании таких сложных конструкций (их ещё называют вложенными ветвлениями) следует иметь в виду, что else всегда относится к ближайшему оператору if.
Пример. Воспользуемся вложенным ветвлением для записи на языке Паскаль рассмотренного в п. 2.4.2 (пример 10) алгоритма решения линейного уравнения.
Как правило, для решения одной и той же задачи можно предложить несколько алгоритмов. Убедимся в этом, записав программу решения линейного уравнения, не прибегая к вложенным ветвлениям.
Возможно, второй вариант программы покажется вам более наглядным. Но и у первого варианта есть свои преимущества: в нём делается меньше проверок.
if then else
Используйте вложенные ветвления для записи программы, определяющей принадлежность точки х отрезку [а, b].
if then
САМОЕ ГЛАВНОЕ
При записи на языке Паскаль разветвляющихся алгоритмов используют условный оператор:
if then else
Для записи неполных ветвлений используется неполный условный оператор:
if then
Если при некотором условии требуется выполнить определённую последовательных операторов, то их объединяют в один составной оператор, имеющий вид:
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.
Ответы Учебник Информатика 8 класс — §3.5.Программирование разветвляющихся алгоритмов Босова
Ответы (решебник) к учебнику по Информатике — 8 класс, параграф 3.5 — Босова Л.Л., Босова А.Ю. , задания 1-18
Глава 3. Начала программирования
§3.5.Программирование разветвляющихся алгоритмов ГДЗ, Информатика 8 класс Босова ответы на «Вопросы и задания»
Задание 2. Дана последовательность операторов. Сколько раз будет повторен цикл и какими будут значения переменных a, b, s?
Задание 3. Требовалось написать программу вычисления факториала. Программист написал его неправильно. Ниже представлена программа, в которой содержатся ошибки. Найдите ошибки и внесите исправления.
Задание 4. Проанализируйте следующий цикл. В чём его особенность?
Значение переменной «c» будет типом boolean, то есть значение будет true или false. Выражение c:=a=b проверяет равенство «a» и «b» и будет делать проверку, пока a < b. В этом случае программа зациклится.
Задание 5. Запишите на языке Паскаль программы решения задач № 26-30 из параграфа 2.4. Используйте оператор while.
program z26; var a, b, c: real; n: integer; BEGIN readln(a, b, c); n:=0; while a>c do begin a:=a+0.15*a-b; n:=n+1; end; writeln ('В течение ', n, ' лет'); END. program z27; var a, b, n: integer; BEGIN write('Сумма слагаемых первых членов последовательности: '); readln(b); a:=5; n:=1; while ado begin a:=a+(a+4); n:=n+1; end; writeln (n, ' слагаемых'); END. program z28; var m,k: longint; begin write('Введите число: '); readln(m); k:=0; while m<>0 do begin k:=k+1; m:=m div 10; end; writeln('Кол-во цифр: ',k); end. program z29; var m, d: real; n:integer; begin m:=10000; d:=2*m; n:=0; while mdo begin m:=m*1.05; //Подсчитываем количество рублей через год n:=n+1; //Считаем количество лет end; writeln('Сумма увеличится в два раза через ',n, ' лет'); end. program z30; var m, t, X: real; begin write('Введите количество амёб: '); readln(X); m:=1; t:=0; while mend.
Задание 6. Дана последовательность операторов. Сколько раз будет повторен цикл и какими будут значения переменных a, b, s?
a:=1; b:=1; repeat a:=a+1; b:=b*2; until b>8; s:=a+b
Задание 7. Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введен ноль) и подсчет суммы и среднего арифметического введенных положительных чисел. Используйте оператор repeat.
program z_7; var m, n: integer; s: real; begin n:=0; s:=0; repeat readln (m); if m>0 then begin n:=n+1; s:=s+m end; until m=0; writeln('Сумма положительных чисел: ', s); s:=s/n; writeln('Среднее арифметическое положительных чисел: ', s) end.
Задание 8. Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введен ноль) и определение максимального (наибольшего) из введённых чисел. Используйте оператор repeat.
program z_8; var m, s: integer; begin repeat readln (m); if m>s then s:=m; until m=0; writeln('Наибольшее число: ', s) end.
Задание 9. Напишите программы вычисления наибольшего общего делителя НОД двух целых чисел:
а) используя оператор repeat:
program z9_a; var a,b,с: integer; begin write('Введите два числа: '); readln(a, b); if a < b then с := a + 1 else с := b + 1; repeat с := с - 1 until (a mod с = 0) and (b mod с = 0); write('NOD = ', с) end.
б) используя оператор while:
program z9_b; var a,b: integer; begin writeln('Введите два числа: '); readln(a, b); while a <> b do if a > b then a := a - b else b := b - a; writeln('NOD = ', a); end.
Задание 10. Сколько раз будет выполнен цикл?
а) for i:=0 to 15 do s:=s+1;
б) for i:=10 to 15 do s:=s+1;
в) for i:=-l to 1 do s:=s+1;
г) for i:=10 to 10 do s:=s+1;
д) k:=5; for i:=k-1 to k+1 do s:=s+1;
Задание 11. Напишите программу, которая 10 раз выводит на экран ваши имя и фамилию.
program z11; var a, b: string; i: integer; begin write(‘Введите имя: ‘); readln(a); write(‘Введите фамилию: ‘); readln(b); for i:=0 to 9 do writeln (a,’ ‘,b); end.
Задание 12. Напишите программу, выводящую на экран изображение шахматной доски, где черные клетки изображаются звёздочками, а белые – пробелами.
program z11; var a, b: string; i, k, n: integer; begin a:=’*’; b:=’ ‘; for i:=0 to 3 do begin for k:=0 to 3 do write (b,a); writeln; for n:=0 to 3 do write (a,b); writeln; end; end.
Задание 13. Напишите программу, которая вычисляет сумму:
а) первых n натуральных чисел;
б) квадратов первых n натуральных чисел;
в) всех чётных чисел в диапазоне от 1 до n;
г) всех двузначных чисел.
program z13; var i, z1, z2, z3, z4, n: integer; BEGIN write(‘Введите n: ‘); readln(n); z1 := 0; z2 := 0; z3 := 0; z4 := 0; for i := 1 to n do begin z1 := z1 + i; z2 := z2 + sqr(i); if i mod 2 = 0 then z3 := z3 + i; end; for i := 10 to 99 do z4 := z4 + i; writeln(‘Сумма первых n натуральных чисел: ‘, z1); writeln(‘Сумма квадратов первых n натуральных чисел: ‘, z2); writeln(‘Сумма всех четных чисел: ‘, z3); writeln(‘Сумма всех двухзначных чисел: ‘, z4); END.
Задание 14. Напишите программу, которая генерирует 10 случайных чисел в диапазоне от 1 до 20, выводит эти числа на экран и вычисляет их среднее арифметическое.
program z13; var i, s, d: integer; sr: real; BEGIN s:=0; for i:=1 to 10 do begin d:= random(20)+1; writeln(i, ‘ число: ‘, d); s:=s+d end; sr:=s/i; writeln(‘Среднее арифметическое: ‘, sr) END.
Задание 15. Запишите на языке Паскаль программы решения задач 33 и 34 из параграфа 2.4. Используйте оператор for.
program z15_1; var i, a, b, k: integer; BEGIN write(‘Введите первый множитель: ‘); readln (a); write(‘Введите второй множитель: ‘); readln (b); k:=0; for i:=1 to b do begin k:=k+a; end; writeln(a, ‘*’, b, ‘=’, k) END.
В программе мы вводим изначальную численность населения. Далее она считает количество населения в каждый год и итогом будет количество населения через три года.
program z15_2; var i: integer; k, a: real; BEGIN write(‘Введите население города: ‘); readln (a); k:=0; for i:=1 to 3 do begin a:=1.05*a; writeln(i, ‘ год: ‘, a, ‘ человек’) end; writeln(‘Численность населения через 3 года: ‘, a) END.
Задание 16. Напишите программу, которая выводит на экран таблицу степеней двойки (от нулевой до десятой).
Десятую степень не добавили в цикл, она отрабатывает после цикла и выводит эту степень ровно по вертикали.
program z16; var i, k, a: integer; BEGIN a:=2; k:=1; writeln(‘Таблица степеней двойки:’); writeln(‘0 1’); for i:=1 to 9 do begin k:=k*a; writeln(i,’ ‘,k); end; k:=k*a; writeln(’10 ‘,k); END.
Задание 17. Напишите программу, которая выводит на экран таблицу умножения на n (n – целое число от 2 до 10, вводимое с клавиатуры).
program z17; var i, k, n: integer; BEGIN write(‘Введите n>>’); readln(n); for i:=2 to 10 do begin k:=n*i; writeln(n,’ * ‘,i,’ = ‘,k) end; END.
Задание 18. Какой из трёх рассмотренных операторов цикла является, по вашему мнению, основным, т.е. таким, что им можно заменить два других?
Я думаю, что циклы «repeat until» и «while do» могут заменить другие циклы. Цикл «for» не сможет заменить других, так как в этом цикле происходит известное количество повторений. А в двух других разница в том, что цикл «repeat until» сначала выполняется тело цикла и потом проверяется условие, а с циклом «while do» наоборот.
Решение заданий из учебника Информатика 8 класс Босова, параграф 3.5 Программирование циклических алгоритмов. Программирование циклов с заданным условием продолжения работы, с заданным условием окончания работы, с фиксированным числом повторений, различные варианты программирования циклического алгоритма.
На этой странице размещен вариант решения заданий с страниц учебника по информатике за 8 класс авторов Босова. Здесь вы сможете списать решение домашнего задания или просто посмотреть ответы. ГДЗ
Литература: Учебник по Информатике, 8 класс. Автор: Босова Л.Л., Босова А.Ю. Издательство: Бином. Год: 2016, 2017