- •Сборник методических указаний к лабораторным работам
- •«Информатика»
- •Часть 1
- •Введение Порядок выполнения лабораторной работы
- •Содержание пояснительной записки
- •Общие сведения
- •Окно и основные команды Word
- •Задание 2
- •Задание 3
- •Содержание работы
- •Задание 1
- •Задание 4. Вставка символа и выполнение автозамены
- •Контрольные вопросы
- •Лабораторная работа №2 Текстовые процессоры: Работа с таблицами и формулами
- •Часть №1 Общие сведения
- •Создание таблицы
- •Выделение ячеек
- •Создание заголовка таблицы
- •Содержание работы
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание для самостоятельной работы
- •Часть №2 Общие сведения
- •Содержание работы
- •Задание 1
- •Контрольные вопросы
- •Лабораторная работа № 3 Табличные процессоры: Создание таблиц и диаграмм, Статистическая обработка данных
- •Общие сведения
- •Объекты документа Excel
- •Основные операции, производимые над выделенной ячейкой или диапазоном
- •Форматирование данных
- •Ввод чисел
- •Ввод текста
- •Ввод даты и времени
- •Ввод последовательности данных
- •Ввод формулы
- •Встроенные функции
- •Ввод функций
- •Абсолютная и относительная адресация
- •Назначение имен ячейкам
- •Ошибки при вычислении формул
- •Работа с листами
- •Содержание работы
- •Задание 1 Создание таблицы
- •Задание 2. Построение диаграммы
- •Задание 3. Применение абсолютных ссылок. Построение круговой диаграммы
- •Задание 4. Работа со ссылками на смежные листы
- •Задание 5. Действия с датами
- •Задание 6.
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 4 Табличные процессоры: Расчеты с условиями, Работа со списками
- •Общие сведения Расчеты с условиями
- •Функция если()
- •Функции счётесли() и суммесли()
- •Функция условного суммирования для массивов
- •Условное форматирование
- •Работа с базами данных и списками
- •Ввод данных в список
- •Сортировка данных
- •Фильтрация данных
- •Содержание работы
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Контрольные вопросы
- •Лабораторная работа № 5 программы с линейной структурой
- •Лабораторная работа №6 программирование вычислительных задач с ветвлением
- •Лабораторная работа №7 организация циклических вычислений
Лабораторная работа №7 организация циклических вычислений
1. ЦЕЛЬ РАБОТЫ:
Целью работы является изучение приемов программирования вычислений в цикле.
2. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
ОПЕРАТОР ОРГАНИЗАЦИИ ЦИКЛОВ FOR
Операторы повтора используются при организации циклов. Цикл – это последовательность операторов, которая может выполняться более одного раза.
Форматы оператора FOR:
1. for <параметр цикла> := <S1> to <S2> do <оператор>;
2. for <параметр цикла> := <S1> downto <S2> do <оператор>;
С помощью FOR..TO <оператор> выполняется (S2-S1+1) раз, с FOR..DOWNTO – (S1-S2) раз.
Например, оператор FOR I:=1 to 20 do write('*'); 20 раз выведет на экран в одной строке символ "*".
Параметр цикла, его начальное и конечное значения должны принадлежать к одному и тому же типу данных. Вещественного типы запрещены. Если используются типы integer, byte и интервальный, то значение параметра цикла последовательно увеличивается (при for .. to) или уменьшается (при for .. downto) на единицу при каждом повторе.
Оператор |
Результат |
for I := 10 to 14 do write (I:3); |
10 11 12 13 14 |
for I := 14 downto 10 do write(I:3); |
14 13 12 11 10 |
for Ch:='a' to 'e' do write (Ch:2); |
a b c d e |
for Ch:='e' downto 'a' do write (Ch:2); |
e d c b a |
Программист не должен сам изменять параметр цикла, это вызовет ошибку.
ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ ОПЕРАТОРА FOR
FOR I:=1 TO 10 DO Read(X); ввод с клавиатуры в цикле 10 значений
FOR I:=1 TO 80 DO Write('*'); строка из 80 символов '*'
FOR I:=1 TO 24 DO Writeln('*'); столбик из символов '*'
ОПЕРАТОР ПОВТОРА REPEAT
Оператор повтора REPEAT состоит из заголовка (REPEAT), тела и условия окончания (UNTIL).
Формат:
REPEAT
<оператор;>
<оператор;>
. . .
<оператор>
UNTIL <условие>;
Условие - выражение булевского типа. При написании условия допустимы булевские операции и операции отношения. Операторы, заключенные между словами repeat и until, являются телом цикла.
Вначале выполняется тело цикла, затем проверяется условие выхода из цикла.
Если результат булевского выражения False, тело цикла активизируется еще раз, если результат True - происходит выход из цикла.
В некоторых случаях из цикла выходят с помощью оператора GOTO, не дожидаясь подходящего условия в UNTIL. Для этого внутри REPEAT производят операцию сравнения и при ее истинности уходят на метку вне оператора REPEAT.
PROGRAM Demo_REPEAT; {заголовок программы}
Var I, Sum : integer; {объявление переменных}
BEGIN {начало раздела операторов}
I := 0; Sum := 0; {обнуление I, Sum}
REPEAT {начало оператора REPEAT}
Writeln('I= ',I); {вывод текущего значения I}
Sum := Sum + I; {наращивание суммы}
I := I + 2; {увеличение I (0,2,4,6,8,10)}
UNTIL (I > 10); { конец оператора REPEAT}
writeln('Сумма четных чисел= ',Sum);{вывод результата}
END. {конец программы}
ОПЕРАТОР ПОВТОРА WHILE
Оператор WHILE аналогичен оператору REPEAT, но проверка условия выполнения тела цикла производится в самом начале оператора.
Формат:
WHILE <условие> DO <тело цикла>;
Условие - булевское выражение, а тело цикла - простой или составной оператор. Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат равен True, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен False, происходит выход из цикла и переход к первому после WHILE оператору. Если перед первым выполнением цикла значение выражения было False, тело цикла вообще не выполняется и происходит переход на следующий оператор.
П р и м е р.
~ WHILE True DO write ('Бесконечный цикл');
WHILE 1 = 1 DO wtite ('Бесконечный цикл'); {очевидно, что
результат выражения 1=1 всегда равен True}
& Оператор WHILE, как и другие операторы организации циклов, может быть
вложенным.$Досрочный выход из WHILE&можно осуществить по$GOTO.&
PROGRAM Demo_WHILE; - заголовок программы
Var I, Sum : integer; - объявление переменных
BEGIN - начало раздела операторов
I := 0; Sum := 0; - обнуление I, Sum
WHILE I < 12 DO BEGIN - начало оператора WHILE
Writeln('I= ',I); - текущее значение I
Sum := Sum + I; - наращивание суммы
I := I + 2 - увеличение I (0,2,4,6,8,10)
END; - конец оператора WHILE
writeln('Сумма четных чисел= ',Sum) - вывод результата
END. - конец программы
3.ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Ознакомиться с теоретическими сведениями данной работы.
2. Ответить на контрольные вопросы.
3. Выполнить свой вариант задания.
4.ОФОРМЛЕНИЕ ОТЧЕТА
Отчет о работе должен содержать номер, название и цель работы, ответы на контрольные вопросы, текст программы и результат выполнения программы, представленный в виде таблицы.
5. КОНТРОЛЬНЫЕ ВОПРОСЫ
Написать программу вычисления суммы от 1 до 100, используя три цикла (FOR, REPEAT, WHLE).
6. ВАРИАНТЫ ЗАДАНИЙ
№ по списку |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
№ задания |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
Задание:
Написать программу, которая вычисляет факториал числа, введенного с клавиатуры.
Написать программу, которая вычисляет сумму первых n целых положительных четных чисел. Количество суммируемых чисел вводится с клавиатуры во время работы программы.
Написать программу, которая выводит таблицу значений функции
.
Диапазон изменения аргумента: от –4 до
4, шаг приращения аргумента: 0,5 .
