Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Тема. Разработка блок-схем алгоритмов различных вычислительных процессов



СОДЕРЖАНИЕ

Лабораторная работа № 1. 4

Тема. Разработка блок-схем алгоритмов различных вычислительных процессов 4

Лабораторная работа № 2. 8

Тема. Запись математических и логических выражений на языке Delphi 8

Лабораторная работа № 3. 10

Тема. Реализация линейных вычислительных процессов на языке Delphi 10

Лабораторная работа № 4. 16

Тема. Реализация разветвляющихся вычислительных процессов. Оператор IF 16

Лабораторная работа № 5. 23

Тема. Программирование вычислительных процессов с ветвлением. Оператор CASE.. 23

Лабораторные работы № 6 – 7. 25

Тема. Вычисление сумм (произведений) конечного числа элементов ряда. Оператор FOR …DO (FOR... DOWNTO) 25

Лабораторная работа № 8. 32

Тема. Расчет значений функции на заданном промежутке (табулирование функции). Оператор WHILE … DO.. 32

Лабораторная работа № 9. 36

Тема. Вычисление сумм (произведений) элементов бесконечного ряда с заданной точностью. Оператор Repeat …Until 36

Лабораторные работы № 10 – 11. 41

Тема. Процедуры и функции пользователя в языке Delphi 41

Лабораторные работы № 12 – 13. 46

Тема. Обработка одномерных массивов. 46

Лабораторные работы № 14 – 15. 52

Тема. Работа с двумерными массивами. 52

Лабораторная работа № 16. 58

Тема. Решение задач с использованием переменной типа Record. 58

Литература. 64


Лабораторная работа № 1

Тема. Разработка блок-схем алгоритмов различных вычислительных процессов

Цель работы: приобрести практические навыки разработки блок-схем линейных, разветвляющихся и циклических процессов

Теоретическая часть

Алгоритм – это точное предписание о порядке выполнения действий над исходными данными для получения требуемого результата.

Наиболее распространенным способом представления алгоритма является графический. В графическом представлении алгоритмы изображаются в виде блок-схемы, дополненной элементами словесной или математической записи.

Схема алгоритма включает геометрические фигуры (блочные символы), соединенные между собой стрелками (линиями), указывающими порядок выполнения операций.

Блочные символы стандартизированы и различаются по типу выполняемых действий (ГОСТ 19.002–80 и 19.003–80, международные стандарты ИСО 2636-73 или ИСО 1028–73).

Единственное ограничение накладывается на последовательность записей – они должны читаться слева направо и сверху вниз независимо от направления потоков информации.

Логика алгоритма должна опираться на минимальное число достаточно простых управляющих базовых структур. При разработке схем алгоритмов необходимо соблюдать некоторые требования:

§ В схеме алгоритма все линии от блока «начало» до блока «конец» не должны иметь разрывов, не помеченных соединителями. Все линии, указывающие последовательность выполнения действий, должны быть замкнутыми.

§ В схеме должны четко прослеживаться потоки информации. Блоки следует размещать таким образом, чтобы избегать пересечения линий. При передаче управления в схеме «снизу–вверх» или «справа–налево» линии обязательно помечают стрелками.

§ Блоки следует размещать таким образом, чтобы избегать пересечения линий. При передаче управления в схеме «снизу–вверх» или «справа–налево» линии обязательно помечают стрелками.

§ Не допускается передача управления в никуда. «Источник» передачи управления и «получатель» должны быть четко обозначены.

Виды структур алгоритмов

По структуре алгоритмы разделяют на линейные, алгоритмы с ветвлением и циклические.

Таблица 1 – Виды и значения алгоритмических блоков

№ п/п   Изображение Значение
 
 

 

 

Блоки начала и конца программы
  Блок ввода или вывода информации  
  Блок вычислений  
Нет
Да

Логический блок    
  Блок модификации (начало цикла)
  Блок подпрограммы
  Внутристраничные соединительные блоки
    Межстраничные соединительные блоки
      Блок комментариев

 

 

