Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль / 1 семестр / лекции / цуцуцуцуц.doc
Скачиваний:
19
Добавлен:
30.04.2013
Размер:
213.5 Кб
Скачать

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

Д

План ”Ввод-массива-вещественных-чисел”

Внутр. перем.: n, j : цел {n – фактический объем массива}

a[1..nmax] : вещ { nmax = 100 - константа}

Нач

{ввод числа элементов массива}

цикл

вывод (’Введите число элементов ’)

ввод (n)

если (n<1) или (n>nmax) то

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

все

кцикл-до (n>=1) и (n<=nmax)

{ввод элементов массива}

цикл-для j от 1 до n

вывод (’введите ’,j,’-й элемент ’)

ввод (a[j])

кцикл

Кон а2. Вывод одномерного массива целых по k чисел в строке

анный алгоритм представлен на псевдокоде:

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

Т

for j:=1 to n do begin {повторить для каждого элемента}

write (a[j]:7); {напечатать текущий в 7-ми позициях}

if (j mod k)=0 then {если текущий k–й в строке то}

writeln; {сменить строку}

{end if}

end; {for}

writeln; {перейти на новую строку}

екст А2 на Паскале приведен ниже.

А3. Вывод элементов прямоугольной матрицы по строкам

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

{Пусть матрица имеет n строк и m столбцов,}

{а ее элементы – вещественные числа }

{Пусть также все m элементов помещаются в одной строке печати}

for i:=1 to n do begin

for j:=1 to m do {печатать все элементы строки j}

write (a[i,j]:8:2); {напечатать число в 8-ми позициях, }

{отобразив в нем 2 десятичные цифры}

{end if}

writeln; {сменить строку печати перед выводом

новой строки матрицы}

end;

А4. Сумма элементов массива:

S := 0;

for j:=1 to n do

S := S + a[j]; {Повторить для каждого элемента}

{end for}

А5. Поиск максимального / минимального элемента

Н

Алгоритм 5а

Алгоритм 5б

amax := a[1];

for j:=2 to n do

if a[j]>amax then

amax := a[j];

{end if}

{end for}

{максимальное значение

в переменной amax}

jmin := 1;

for j:=2 to n do

if a[j]<a[jmin] then

a[jmin] := a[j];

{end if}

{end for}

{индекс минимального элемента jmin }

{а само значение - в a[jmin]}

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

А6. Подсчет числа элементов массива, удовлетворяющих условию

np := 0; { np : integer }

for j:=1 to n do

if (a[j] удовлетворяет условию) then

np := np + 1;

{end if}

{end for}

{После завершения ципкла переменная np содержит

число элементов массива, удовлетворяющих условию}

В этом типовом алгоритме можно указать то условие, которое необходимо в конкретных условиях. Так, например, при подсчете количества положительных чисел это условие имеет вид «(a[j]>0)», а в случае подсчета количества простых чисел «Simple(a[j])», гдеSimple – имя функции, возвращающей значение TRUE. еслиa[j]простое число, и FALSE – в противоположном случае.

Соседние файлы в папке лекции