Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
10
Добавлен:
01.03.2025
Размер:
7.34 Mб
Скачать

Var I, s : Word;

Begin

ClrScr;

s := 0;

i := 1;

While (i <= 100) Do

Begin

s := s + i;

i := i + 1;

End;

WriteLn(‘s = ‘, s);

ReadLn;

End.

  1. вычислить сумму s всех цифр заданного натурального числа n

Пусть s – искомая сумма,

i – очередная цифра числа.

Тогда алгоритм решения задачи можно описать следующим образом:

  1. обнуляем сумму s,

  2. берем последнюю цифру числа, для чего определяем остаток от деления исходного числа на 10: i = n Mod 10,

  3. добавляем в сумму найденную цифру: s = s + i,

  4. уменьшаем число в 10 раз: n = n Div 10,

  5. повторяем цикл до тех пор, пока n > 0 – это и будет условием продолжения цикла.

Схема алгоритма: Программа:

Program Sum;

U ses CRT;

Var I, s, n : Word;

Begin

ClrScr;

Write(‘n=‘);

ReadLn(n);

s := 0;

While (n > 0) Do

Begin

i := n Mod 10;

s := s + i;

n := n Div 10;

End;

WriteLn(‘s = ‘, s);

ReadLn;

End.

  1. ввести с клавиатуры по одному последовательность целых чисел (конец последовательности – число 0). Определить их сумму, максимальное и минимальное число, количество введенных чисел и их среднее арифметическое.

Пусть s – искомая сумма,

min, max – минимальное и максимальное из введенных чисел,

count – количество введенных чисел,

sred – среднее арифметическое,

n – очередное число.

Тогда алгоритм решения задачи можно описать следующим образом:

  1. обнуляем сумму s ,

  2. вводим первое число n,

  3. если оно не равно нулю, то

    • принимаем его значение за min и max

    • количество введенных чисел count = 1

    • увеличиваем сумму на введенное число s = s + n

    • входим в цикл ввода:

  4. вводим очередное число n,

если оно не равно нулю, то

  • количество введенных чисел увеличиваем на 1: count = count+1

  • увеличиваем сумму на введенное число s = s + n

  • если оно меньше min, то min = n,

  • если оно больше max, то max = n,

  • повторяем цикл до тех пор, пока n # 0 – это и будет условием продолжения цикла.

    Создадим интерфейс этой задачи – взаимодействие программы с пользователем, то есть что должно выводиться на экран:

    Первое число: 3

    Очередное число: 8

    Очередное число: 1

    Очередное число: -2

    Очередное число: 0

    Сумма = 10

    Количество чисел = 4

    Min = -2

    Max = 8

    Среднее арифметическое = 2.50

    С хема алгоритма: Программа

  • Program Posled;

    Uses CRT;

    Var n, min, max, s, count: Word;

    sred: Real;

    Begin

    ClrScr;

    s := 0;

    Write(‘Первое число:’);

    ReadLn(n);

    If (n = 0)

    Then Exit;

    min := n;

    max := n;

    count := 1;

    s := s + n;

    While (n <> 0) Do

    Begin

    Write(‘Oчередное число:’);

    ReadLn(n);

    If (n <> 0) Then

    Begin

    count := count + 1;

    s := s + n;

    If (n > max)

    Then max := n;

    If (n < min)

    Then min := n;

    End; {If (n <> 0)}

    End; {While}

    sred := s / count;

    WriteLn;

    WriteLn(‘Сумма =’,s);

    WriteLn(‘Количество чисел =’,count);

    WriteLn(‘min=’,min);

    WriteLn(‘max=’,max);

    WriteLn(‘Среднее арифметическое =’,sred:5:2);

    ReadLn;

    End.