Линейные алгоритмы

Линейными называют алгоритмы, в которых операции выполняются последовательно одна за другой, в естественном и единственном порядке следования. В таких алгоритмах все блоки имеют последовательное соединение логической связью передачи информационных потоков. В них могут использоваться все блоки, за исключением блоков проверки условия и модификации. Линейные алгоритмы, как правило, являются составной частью любого алгоритмического процесса.

Используя общепринятые символы блоков, на рис.1 изображена блок-схема линейного алгоритма.

Алгоритмы с ветвлением

При составлении схем алгоритмов часто возникает необходимость проведения анализа исходных данных или промежуточных результатов вычислений и определения дальнейшего порядка выполнения вычислительного процесса в зависимости от результатов этого анализа. Алгоритмы, в которых в зависимости от выполнения некоторого логического условия происходит разветвление вычислений по одному из нескольких возможных направлений, называют разветвляющимися, или алгоритмы с ветвлением. Подобные алгоритмы предусматривают выбор одного из альтернативных путей продолжения вычислений. Каждое возможное направление вычислений называется ветвью. Логическое условие называют простым, если разветвляющийся процесс имеет две ветви, и сложным, если процесс разветвляется на три и более ветви.

На рис. 2 приводится пример разветвляющегося алгоритма с простым логическим условием. Для определения ветви, по которой необходимо производить процесс вычисления значения x, достаточно проверить выполнение одного условия. Если условие x > 3 не выполняется, то очевидно и без дополнительной проверки, что будет выполнено условие 3 ≤ x.

На рис. 3 приводится пример сложного алгоритма с ветвлением.

Циклический алгоритм

Алгоритм циклической структуры предусматривает многократное повторение действий в одной и той же последовательности по одним и тем же математическим зависимостям, но при разных значениях некоторой специально изменяемой величины. Циклические алгоритмы позволяют существенно сократить объем программы за счет многократного выполнения группы повторяющихся вычислений, так называемого тела цикла .

Специально изменяемый по заданному закону параметр, входящий в тело цикла, называется переменной цикла . Переменная цикла используется для подготовки очередного повторения цикла и отслеживания условий его окончания. В качестве переменной цикла используют любые переменные, индексы массивов, аргументы вычисляемых функций и тому подобные величины цикла.

Циклы, в теле которых нет разветвлений и других встроенных в них циклов, называют простыми . В противном случае их относят к сложным . Циклические алгоритмы разделяют на детерминированные и итерационные .

Циклы, в которых число повторений заранее известно из исходных данных или определено в ходе решения задачи, называют детерминированными. Для организации детерминированных циклов наиболее целесообразно использовать блок модификации, внутри которого указывается переменная цикла, ее начальное и конечное значения. Организовать подобный цикл возможно и при использовании блока проверки условия вместо блока модификации, однако при этом несколько усложняется алгоритм и теряется его рациональность.

На рис. 4 пример циклического алгоритма с использованием блока модификации. Операция нахождения суммы, при предварительном обнулении значения переменной S (блок 5), повторяется 10 раз в теле цикла.

Использована операция присваивания S: = S + X * I, по которой и осуществляется вычисление суммы путем прибавления к предыдущему значению переменной S всё новых значений элементов ряда.

Цикл является детерминированным, и количество его повторений заранее определено ( 10 раз). В качестве переменной цикла i принято текущее значение членов натурального ряда.

На рис. 8блок-схема алгоритма для расчетасуммы бесконечного ряда. Вычисление суммы прекратить, как только значение очередного элемента ряда станет меньше или равно e (e = 0, 00001), и значениями остальных элементов ряда можно пренебречь.

На рис. 5 для примера 9.1 организован цикл в виде итерационного, т.к. число повторений заранее неизвестно. В алгоритме выход из цикла или его продолжение определяется выполнением условия delta < = e в блоке 5. Если условие не выполняется, то вычисление суммы продолжается путем прибавления к предыдущему значению суммы (переменная S) значения очередного члена ряда, отслеживаемого переменной цикла i.

