Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Лабораторные задания.

ЛАБОРАТОРНАЯ РАБОТА №4.

УСЛОВНЫЙ ОПЕРАТОР. ОПЕРАТОР ВЫБОРА. ЦИКЛИЧЕСКИЕ ОПЕРАТОРЫ. РАЬОТА С МАССИВАМИ.

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

Краткие теоретические сведения.

1)Массив -это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются в последовательных ячейках памяти, обозначаются именем массива и индексом. Каждое из значений, составляющих массив, называется его компонентой (или элементом массива).

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

 

имя массива:array [тип индекса] of базовый тип;

Чаще всего типом индекса является диапазон. Например,

var

B: Array [1..5] Of Real;

R: Array [1..34]Of Char;

2) Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным. Вообще количество индексов элементов массива определяет размерность. По этому признаку массивы делятся на одномерные (линейные), двумерные, трехмерные и т.д.

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

 

3) Условный оператор if может иметь две формы – краткую и полную.

 

E APMAAAAiBgAAAAA= " fillcolor="white [3201]" strokecolor="black [3213]" strokeweight="1pt">

Услов. теоретические сведения.  
Оператор
да
нет

 


Рисунок 1. Алгоритмическая схема краткой формы учловного оператора

При выполнении оператора анализируется условие. Если оно имеет значение

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

If Усл. Then

Begin

Оператор 1;

Оператор 2;

Оператор 3;

end;

Оператор 1
Оператор 2
нет
да
Услов

 

Рисунок 2. Алгоритмическая схема полной формы условного оператора

Эта схема соответствует такой строке программного кода

 

if Услов. then Оператор 1 else Оператор 2;

При выполнении оператора анализируется условие. Если оно имеет значение, выполняется Оператор 1, иначе выполняется Оператор 2 оператор завершает свою работу. Как и в краткой форме операторы могут быть составными.

 

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

нет
Ключ выбора
Оператор 4
u qi7dAAAACQEAAA8AAABkcnMvZG93bnJldi54bWxMj0FPwzAMhe9I/IfISNxYOpA6KE0nhMRhBw4b CNjNTby2onGqJuvKv8eIA9xsv6fn75Xr2fdqojF2gQ0sFxkoYhtcx42B15enq1tQMSE77AOTgS+K sK7Oz0osXDjxlqZdapSEcCzQQJvSUGgdbUse4yIMxKIdwugxyTo22o14knDf6+ssy7XHjuVDiwM9 tmQ/d0dv4Pl9M7zZert3H/NmyvZoDxNHYy4v5od7UInm9GeGH3xBh0qY6nBkF1VvIM/ucrGKcLME JYZ8tZKh/j3oqtT/G1TfAAAA//8DAFBLAQItABQABgAIAAAAIQC2gziS/gAAAOEBAAATAAAAAAAA AAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAGAAgAAAAhADj9If/WAAAAlAEA AAsAAAAAAAAAAAAAAAAALwEAAF9yZWxzLy5yZWxzUEsBAi0AFAAGAAgAAAAhAD6ZJcoKAgAAOwQA AA4AAAAAAAAAAAAAAAAALgIAAGRycy9lMm9Eb2MueG1sUEsBAi0AFAAGAAgAAAAhAN4uqi7dAAAA CQEAAA8AAAAAAAAAAAAAAAAAZAQAAGRycy9kb3ducmV2LnhtbFBLBQYAAAAABAAEAPMAAABuBQAA AAA= " strokecolor="black [3213]">
Оператор 1
Оператор 2
Оператор 3
да

 


Рисунок 3. Алгоритмическая схема оператора выбора

Эта схема соответствует такой строке программного кода

case <ключ_выбора> of < список_выбора > else < оператор > end;

Оператор работает следующим образом, вначале вычисляется выражение <ключ_выбора>, а затем в последовательности операторов <список_выбора> выполняется тот, которому предшествует константа, равная вычисленному значению, после чего оператор выбора завершает свою работу. Если в списке выбора не будет найдена, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом else.

 

5) Циклические операторы используются для многократного повторения некоторого фрагмента программы, который называют телом цикла. Если количество повторений заранее известно, то используется счетный оператор цикла for.

for i от 1 до 10  
Оператор

 


Рисунок 4. Алгоритмическая схема счетного оператора цикла

Эта схема соответствует такой строке программного кода

