Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Osnovy_algoritmov_i_programmirovania_Voprosy_k....docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
347.87 Кб
Скачать

Общая форма записи цикла со счетчиком

for i := A to B do   begin     . . .   end;

for i := A downto B    do   begin     . . .   end;

Здесь переменная i - управляющая переменная или переменная цикла,

А - начальное значение переменной цикла,

В - конечное значение переменной цикла.

При переходе к обработке оператора цикла for управляющей переменной присваивается заданное начальное значение. Затем в цикле выполняется исполнительный оператор (или составной оператор). Каждый раз при выполнении исполнительного оператора управляющая переменная увеличивается на 1 (для for...to) или уменьшается на 1 (для for...downto). Цикл завершается при достижении управляющей переменной своего конечного значения.

Например,

1) for i := 1 to ListSize do     begin       readln (Number):       S := S +Number;     end;

2) for Dlina := 15 downto 1 do       writeln (Sqr(Dlina));

При использовании цикла for компьютер выполняет за программиста черновую работу по инициализации управляющей переменной и по ее увеличению (уменьшению) при каждом повторении цикла. Единственное ограничение заключается в том, что тип управляющей переменной не должен быть real. Переменная цикла не должна изменяться какими-либо операторами внутри цикла. К ней можно обращаться и использовать в вычислениях, но нельзя присваивать новое значение. Присваивания могут выполняться только механизмом самого цикла. Управляющая переменная должна описываться, как и любая другая переменная. Обычно переменная цикла имеет тип integer

  1. Вложенные циклы

Цикл вложенный в цикл

  1. Массивы данных. Действия над элементами массива

Доступ к элементам массива

Рассмотрите предложенные ниже фрагменты программ для решения некоторых типичных задач.

Изменение значения некоторых элементов

Задача. Заменить отрицательные элементы на противоположные по знаку.

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

Procedure Zamena (Var m : MyArray; n:integer); Var   i : integer; Begin   for i := 1 to n do     if m[i] < 0       then         m[i] := -m[i]; End;

Нахождение номеров элементов с заданным свойством

Задача. Найти и вывести на экран номера четных элементов.

Для решения задачи необходимо просмотреть весь массив, и если просматриваемый элемент является четным, то выводить его номер.

Procedure PoiskChet(m : MyArray; n:integer); Var   i : integer; Begin   for i := 1 to n do     if m[i] mod 2 =0       then         Write(i:5); End;

  1. Ввод, вывод элементов массива

Понятие структуры

До сих пор мы работали с простыми типами данных – логический ( boolean ), целый ( integer , word , byte , longint ), вещественный ( real ), символьный ( char ). Любой алгоритм можно запрограммировать с помощью этих четырех базовых типов. Но для обработки информации о многообразном реальном мире требуются данные, имеющие более сложное строение. Такие сложные конструкции, основанные на простейших скалярных типах, называются структурами. Структура – некоторый составной тип данных, составленный из базовых скалярных. Если структура не изменяет своего строения на протяжении всего выполнения программы, в которой она описана, то такую структуру называют статической.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]