На рис. 7 разработана блок-схема табулирования функции, заданной на отрезке [a, b], где h шаг приращения аргумента x, значение константы d вводится с клавиатуры.

Вводятся исходные данные ( a и b – границы интервала табулирования функции y, h – приращение аргумента, d – постоянная величина), затем задается начальное значение аргумента функции ( x = a ) и вычисляется значение функции y, которая задана системой равенств. Значения аргумента х и функции у выводятся на экран. Для расчета следующего значения функции аргумент х получает приращение h (блок 12).

После выполнения первой итерации управление передается на начало цикла, где проверяется условие повторения цикла. Если оно выполняется, то расчет функции повторяется, в противном случае происходит выход из цикла.

Логические блоки 6 и 7 определяют функцию расчета у. При a ≤ х < 2 значение у рассчитывается по формуле у = 12d + х + cos(x3) (блок 10), при 2 х 4 – по формуле y = ln|10 x2| (блок 9), при 4 < х b – по формуле

y = 4 + tg(x2) (блок 8).

Вид итерационного цикла (с пост- или предусловием) определяется условием задачи и допустимыми или возможными значениями исходных данных.

При организации цикла с постусловием необходимо помнить, что при любых начальных значениях исходных данных тело цикла обязательно будет выполнено хотя бы один раз. Если же организовать цикл с предусловием, то необходимо быть уверенным в том, что начальные значения исходных данных позволяют проверить условие выхода из цикла без его выполнения.

Задание

Лабораторная работа № 2

Теоретическая часть

Для записи математических формул в языке Delphi используются выражения. Выражение задает порядок выполнения действий над элементами данных и состоит из операндов (констант, переменных, обращений к функциям), круглых скобок и знаков операций. Операции определяют действия, которые надо выполнить над операндами. Круглые скобки ставятся как и в обычных арифметических выражениях для управления порядком выполнения операций. В языке Delphi принят приоритет операций. Вначале выполняются операции: умножения, деления ( *, /, MOD, DIV ), логические операции AND, OR, выражения в круглых скобках.

Таблица 2 – Запись некоторых математических функций на языке Delphi

Вычисляемая функция Математическая запись Запись на языке Delphi
x y   exp(y*ln(x))
  exp(1/y*ln(x))
arcsin(x)   arctan(x/sqrt(1-sqr(x)))
arccos(x)   arctan(sqrt(1-sqr(x))/x)
logy(x) lnx/lny ln(x)/ln(y)
tg(x) sinx/cosx sin(x)/cos(x)

 

В языке Delphi есть встроенные функции, которые используются в арифметических выражениях. Однако многих часто используемых математических функций в Delphi не существует, и программист должен самостоятельно вычислить их, используя стандартные функции.

Существует ряд констант и функций, к значениям которых можно обращаться без предварительного определения: функция p Pi; константа логическая «истина» – True; константа логическая «ложь» – False.

Все значения углов, используемые в функциях языка Delphi, представляются в радианах, для преобразования значения угла из радианной меры в градусную необходимо значение угла умножить на число 180/Pi.

Таблица 3 - Примеры записи математических и логических выражений на языке Delphi

Математическая запись Запись на языке Delphi
  y: =(a+sin(b/4-1)/cos(b/4-1))/(4*c-ln(b + 1 )/ln(10));
  y: =(exp((a+4)*ln(b))+c/2)/(c/3-a*b);
    (0< =x) and (x< =5)
    (5> =x) and (x> 0)
  или   ((0< =x) and (x< =5)) or ((10< =x) or (x< =25))

 

Программы в текстовом редакторе можно писать строчными или прописными буквами, символы кириллицы (русские буквы) используются только для вывода текста и в комментариях.

Задание

Записать 2 математических выражения на языке Delphi (из заданий к лабораторной работе № 3, табл. 4, 5).

Лабораторная работа № 3

Теоретическая часть

