Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
61
Добавлен:
04.06.2015
Размер:
7.62 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;

Uses 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

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

  • вводим очередное число 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.