- •Министерство образования, науки и молодежи Республики Крым
- •Методические указания к лабораторным работам
- •11.02.01 Радиоаппаратостроение
- •Пояснительная записка
- •Лабораторная работа №1 Тема: Составление простейших программ. Линейные алгоритмы
- •Лабораторная работа №2 Тема: Компьютерные модели
- •Лабораторная работа №3 Тема: Составление программ с разветвляющей структурой
- •Лабораторная работа №4 Тема: Составление программ с циклами
- •Лабораторная работа №5 Тема: Составление программ с массивами
- •Решение типового примера
- •Лабораторная работа №6 Тема: Создание архива данных
- •Порядок проведения работы
- •Лабораторная работа №7 Тема: Операционная система
- •Лабораторная работа №8 Тема: Организация антивирусной защиты
- •Лабораторная работа №9 Тема: Редактирование и форматирование текста. Создание списков
- •Лабораторная работа №10 Тема: Разбиения текста на колонки. Редактор формул. Колонтитулы
- •Лабораторная работа №11 Тема: Использование таблиц, авто-оглавлений и изображений в текстовых документах
- •Лабораторная работа №12 Тема: Использование формул и функций в электронных таблицах
- •Лабораторная работа №13 Тема: Графическое решение системы уравнений с помощью электронных таблиц
- •Лабораторная работа №14 Тема: Работа с фильтрами. Автофильтр. Расширенный фильтр
- •Создание автофильтров.
- •Фильтрация данных по заданному условию отбора.
- •3.3.1.Отбор по заданному условию для текста.
- •3.3.2.Отбор по заданному условию для чисел.
- •3.3.3.Отбор по заданному условию для нескольких столбцов.
- •Фильтрация данных. Правила создания условий отбора.
- •Фильтрация данных по заданному критерию для диапазона числовых значений.
- •Фильтрация данных по заданному критерию для текстовых значений.
- •Лабораторная работа №15 Тема: Организация баз данных. Заполнение полей баз данных. Возможности систем управления базами данных
- •Лабораторная работа №16 Тема: Формирование запросов для поиска и сортировки информации в базе данных
- •Задание 2
- •Лабораторная работа №17 Тема: Создание и редактирование графических объектов средствами компьютерных презентаций
- •Дополнительное задание (для высокого уровня):
- •Лабораторная работа №18 Тема: Создание и редактирование мультимедийных объектов средствами компьютерных презентаций
- •Лабораторная работа №19 Тема: Браузер. Поисковые системы
- •Лабораторная работа №20 Тема: Создание ящика электронной почты и настройка его параметров
- •Критерии оценивания лабораторных работ
- •Информационное обеспечение
Лабораторная работа №4 Тема: Составление программ с циклами
Цель работы: научиться набирать и отлаживать программы содержащие операторы повторения.
Оборудование рабочего места: Персональный компьютер, ОС, Pascal.
Краткие теоретические сведения
Оператор FOR …DO
Циклические вычисления в Паскале реализуются с помощью операторов FOR...TO(DOWNTO)...DO, WHILE...DO или REPEAT...UNTIL.
Особенностью операторов FOR...TO(DOWNTO)...DO является встроенный внутренний счетчик цикла, фиксирующий количество повторений. Форматы записи оператора:
FOR переменная цикла := выражение 1 TO выражение 2 DO
{операторы тела цикла};
или
FOR переменная цикла :=выражение 1 DOWNTO выражение 2 DO
{операторы тела цикла};
В формате: переменная цикла (управляющая переменная, счетчик цикла) – имя переменной целочисленного типа; выражения 1 и 2 — выражения, тип результата которых совпадает с типом переменной цикла; операторы тела цикла — любой исполнимый оператор или блок операторов, заключенных в операторные скобки; FOR, TO, DOWNTO и DO – ключевые слова.
Использование оператора FOR регламентируется следующими правилами.
Переменная цикла, её начальное и конечное значения должны быть одного типа.
При выполнении оператора очередное значение параметра цикла вычисляется автоматически. В частности, для целого типа шаг изменения значения переменной цикла равен 1 при конструкции с TO и -1 при конструкции с DOWNTO.
После служебного слова DO может стоять только один оператор. Если в цикле необходимо выполнить группу операторов, то их заключают в операторные скобки BEGIN...END, образуя составной оператор.
Цикл не выполняется вообще, если начальное значение переменной цикла больше (при DOWNTO меньше), чем конечное. В этом случае управление передается оператору, следующему непосредственно за конструкцией FOR..TO(DOWNTO)...DO.
В конструкции FOR..TO(DOWNTO)...DO используется только одна переменная цикла. При наличии вложенных циклов у каждой конструкции FOR..TO(DOWNTO)...DO должна быть своя, отличающаяся от других переменная.
При организации вложенных циклов внутренний и внешний циклы не должны пересекаться. Цикл, который начинается последним, должен завершаться первым:
FOR N := 1 TO 5 DO
BEGIN WRITELN (N:2,'.');
FOR J := 1 TO 5 DO WRITELN (N:2,'.', J:2,'.') END;
Пример работы циклов
Пример 4.1. Найти сумму конечного ряда. Значение x вводится с клавиатуры.
program Project1;
var x,s:real; i:integer;
begin
Write('x='); Readln(x);
s:=0;
for i:=1 to 10 do //начало цикла For
s:=s+x*i; //конец цикла For
Writeln('s=',s:5:3); //вывод результата
Readln;
end.
Порядок проведения работы
Варианты заданий в табл. 1, 2.
Таблица 1 – Задание 1
Вычислить значение суммы или произведения членов ряда. Значение x задать с клавиатуры. Напишите программу для цикла FOR.
1 |
|
9 |
|
2 |
|
10 |
|
3 |
|
11 |
|
4 |
|
12 |
|
5 |
|
13 |
|
6 |
|
14 |
|
7 |
|
15 |
|
8 |
|
16 |
|
Пример 4.2. Вычислите указанное число по итерационной формуле так, чтобы постоянными остались 3 знака после запятой. В ответе покажите истинные и вами расчетные значения числа, а также количество итераций n. Напишите программу для цикла WHILE.
.
Program Project2; //вычисление суммы заданного числа
var
x,s:real;
n,k:integer;
begin //начало раздела операторов
x:=int(sqr(pi)*1000)/1000; //значение x до 3 цифры
s:=0; //s - значение 1-го слагаемого
n:=1; //n - переменная для итерации
k:=-1; //k - переменная для смены знака
w
hile
s<x do //начало
цикла
begin
s:=s+k*1/sqr(n); //добавление n-го слагаемого к общей сумме
k:=-1*k; //смена знака n-го слагаемого
n:=n+1; //увеличение n на единицу шага
end; //конец цикла
//вывод результата на экран
writeln('истинное значение: ',sqr(pi));
writeln('расчетное значение: ', s);
writeln('кол-во итераций n=', n-1);
end.
ОТВЕТ:
истинное значение: 1.64493406684823
расчетное значение: 1.64400079580071
кол-во итераций n=1071
Таблица 2 – Задание 2
Вычислите указанное число по итерационной формуле так, чтобы постоянными остались 3 знака после запятой. В ответе покажите истинные и вами расчетные значения числа, а также количество итераций n. Напишите программу для цикла WHILE.
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
Содержание отчета
В отчете указать тему, цель работы, задание по варианту.
Блок-схема алгоритма и текст программы.
Выводы по проделанной работе.
Контрольные вопросы:
Для чего предназначен оператор цикла?
Какие виды циклов есть в Паскале?
Какой формат записи имеет оператор FOR? Какие существуют варианты этого цикла?
Как работает оператор FOR? B каких случаях применяется?
Что является телом цикла?
Как в теле цикла выполнить несколько операторов?
Почему перед выполнением цикла некоторым переменным нужно задавать начальные значения?
При каких условиях оператор for не выполнится ни разу?
