- •Основные понятия программирования
- •Понятие алгоритма. Алгоритмизация
- •Свойства алгоритма
- •Запись алгоритма на естественном языке
- •Изображение алгоритма в виде схемы
- •Понятие о языках программирования
- •Понятие о структурном подходе к разработке алгоритмов
- •4 Идти к 8
- •6 Идти к 8
- •8 Останов
- •Первая программа на Си
- •Процесс создания программы
- •Комментарии
- •Директива #include
- •Макросы
- •Переменные и типы данных
- •Правила именования идентификаторов
- •Типы данных
- •Int двухбайтовое целое число
- •Оператор printf: вывод на экран
- •Последовательности для вывода специальных символов
- •Спецификация вывода
- •X тип int в шестнадцатеричном виде
- •Оператор scanf: ввод с клавиатуры
- •Логическая организация программы на Си
- •Функция main
- •Глобальные и локальные переменные
- •Операторы и операции
- •Арифметические операции
- •Битовые операции
- •Операции отношения
- •Логические операции
- •Операции присваивания
- •Другие операции
- •Математические функции
- •Управляющие структуры
- •Операторы ветвления
- •Операторы цикла
- •Массивы
- •Функции
- •Интегрированная среда разработки turbo c
- •Общие сведения и принципы работы
- •Стандартные органы управления
- •Главное меню
- •Запуск иср и выход
- •Работа с окнами и файлами
- •Система помощи
- •Редактор
- •Компиляция и выполнение программ
- •Технология создания с-программы
- •Лабораторные работы
- •Лабораторная работа №1
- •Создание нового файла
- •Ввод и редактирование исходного текста
- •Сохранение
- •Выполнение программы
- •Исправление ошибок
- •Просмотр результатов выполнения
- •Закрытие файла
- •Открытие и выполнение ранее сохраненного файла
- •Вызов справки
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Список вопросов
- •Литература
- •Приложение Пример оформления отчета по лабораторной работе
- •Блок-схема алгоритма
- •Текст программы
- •Результат выполнения программы
- •Теория и технология программирования
-
Лабораторная работа №5
Целью работы является освоение программирования алгоритмов с циклической структурой, когда какой-либо участок программы выполняется определенное количество раз.
Порядок выполнения работы:
-
изучить оператор цикла for (параграф 13.2);
-
определить формулу для вычисления выражения под знаком суммы;
-
разработать блок-схему;
-
составить текст программы на языке Cи;
-
проверить правильность выполнения разработанной программы;
-
составить отчет.
Типичный пример циклического процесса — вычисление конечных сумм. При определении сумм многократно вычисляется выражение, стоящее под знаком суммы и складывается с предыдущей частичной суммой. Вычисления производятся до тех пор, пока не будут сложены выражения под знаком суммы для всех значений изменяющейся переменной.
Например, необходимо составить программу, вычисляющую значение суммы:
Прежде чем вычислять выражение под знаком суммы и очередную частичную сумму, необходимо определить начальное значение параметра цикла (в данном случае i, которое изменяется от 1 до 10 с шагом 1, то есть будет принимать последовательно значения 1, 2, 3, 4, ..., 9, 10), и начальную частичную сумму . Так как вычисления еще не производились, то .
Затем вычисляется выражение под знаком суммы для , затем для до и каждый раз складывается с предыдущей частичной суммой . При этом получается новая частичная сумма . После этого увеличивается на единицу и проверяется, не стало ли . Если еще меньше или равно 10, то вычисляется новая частичная сумма, в противном случае вычисление суммы будет закончено, и это значение выводится на печать.
Воспользуемся стандартной схемой циклического процесса (Рисунок 51).
Блок 1 — блок подготовки к вычислению суммы, в котором задаются начальные значения параметра цикла и частичной суммы.
В блоке 2 производится вычисление выражения, стоящего под знаком суммы и сложение с предыдущей частичной суммой . В итоге получается новая частичная сумма .
В блоке 3 происходит изменение параметра цикла (увеличение на 1). Это блок подготовки к новому циклу.
Блок 4 — блок проверки продолжения цикла. Необходимо проверить, меньше ли. Если да, то вычисление частичной суммы продолжается дальше, то есть выполняются блоки 2 и 3. Если стало больше или равно 10, то цикл закончен.
Рисунок 51 — Блок-схема алгоритма циклического процесса
Проверка может осуществляться условным оператором if, но для организации циклов в языке Си специально предусмотрены три оператора цикла. Если количество повторений заранее известно, то целесообразно использовать оператор for, включающий в себя блоки 1, 3, 4 (Рисунок 52).
Рисунок 52 — Блок-схема алгоритма примера
Пример. Вычислить сумму:
.
Листинг 19 — Лабораторная работа №5
/* lab5.c – лабораторная работа №5. */
#include <stdio.h> #include <conio.h> #include <math.h>
void main() { double s = 0; /* инициализация суммы */ int m;
clrscr();
/* заголовок таблицы */ printf(“------------------\n”); printf(“| Шаг | Значение |\n”); printf(“------------------\n”);
/* вычисление суммы при помощи цикла for */ for(m = 1; m <= 20; m++) { s += log(m) + exp(-m); printf(“| %3d | %8.3f |\n”, m, s); }
printf(“------------------\n”); /* вывод результата */ printf(“Значение суммы: %f”, s); } |
Рисунок 53 — Результат выполнения lab5.c
Таблица 10 — Варианты заданий к лабораторной работе №5
№ вар. |
Вычислить сумму |
№ вар. |
Вычислить сумму |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|