Программы с линейной структурой являются простейшими и используются для реализации обычных вычислений по формулам (рис. 1). В программах с линейной структурой инструкции выполняются последовательно, одна за другой.

Пример3.1. Написать программу вычисления функции Y(a, c, d). Значения a, c, d вводятся с клавиатуры.

 

 

 

Текст программы на языке Delphi

 

Program Project1; //заголовок программы

var a, c, d, y: real; //раздел описания переменных

begin //начало раздела операторов

writeln('Введите значения а, c, d '); //вывод текста на экран

readln(a, c, d); // ввод значений а, c, d

//вычисление значения y

//и присваивание полученного значения переменной y

y: =(sin(c)/cos(c) – d * 23)/(exp((d - 2) * ln(a)) - 1);

//вывод полученного значения на экран

writeln ('Значение функции y= ', y: 5: 2);

readln; //задержка экрана для просмотра результата

end. //конец программы

 

Содержание отчета

1. Название, цель работы и задание.

2. Блок-схема алгоритма и текст программы.

Варианты заданий (2 задания) в табл. 4, 5.

Таблица 4 - Задание 1

Функция Проверочное значение y(x) при х = 2 (или y(x1, х2) при х1 = 2 и х2 = 2)
5, 8496
-0, 6354
0, 1158
6, 027716
-1, 7147
0, 0232
46, 9482
1, 1432
  6, 022
9, 6488
0, 5693
7, 5196
6, 3159
5, 8045
2, 0480
0, 0694
3, 7921
-12, 2259

 

Таблица 5 – Задание 2

Функция и проверочные данные
При x=14.26, y=-1.22, z=0.035 t=0.564849
При x=-4.5, y=0.000075, z=84.5 u=-55.6848
При x=0.0374, y=-0.825, z=16, v=1.0553
При x=4000, y=-0.875, z=-0.000475 w=1.9873
При x=-15.246, y=0.04642, z=2000.1 =-182.036
При x=0.01655, y=-2.75, z=0.15 =-40.6307
При x=0.1722, y=6.33, z=0.000325 =-205.3056
При x=-0.02235, y=2.23, z=15.221 =39.374
При x=182.5, y=18.225, z=-0.03.298 =1.2131  
При x=0.03981, y=-1625, z=0.512 a=1.26185.
При x=6.251, y=0.827, z=25.001 b=0.7121
При x=3.251, y=0.325, z=0.0000466 c=4.2514
.
При x=17.421, y=0.010365, z=82800 f=0.33056
.
При x=1.23, y=15.4, z=252 g=82.8257.
При x=2.444, y=0.00869, z=-130 -0.49871

Контрольные вопросы

1. Из каких разделов состоит программа на языке Delphi?

2. Что такое оператор?

3. Какие операторы языка Delphi вам известны?

4. Зачем нужен оператор присваивания? Какой вид он имеет?

5. Что может быть записано в правой части оператора присваивания?

6. Что такое переменная?

7. Что такое константа?

8. Какие правила применяются для создания имен переменных?

9. Что такое идентификатор?

10. Почему знак умножения всегда выписывают явно (например, пишут a*t, а не at)?

11. Как описываются переменные в Delphi?

12. Какие стандартные числовые типы языка Delphi вам известны?

13. Что вам известно о соответствии типов переменных в языке Delphi?

14. Какие арифметические операции можно выполнять в Delphi?

15. Что вам известно о приоритете арифметических действий в Delphi?

16. Какие математические функции есть в Delphi?

17. Какая команда служит для ввода данных?

18. Какой формат записи имеет команда ввода?

19. Чем команда ввода READ отличается от READLN?

20. Какая команда служит для вывода данных?

21. Какой формат записи имеет команда вывода?

22. Чем команда вывода WRITE отличается от WRITELN?

23. Как распечатать текст?

24. Что такое форматный вывод?

25. Как напечатать значение переменной на фиксированном количестве позиций?

26. Как напечатать значение переменной с фиксированным количеством знаков после запятой?

