Составьте программу по которой компьютер десять раз запросит ввод целых чисел и в результате выведет

Содержание

Для проверки правильности алгоритма заполним трассировочную таблицу.

Шаг Операция Р i Проверка условия
P:=1 1
i:=1; 1 1
i P:=P*I i:=i+1 1 1 1
i P:=P*I i:=i+1 2 2 2
i P:=P*I i:=i+1 6 3 3
i P:=P*I i:=i+1 24 4 4
i P:=P*I i:=i+1 120 5 5
i P:=P*I i:=i+1 6

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

Шаг первый: Р присваивается значение один.

Шаг второй: i присваивается значение один.

ИНФОРМАТИКА 8 класс : Представление целых чисел

Шаг третий: при i равном единице проверяем условие один меньше или равен пяти, да, условие истинно, значит Р присваивается значение один умноженное на один, будет два. Для i: один плюс один, будет два.

Шаг четвертый:при i равном двум проверяем условие два меньше или равен пяти, да, условие истинно, значит Р присваивается значение 2 умноженное на один, будет 2. Для i: два плюс один, будет три.

Читайте также:
Айфон не запускает программы

Шаг пятый:при i равном трем проверяем условие три меньше или равен пяти, да, условие истинно, значит Р присваивается значение два умноженное на три, будет шесть. Для i: три плюс один, будет четыре.

Шаг шестой:при i равном четырем проверяем условие четыре меньше или равен пяти, да, условие истинно, значит Р присваивается значение шесть умноженное на четыре, будет двадцать четыре. Для i: четыре плюс один, будет пять.

Шаг седьмой:при i равном пяти проверяем условие пять меньше или равен пяти, да ,условие истинно, значит Р присваивается значение двадцать четыре умноженное на пять, будет сто двадцать. Для i: пять плюс один, будет шесть.

Шаг восьмой:при i равном шести проверяем условие шесть меньше или равен пяти, нет, условие ложно, тогда мы выходим из цикла, а в результате получаем последнее значение равное сто двадцати.

Для цикла с постусловием построим блок-схему и трассировочную таблицу. (.16)

В результате получаем последнее значение равное сто двадцати на седьмом шаге

И для Цикла с параметром построим блок-схему и трассировочную таблицу. (.17)

В результате получаем последнее значение равное сто двадцати на шестом шаге

Задача:

Вывести на экран числа от 1 до 5 в:

  1. прямом порядке;
  2. обратном порядке.

Математическая модель:

Блок-схема и программа решения задачи представлена для чисел в прямом порядке и обратном порядке.

Подведение итогов урока

И так мы рассмотрели следующие вопросы:

  1. Алгоритмическая структура цикл;
  2. Виды алгоритмических структур:
  1. Цикл с предусловием;
  2. Цикл с послеусловием;
  3. Цикл с параметром;

Cамостоятельная работа:

24 Цикл for. Обход элементов функции range Python

    1. Составьте программу, по которой компьютер десять раз запросит ввод любых чисел и в результате выведет среднее арифметическое значение введенных чисел (массив не использовать). Сделайте три варианта программы, используя операторы цикла While, Repeat, For.
    2. Составьте программу, по которой компьютер десять раз запросит ввод целых чисел и в результате сообщит, сколько среди введенных чисел четных и сколько нечетных.

    Источник: helpiks.su

    Составьте программу,по которой компьютер десять раз запросит ввод любых чисел и в результате выведет

    среднее арифметическое значение введенных чисел (массив не использовать).Сделайте три варианта программы,используя операторы While,Repeat ,For.

    Ответы на вопрос

    Отвечает Юркевич Ирина.

    Программа может выглядеть так:

    uses Crt;
    const n=10;
    var a, i, Sum: integer;
    Sred: real;
    begin
    ClrScr;
    Sum:=0;
    i:=1;
    While i begin
    Write (‘a = ‘);
    ReadLn(a);
    Sum:=Sum+a;
    i:=i+1;
    end;
    Sred:=Sum/n;
    Writeln(‘Sred = ‘, Sred:6:2);
    WriteLn;

    Sum:=0;
    i:=1;
    repeat
    Write (‘a = ‘);
    ReadLn(a);
    Sum:=Sum+a;
    i:=i+1;
    until i>n;
    Sred:=Sum/n;
    Writeln(‘Sred = ‘, Sred:6:2);
    WriteLn;

    Sum:=0;
    for i:=1 to n do
    begin
    Write (‘a = ‘);
    ReadLn(a);
    Sum:=Sum+a;
    end;
    Sred:=Sum/n;
    Writeln(‘Sred = ‘, Sred:6:2);
    ReadLn;
    end.

    Источник: uznavalka.pro

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

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

    Задание 2. Дана последовательность операторов. Сколько раз будет повторен цикл и какими будут значения переменных a, b, s?

    a:=1; b:=2; while a+bdo begin a:=a+1; b:=b+2; end; s:=a+b

    Ответ: 2 раза будет повторен цикл, a=3, b=6, s=9.

    Задание 3. Требовалось написать программу вычисления факториала. Программист написал его неправильно. Ниже представлена программа, в которой содержатся ошибки. Найдите ошибки и внесите исправления.

    Задание 4. Проанализируйте следующий цикл. В чём его особенность?

    Значение переменной «c» будет типом boolean, то есть значение будет true или false. Выражение c:=a=b проверяет равенство «a» и «b» и будет делать проверку, пока a

    Задание 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.

    Читайте также:
    Программа 1с документооборот обучение с нуля самостоятельно

    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

    Ответ: 4 раза будет повторен цикл, a=5, b=16, s=21.

    Задание 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;

    а) 16 раз
    б) 6 раз
    в) 3 раза
    г) 1 раз
    д) 3 раза

    Задание 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.

    Читайте также:
    Что такое программа apus

    Задание 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 1 to n do

    Я думаю, что циклы «repeat until» и «while do» могут заменить другие циклы. Цикл «for» не сможет заменить других, так как в этом цикле происходит известное количество повторений. А в двух других разница в том, что цикл «repeat until» сначала выполняется тело цикла и потом проверяется условие, а с циклом «while do» наоборот.

    Решение заданий из учебника Информатика 8 класс Босова, параграф 3.5 Программирование циклических алгоритмов. Программирование циклов с заданным условием продолжения работы, с заданным условием окончания работы, с фиксированным числом повторений, различные варианты программирования циклического алгоритма.

    Источник: 5urokov.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru