Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемСветлана Гайдовская
1 var i:integer; procedure Line(n:integer;c:char); var i:integer; begin for i:=1 to n do write(c); writeln; end; begin writeln('таблица квадратных корней'); line(14,'='); writeln('Число корней'); line(14,'='); for i:=1 to 5 do begin writeln(i:5,' ',sqrt(i):6:3); line(14,'-'); end end. Вывести таблицу квадратов корней чисел, используя функцию Line для оформления таблицы
2 Пример 2 Составить программу подсчета суммы элементов массива из 20 чисел, имеющих четные порядковые номера. Этот пример мы разберем для того, чтобы продемонстрировать заполнение массива с помощью функции случайных чисел. Чтобы функция вырабатывала случайное число из промежутка [a;b] используется следующая запись: Random(b-a+1)+a В программу надо включить процедуру randomize, которая будет инициализировать генератор случайных чисел random(х)
3 Команда вызова процедуры Блок/схема процедуры записывается отдельно от основной программы.
4 В ЯП Паскаль в описании процедур в списке параметров нельзя описывать массивы таким образом: procedure Tabl(var x: array[1..n] of integer); Поэтому в основной программе до описания массивов можно указать тип данных массив: type arr = array[1..n] of integer; И затем этот тип данных использовать при описании массивов в самой программе и в процедурах при описании формальных параметров type arr = array[1..n] of integer; var i, k, z: integer; а :arr; procedure Tabl(var x: arr);
5 const n=20; type t=array[1..n] of integer; var a: t; s,i:integer; begin randomize; writeln('Заданный массив целых чисел'); s:=0; for i:=1 to n do begin a[i]:=random(201)-100; write(a[i],' '); if i mod 2=0 then s:=s+a[i] end; writeln; writeln('сумма элементов с четными номерами','равна',s) end.
6 Пример: Составим программу для перестановки m-го и k-го элементов одномерного массива. Пример: Составим программу для перестановки пятого и восьмого элементов одномерного массива.
7 Блок-схема основной программы начало Creat(n,a) конец Введите номера переставляемых элементов k и m Массив после перестановки k- го и m-го элементов transp _two(n,k,m,a)
8 procedure create(n: integer;var a:t); i:=1,n A[i], конец Блок-схема процедуры создания числового массива с помощью функции случайных чисел randomize заданный массив целых чисел A[i]:= Random(201)
9 p:=a[k]; a[k]:=a[m] ; a[m]:=p; procedure transp_two(n,k,m: integer;var a:t); i:=1,n A[i], конец Блок-схема процедуры перестановки элементов массива и его вывода на экран i:=1,n
10 Блок-схема основной программы начало Creat(n,a) конец Введите номера переставляемых элементов k и m Массив после перестановки k- го и m-го элементов transp _two(n,k,m,a)
11 const n=10; type t=array[1..n] of integer; var a: t; k,m:integer; procedure create(n:integer;var a: t); var i:integer; begin randomize; writeln('Заданный массив целых чисел'); for i:=1 to n do begin a[i]:=random(201)-100; write(a[i],' '); end; writeln; end; { } procedure transp_two(n,k,m:integer;var a:t); var i,p:integer; begin p:=a[k]; a[k]:=a[m] ; a[m]:=p; for i:=1 to n do write(a[i],' '); writeln; end; { } begin create(n,a); write('введите номера переставляемых элементов'); readln(k,m); writeln('массив после перестановки'); transp_two(n,k,m,a); end.
12 Пример: Составим программу для перестановки k-го элемента одномерного массива в начало. Пример: Составим программу для перестановки пятого элемента одномерного массива в начало.
13 Блок-схема основной программы начало Creat(n,a) конец Введите номер переставляемого элемента k Массив после перестановки k- го элемента в начало transp _begin(n,k,a)
14 p:=a[i]; a[i-1]:=a[i] ; a[i]:=p; procedure transp_begin(n,k: integer;var a:t); i:=k,2 Блок-схема процедуры перестановки элементов массива и его вывода на экран A[i], конец i:=1,n
15 Const n=10; type t=array[1..n] of integer; var a: t; k,i:integer; procedure create(n:integer;var a: t); var i:integer; begin randomize; writeln('Заданный массив целых чисел'); for i:=1 to n do begin a[i]:=random(201)-100; write(a[i],' '); end; writeln; end;
16 { } procedure transp_begin(n,k:integer;var a:t); var i,p:integer; begin for i:=k downto 2 do begin p:=a[i-1]; a[i-1]:=a[i] ; a[i]:=p; end; writeln('массив после перестановки элемента в начало'); for i:=1 to n do write(a[i],' '); writeln end; { } begin create(n,a); write('введите номер переставляемого элемента'); readln(k); transp_begin(n,k,a); end.
17 1. Измените приведенную выше программу так, чтобы заданный элемент перемещался в конец массива (на последнее место) 2. Измените приведенную выше программу так, чтобы она последовательно перемещала два рядом стоящих элемента а[k] и a[k+1] в начало массива. Задача 4 В одномерном массиве необходимо найти номер заданного пользователем числа и переставить его на первое место в массиве, последовательно меняя местами с соседними элементами.
18 Полностью программу можно составить из трех процедур: 1. Создание массива – creat; 2. Поиск номера элемента – search_number; 3. Перестановка элемента в начало массива transp_begin
19 Блок-схема основной программы начало Creat(n,a) конец Введите переставляемый элемент, d Массив после перестановки k- го элемента в начало transp _begin(n,k,a) Search_number(d,a,k)
20 procedure search_number(d:integer;a:t;var k:integer); k:=0 k:=k+1 until a[k]=d конец
21 Const n=10; type t=array[1..n] of integer; var a: t; k,i,d:integer; procedure create(n:integer;var a: t); var i:integer; begin randomize; writeln('Заданный массив целых чисел'); for i:=1 to n do begin a[i]:=random(201)-100; write(a[i],' '); end; writeln; end; { } procedure search_number(d:integer;a:t;var k:integer); begin k:=0; repeat k:=k+1; until a[k]=d end; { }
22 procedure transp_begin(n,k:integer;var a:t); var i,p:integer; begin for i:=k downto 2 do begin p:=a[i-1]; a[i-1]:=a[i] ; a[i]:=p; end; writeln('массив после перестановки элемента в начало'); for i:=1 to n do write(a[i],' '); writeln end; { } begin create(n,a); write('введите переставляемый элемента'); readln(d); search_number(d,a,k); transp_begin(n,k,a); end.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.