27. Как разместить комментарии в программе?

 

Лабораторная работа № 4

Теоретическая часть

При разработке вычислительных алгоритмов часто возникает необходимость выбора направления дальнейшего решения задачи в зависимости от некоторого заданного условия. Алгоритмы такого типа называются разветвляющимися. В языке Delphi их можно реализовать с помощью условных операторов.

Условные операторы обеспечивают выполнение некоторого оператора или группы операторов в зависимости от заданных условий. Для программирования разветвляющихся алгоритмов используются условные операторы IF или CASE.

Оператор IF

Оператор условного перехода IF в программах представляется в одном из двух форматов:

IF логическое выражение THEN 1 блок инструкций

ELSE 2 блок инструкций;

или

IF логическое выражение THEN 1 блок инструкций; .

Здесь IF, THEN и ELSE - ключевые слова; логическое выражение - оператор сравнения или сложное логическое выражение; блок инструкций (1 и 2) – любые исполняемые операторы языка или блоки операторов, заключенные в операторные скобки (BEGIN... END).

При выполнении условного оператора IF вначале анализируется результат логического выражения и в зависимости от его значения управление передается одному из операторов (блоку операторов), следующему за ключевым словом THEN или ELSE. Если значение результата TRUE «истина», то выполняется оператор (блок операторов), следующий за ключевым словом THEN. В противном случае (значение результата FALSE «ложь») выполняется оператор (блок операторов), следующий за ключевым словом ELSE. Далее в любом случае выполняется оператор, следующий в программе непосредственно за оператором IF. Ниже приведен фрагмент программы, поясняющий действие рассматриваемого оператора:

IF А < = В THEN D: = 2*D ELSE D: = ABS(D);

В укороченном операторе IF отсутствует ключевое слово ELSE и блок инструкций, следующий за ним. Действия такой конструкции аналогичны рассмотренной выше. Если значение результата логического выражения TRUE, то выполняется оператор (блок операторов), следующий за ключевым словом THEN. При значении результата FALSE блок инструкций – 1 не выполняется, а сразу же выполняется блок инструкций, непосредственно следующий за оператором IF. Пример использования усеченного логического оператора IF :

IF А < = В THEN BEGIN D: = 2*D; GOTO 10 END;

В последнем фрагменте пришлось после THEN вводить не один оператор, а так называемый составной оператор (блок операторов), который заключен в операторные скобки BEGIN...END; Формат такого составного оператора имеет вид:

 

BEGIN

1 оператор;

2 оператор;

N оператор

END;

 

В операторе условного перехода любой из операторов блоков инструкций, в свою очередь, может быть оператором условного перехода, образуя так называемую вложенную конструкцию операторов IF. Создавая подобную конструкцию, следует руководствоваться принятым в Delphi соглашением о том, что инструкция ELSE всегда относится к ближайшему предшествующему IF. С учетом этого правила вложенная конструкция IF должна иметь следующий вид:

 

IF 1логическое выражение THEN 1 блок инструкций

ELSE IF 2 логическое выражение

THEN 2блок инструкций

ELSE 3 блок инструкций.

Пример 4.1. Определить значение функции У(х).

 

 

 


Program Project1; //заголовок программы

var x, y: real; //раздел описания переменных

begin //начало раздела операторов

writeln('Введите значение х'); //вывод текста на экран

write('х=');

readln(х); // ввод значения x

if х < 0.25 then y: = sqrt(abs(x+35+exp(x-1)))

else y: = x + sqr(sin(2.6*x));

writeln('при x = ', x: 6: 2, ' y = ', y: 6: 2); //вывод результата

readln; //задержка экрана

end.

Пример 4.2. Рассчитать значение функции У(х), значение х вводится с клавиатуры. При вводе значения х, для которого функция не определена, должно выводиться сообщение «Функция не определена».

 
 

 

 


Program Project2; //заголовок программы

var x, y: real; //раздел описания переменных

begin //начало раздела операторов

writeln('Введите значение х'); //вывод текста на экран