for < параметр_цикла > :=<нач_значение> to < кон_значение > do Оператор

При выполнении оператора for вначале вычисляется значение < нач_значение > и осуществляется присваивание < параметр_цикла > :=<нач_значение>

После этого циклически повторяется следующая последовательность действий:

1. Проверяется условие <параметр_цикла>><кон_значение>. Если условие выполнено оператор прекращает работу. Иначе п.2

2. Выполняется Оператор

3. Происходит наращивание переменной <параметр_цикла> на единицу.

 

6) Оператор цикла с предварительной проверкой условия while в алгоритмической форме имеет вид

while a>b
Оператор

 

 


Рисунок 5. Алгоритмическая схема оператора цикла с предварительной проверкой условия.

Эта схема соответствует такой строке программного кода

while Усл do Оператор

 

При выполнении оператора анализируется условие. Если оно имеет значение True, выполняется Оператор, после чего вычисление выражения и его проверка повторяются. Если условие имеет значение False, оператор while прекращает свою работу.

 

7) Оператор цикла с постпроверкой условия repeat…until в алгоритмической форме имеет вид

Оператор
until a>b

 

 


Рисунок 6. Алгоритмическая схема оператора цикла с постпроверкой условия.

Эта схема соответствует такой строке программного кода

repeat Оператор until Усл;

Оператор выполняется хотя бы один раз, после чего вычисляется выражение Усл. Если его значение false, то Оператор повторяется, в противном случае цикл repeat…until завершает свою работу.

 

8) Изобразить и пояснить алгоритм программы, в которой пользователь заполняет одномерный массив, содержащий 8 элементов, а затем он выводиться на экран.

Program test1;

var

A: array [1..8] of real;

i,j: integer;

begin

for i:=1 to 8 do

begin

writeln(‘Vvedite znachenie A [‘,I,’]’);

readln(A[i]);

end;

writeln (‘Massiw A’);

for j:=1 to 8 do

begin

writeln(‘A[‘,J,’]=’,A[j]:7:3);

end;

end.

9) Написать и пояснить программу на языке Паскаль, в которой пользователь заполняет двухмерный массив размером 4х5 элементов, а затем он выводиться на экран.

Program test2;

var

A: array [1..4,1..5] of real;

i, j, k, m: integer;

begin

for i:=1 to 4 do

begin

writeln(‘Vvedite znachenie A[‘,I,’]’);

readln (A[i]);

end;

begin

for j:=1 to 5 do

begin

writeln(Vvedite znachenie A[‘,J,’]);

readln(A[j]);

end;

writeln(‘Massiw A’);

for k:=1 to 4 do

begin

for m:=1 to 5 do

writeln(‘A[‘,K,’,M,’]=’, A[k,m]:7:3);

end;

end.

Лабораторные задания.

 

Задание 1 – Напишите программу на языке Паскаль для работы с одномерным массивом в соответствии со своим вариантом. Массив должен заполняться пользователем вручную. Программа, которая находит в одномерном массиве максимальный элемент.

 

Program maksmas;

var

a: array[1..5] of integer;

max, i: integer;

begin

for i:=1 to 5 do

begin

writeln(‘Vvedite znachenie a[‘,i,’]’);

read(a[i]);

end;

writeln;

for i:=1 to 5 do

write(a[i],’ ‘)

writeln;

max:=a[i];

for i:=1 to 5 do

if a[i]>max then a[i]:=max;

writeln(‘maximum=’, max);

read(i);

end.

Задание 2 – Напишите программу на языке Паскаль для работы с двухмерным массивом в соответствии со своим вариантом. Массив должен заполняться автоматически случайными числами. Программа должна находить среднее арифметическое значение элементов в каждой строке.

 

Program zadanie_2;

var

a: array [1..5,1..5] of integer;

i,j,c: integer;

begin

randomize;

for i:=1 to 5 do

begin

for j:=1 to 5 do

a[i,j]:=random (100);

end;

writeln(‘Massiw’);

for i:=1 to 5 do

begin

writeln (‘ ’);

for j:=1 to 5 do

write(a[i,j],’ ‘);

end;

readln;

writeln(‘Srednee arifmeticheskoe’);

for i:=1 to 5 do

begin

c:=0;

for j:=1 to 5 do

c:=(a[i,j]+c);

writeln(c/5:7:2);

end;

readln;

end.

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

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...