Нахождение суммы
Циклы часто используют для нахождения суммы каких-либо последовательностей. Например, сумму натуральных чисел от 1 до 10. Можно, конечно, решить эту задачу таким способом:
s := 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 ;
Но у этого способа есть два недостатка:
-
Решение громоздко и банально.
-
Решение не поддается корректировке. Например, если мы захотим изменить эту программу так, чтобы она находило сумму первых 100 натуральных чисел, то размер программы увеличится почти в 10 раз.
Поэтому такую задачу лучше решать с использованием цикла. Решать будем по такой общей схеме:
обнулить счётчик суммы
начало цикла
прибавить к счётчику суммы очередное слагаемое
конец цикла
вывести значение счётчика суммы на экран
То есть для нахождения суммы мы должны специально выделить переменную, в которой эта сумма будет храниться. Пусть это будет переменная s. Вначале сумму нужно обнулить, то есть переменной s присвоить 0. Потом, уже в теле цикла, мы должны будем каждый раз увеличивать значение переменной s на значение очередного слагаемого. Этим слагаемым будет переменная цикла, так как именно она будет поочерёдно принимать все интересующие нас значения.
Переведём всё вышесказанное на язык Паскаль:
program The_sum_of_natural_numbers_from_1_to_10;
var s, i : integer;
begin
s := 0; { вначале сумма равна 0 }
For i := 1 to 10 do
begin
s := s + i { суммируем }
end;
writeln (’Сумма чисел от 1 до 10 равна ’, s)
end.
Заметьте, что строчка с выводом результата на экран находится за телом цикла. Скажите, как изменилось бы выполнение программы, если бы оператор writeln находился внутри тела цикла?
Измените эту программу так, чтобы она находила сумму первых n натуральных чисел, где n вводится с клавиатуры.
- Лекции по Turbo Pascal 7.0
- 1 Курс, «Информатика»
- Интегрированная среда Turbo Pascal 7.0
- Первый шаг
- Создание нового файла
- Набор и редактирование текста программы
- Клавиши перемещения курсора
- Клавиши для редактирования текста:
- Сохранение и открытие программ
- Запуск программы
- Завершение работы
- А теперь, когда вы уже знаете, как набирать и запускать программы на компьютере, начнём изучать язык паскаль.
- Первая программа
- Краткая история
- Что такое программа?
- Зарезервированные слова
- Переменные
- Константы
- Стандартные математические операции
- В информатике, как и в математике, на ноль делить нельзя!
- Оператор присваивания
- Пример программы
- Операторы ввода и вывода.
- Оператор ввода Readln
- Оператор вывода Write
- Самостоятельные задания
- Работа с цифрами
- Выделение цифр числа
- Конструирование числа по его цифрам
- Обобщение
- Самостоятельные задания
- Условный оператор
- Что такое условие?
- Укороченный вариант условного оператора
- Составной оператор
- Составные условия
- “Защита от дурака”
- Вложенные условные операторы
- Оператор выбора Case
- Самостоятельные задания
- Стандартные типы переменных
- Общий обзор стандартных типов.
- Целые типы
- Вещественные типы
- Способ записи вещественных чисел
- Вывод на экран вещественных чисел
- Точность и диапазон вещественных чисел различных типов
- Вещественные функции
- Линейная запись математических выражений
- Логический тип
- Символьные типы
- Стандартные функции для работы со строками
- Стандартные функции для типа char
- Подпрограммы
- Зачем нужны подпрограммы?
- Процедуры
- Аргументы процедуры
- Результаты процедуры
- Функции
- Самостоятельные задания
- Цикл For
- Руками не трогать!
- Нахождение суммы
- Нахождение произведения
- Нахождение количества
- Цикл While ... Do
- Цикл Repeat ... Until
- 2.7. Самостоятельные задания
- Цикл в цикле
- Натуральные числа
- Делители чисел
- Самостоятельные задания.
- Простые числа
- Самостоятельные задания.
- Наибольший общий делитель двух чисел.
- Самостоятельные задания.
- Наименьшее общее кратное двух чисел
- Самостоятельные задания.
- Массивы
- Определение и примеры
- Операции с элементами массива
- Анализ информации в массиве
- Рекуррентные соотношения
- Самостоятельное задание
- Последовательность Фибоначчи
- Другие рекуррентные последовательности
- Оптимизация программ
- Задача про интеллигентного студента.
- Самостоятельные задания
- Оформление программ
- Понятие модуля
- Управление цветом
- Управление звуком
- Опрос клавиатуры
- Управление курсором.
- Дополнительные задачи и вопросы
- Теоретические вопросы
- Практические задачи
- Условия
- Ряды и рекуррентные последовательности
- Просмотр всех команд меню
- Команды меню File
- Команды меню Edit
- Команды меню Search
- Команды меню Run
- Команды меню Compile
- Команды меню Debug
- Команды меню Options
- Команды меню Window
- Команды меню Help
- Синтаксические ошибки
- Ошибки выполнения
- Логические ошибки
- Средства отладки
- Пошаговый режим работы программы
- Просмотр/изменение переменных
- Окно Watch
- 1. Теоретическая часть
- 1.1. Понятие алгоритма и его свойства.
- 1.2. Культура программирования
- 1.3. Устройство компьютера и его компоненты.
- 1.4. Информация
- 1.5. Логика
- 1.6. Системы счисления
- 1.7. Арифметические действия с двоичными числами
- 1.8. Информационные взаимодействия – коммуникации
- 1.9. Информационная революция
- 1.10. Компьютеры и информационное общество.
- 1.11. Польза и опасности компьютеризации.
- 1.12. Киберфобия.
- 1.13. Компьютеры и будущее
- 1.14. Понятие информационного моделирования.
- 2. Толковый словарик