write(‘х=’);

readln(х); // ввод значения x

//1 логическое условие

if х < 1 then y: = sin(2*x+4.2)/cos(2*x+4.2)-2*x else

//2 логическое условие

if (2< =x) and (x< =5) then y: = sin(x)+sqrt(6*x) else

//3 логическое условие

if x> 7 then y: = 3.56+(2+x)/(1+sqrt(x)) else

begin writeln('При х=', х, 'функция не определена');

readln;

exit;

end;

writeln('при x = ', x: 6: 3, ' y = ', y: 6: 2); //вывод результата

readln; //задержка экрана

end.

 

Варианты заданий из табл. 6 (2 задания).

Рассчитать значение функции У(х). Значение аргумента вводится с клавиатуры. При вводе значения х, для которого функция не определена, должно выводиться сообщение «Функция не определена».

Таблица 6

1.1 1.2
2.1   2.2
3.1 3.2
4.1 4.2
5.1 5.2
6.1 6.2
7.1 7.2
8.1   8.2
9.1 9.2
10.1 10.2
11.1 11.2
12.1 12.2
13.1 13.2
14.1 14.2
15.1 15.2

 

Контрольные вопросы

1. Что такое алгоритм с ветвлением?

2. Как записывается условный оператор (оператор ветвления) в Delphi?

3. Что такое полная и сокращенная записи условного оператора?

4. Что используется в качестве условий в операторе ветвления?

5. Какие знаки отношений можно использовать при составлении условий?

6. Что такое составное условие?

7. Каковы правила записи составных условий?

8. Какие вы знаете логические операции?

9. Какие действуют правила старшинства логических операций?

10. Что располагается после служебных слов THEN и ELSE?

11. Что такое составной оператор? Какую структуру он имеет?

12. B каких случаях используется составной оператор?

Лабораторная работа № 5

Оператор выбора CASE

Инструкция Case используется для выбора одного из нескольких направлений дальнейшего хода программы (последовательности инструкций, которые могут быть выполнены). Эта структура обеспечивает выбор одного из ряда возможных действий, в зависимости от значения, которое принимает переменная-селектор (условие). Выбор варианта действия осуществляется во время выполнения программы в зависимости от равенства значения переменной-селектора константе, указанной перед группой инструкций. В качестве переменной-селектора можно использовать переменную скалярного типа (integer или char). Конструкция имеет следующий формат:

CASE переменная-селектор OF

1 константа: 1 оператор;

2 константа: 2 оператор;

- - - - - - - - - - - - - - - - - - - -

N константа: N оператор

ELSE

оператор;

END;

 

Эта конструкция имеет и укороченный формат:

CASE переменная-селектор OF

1 константа: 1 оператор;

2 константа: 2 оператор;

- - - - - - - - - - - - - - - - - - - - -

К константа: К оператор

END;

 

Пример 5.1. Вводится число от 0 до 21. Вывести сообщение: число меньше 10, число больше 10, число равно 10. При вводе числа больше 20 или меньше 0 должно выводиться сообщение «Ошибка ввода».

 

Program Project1; //заголовок программы

var a: integer; //раздел описания переменных

begin //начало раздела операторов

write('Введите число а='); //вывод текста на экран

readln(а); //ввод значения а

case a of

0..9: writeln(‘число меньше 10’);

11..20: writeln(‘число больше 10’);

10: writeln(‘число равно 10’);

else

writeln(‘Ошибка ввода’)

end;

readln;

end.

 

Варианты заданий

При некорректном воде исходных данных программа должна выводить сообщение «Ошибка ввода».

 

1. Вводится число от 1 до 4, определяющее пору года. Дать название этой поры года (1 — зима, 2 — весна, 3 — лето, 4 — осень).

2. Вводится число от 1 до 7, определяющее день недели. Дать название этого дня (1 — понедельник, 2 — вторник, ..., 7 — воскресенье).

3. Вводятся числа 12, 1, 2, определяющие зимний месяц года. Дать название этого месяца года (1 — январь, 2 — февраль, 12 — декабрь).

4. Вводится число от 1 до 10. Дать название этого числа (1 — один, 2 — два, …, 10 — десять).

5. Дано натуральное число A (A< 20), определяющее сумму денег в рублях. Дать для этого числа наименование: " рубль", " рубля", " рублей".

6. Дано натуральное число N (N< 100), определяющее возраст человека в годах. Дать для этого числа наименование: " год", " года", " лет".

7. Вводится число от 1 до 12, определяющее месяц года. Дать название этого месяца года (1 — январь, 2 — февраль, ..., 12 — декабрь).

8. Вводится число от 1 до 20. Дать название этого числа (1 — один, 2 — два, ..., 20 — двадцать).

9. Вводятся числа 3, 4, 5, определяющие весенний месяц года. Дать название этого месяца года (3 — март, 4 — апрель, 5 — май).

10. Вводится число от 1 до 10. Дать название этого числа (1 — один, 2 — два, ..., 10 — десять).

11. Вводится число от 2 до 10. Вывести сообщение: четное или нечетное введенное число.

12. Вводится число от – 10 до 10. Вывести сообщение: введенное число больше 0, меньше 0 или равно 0.

13. Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: «Рабочий день», «Суббота», «Воскресенье».

14. Вводится номер месяца (1, 2, …, 12). Вывести количество дней в указанном месяце.

15. Вводится значение года в укороченной форме (от 0 по 10). Вывести значение года текущего столетия в полном формате (0 – 2000, 1 – 2001 и т.д.).

 

Контрольные вопросы

1. Как в Delphi записывается оператор выбора?

2. Для чего предназначен оператор выбора?

3. Что такое полная и сокращенная записи оператора выбора?

4. Какого типа должна быть переменная, значения которой выбирают с помощью оператора CASE?

 

Лабораторные работы № 6 – 7

Тема. Вычисление сумм (произведений) конечного числа элементов ряда. Оператор FOR …DO (FOR... DOWNTO)

Цель работы: научиться разрабатывать блок-схему алгоритма и программу с использованием операторов цикла FOR …DO на примере вычисления сумм (произведений) элементов конечного ряда

Теоретическая часть

Оператор FOR …DO

Циклические вычисления в Delphi реализуются с помощью операторов FOR...TO(DOWNTO)...DO, WHILE...DO или REPEAT...UNTIL.

Особенностью операторов FOR...TO(DOWNTO)...DO является встроенный внутренний счетчик цикла, фиксирующий количество повторений. Форматы записи оператора:

FOR переменная цикла: = выражение 1 TO выражение 2 DO

{операторы тела цикла};

или

FOR переменная цикла : =выражение 1DOWNTO выражение 2 DO

{операторы тела цикла};

В формате: переменная цикла (управляющая переменная, счетчик цикла) – имя переменной целочисленного типа; выражения 1 и 2 — выражения, тип результата которых совпадает с типом переменной цикла; операторы тела цикла любой исполнимый оператор или блок операторов, заключенных в операторные скобки; FOR, TO, DOWNTO и DO – ключевые слова.

Использование оператора FOR регламентируется следующими правилами.

· Переменная цикла, её начальное и конечное значения должны быть одного типа.

· При выполнении оператора очередное значение параметра цикла вычисляется автоматически. В частности, для целого типа шаг изменения значения переменной цикла равен 1 при конструкции с TO и -1 при конструкции с DOWNTO.

· После служебного слова DO может стоять только один оператор. Если в цикле необходимо выполнить группу операторов, то их заключают в операторные скобки BEGIN. .. END, образуя составной оператор.

· Цикл не выполняется вообще, если начальное значение переменной цикла больше (при DOWNTO меньше), чем конечное. В этом случае управление передается оператору, следующему непосредственно за конструкцией FOR. . TO ( DOWNTO )... DO.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-03; Просмотров: 1664; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.209 с.)
Главная | Случайная страница | Обратная связь