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

План отчета по алгоритмизации.

Отчет Петровой Ксении Викторовны

Группа 21115

Вариант г, номер задания 5(а).

1) Цель: Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем - все нечетные числа в порядке убывания их индексов.

2) Сведения о численном методе.

Массивы:

a: array [1..10] of char - объявление одномерного массива,

состоящего из 10 элементов типа "символ".

b: array [1..10, 1..10] of real - двухмерный массив дробных чисел.

Пример ввода n элементов массива:

for i:=1 to n do

begin

writeln('введите',i,'-элемент массива');

readln(matrix[i]);

end;

Ввод пользовательских типов данных в Pascal: В Pascal кроме стандартных типов (real, integer и др.) программист

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

Program ...

uses ...

type myarr = array [1..10] of integer;

var a,b,c: myarr;

Begin

...

End.

3)Листинг программы:

program Project1;

{$mode objfpc}{$H+}

uses crt;

var

mas: array of integer;

N, i: integer;

begin

ClrScr;

write('Vvedite razmer massiva N = ');

readln(N);

SetLength(mas, N);

writeln('Vvedite massiv iz ', N, ' chisel:');

for i:=0 to N-1 do

begin

read(mas[i]);

end;

writeln('Chetnie v poryadke vozrastaniya indexov: ');

for i:=0 to N-1 do

begin

if mas[i] mod 2 = 0

then

write(mas[i], ' ');

end;

writeln();

writeln('Nechetnie v poryadke ubivaniya indexov: ');

for i:=N-1 downto 0 do

begin

if mas[i] mod 2 = 1

then

write(mas[i], ' ');

end;

Repeat Until keypressed

end.

2)Блок схема:

3) Трассировка:

4)Вывод: написала программу для выведения вначале всех содержащиеся в данном массиве четных чисел в порядке возрастания их индексов, а затем - всех нечетных чисел в порядке убывания их индексов.

План отчета по алгоритмизации.

Отчет Петровой Ксении Викторовны

Группа 21115

Вариант г, номер задания 5(б).

1) Цель: Дан целочисленный массив размера N. Если он является перестановкой, то есть содержит все числа от 1 до N, то вывести 0; в противном случае вывести номер первого недопустимого элемента.

2) Сведения о численном методе.

Массивы:

a: array [1..10] of char - объявление одномерного массива,

состоящего из 10 элементов типа "символ".

b: array [1..10, 1..10] of real - двухмерный массив дробных чисел.

Пример ввода n элементов массива:

for i:=1 to n do

begin

writeln('введите',i,'-элемент массива');

readln(matrix[i]);

end;

Ввод пользовательских типов данных в Pascal: В Pascal кроме стандартных типов (real, integer и др.) программист

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

Program ...

uses ...

type myarr = array [1..10] of integer;

var a,b,c: myarr;

Begin

...

End.

3)Листинг программы:

program Project1;

{$mode objfpc}{$H+}

uses crt;

var

j,i:integer;

N:integer;

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

bol:boolean;

begin

writeln('Vedite N (N<=10)');

readln(N);

for i:=1 to n do begin write('a[',i,']=');

readln(A[i]);

end;

bol:=false;

for i:=1 to n do

begin

if (a[i]>N)or(a[i]<1)then bol:=true;

for j:=i+1 to n do

begin

if a[i]=a[j] then bol:=true;

end;

if bol then

begin

writeln('Nomer pervogo nedopustimogo elementa= ',i);

break;

end;

end;

if not bol then writeln('Otvet = ',0);

Начло

readln;

end.

4)Блок схема:

Ведите N (N<=10)

i:=1

i<=N

A[i]

i:=i+1

bol:=false

i:=1

i<=N

Нет

Да

a[i]>N or a[i]<1

bol:=true

i:=i+1

Нет

Да

bol

Вывод i

Вывод 0

Нет

Да

Not bol

Конец

5) Трассировка:

6)Вывод: написала программ для целочисленный массив размера N. Если он является перестановкой, то есть содержит все числа от 1 до N, то вывести 0; в противном случае вывести номер первого недопустимого элемента.

План отчета по алгоритмизации.

Отчет Петровой Ксении Викторовны

Группа 21115

Вариант в, номер задания 6(а).

1) Цель: Описать процедуру SortInc3(A, B, C), меняющую содержимое переменных A, B, C таким образом, чтобы их значения оказались упорядоченными по возрастанию (A, B, C - вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по возрастанию два данных набора из трех чисел: (A1, B1, C1) и (A2, B2, C2).

2) Сведения о численном методе.

Program ...

uses ...

var ... - описание глобальных переменных

Function name(xl[,xl1,...]:<type>):<type>;

var ... - описание локальных переменных

Begin

...

End;

Begin - основной блок программы

...

s:= name(xg[,xg1,...]); - вызов функции с глобальными параметрами

...

End.

xg и xl - глобальные и локальные переменные.

xg и xl могут иметь одинаковые имена.

3)Листинг программы:

program Project1;

{$mode objfpc}{$H+}

uses

{$IFDEF UNIX}{$IFDEF UseCThreads}

cthreads,

{$ENDIF}{$ENDIF}

Classes

{ you can add units after this };

Var A1,B1,C1,A2,B2,C2:integer;

Procedure SortDec(Var A,B,C:integer);

Var t:integer;

Begin

Repeat

if A<B then

Begin

t:=A;

A:=B;

B:=t;

End;

if B<C then

Begin

t:=B;

B:=C;

C:=t;

End;

Until (A>B)and(B>C);

End;

Begin

write('Vedite A1,B1,C1: ');readln(A1,B1,C1);

write('Vedite A2,B2,C2: ');readln(A2,B2,C2);

SortDec(A1,B1,C1);

writeln('A1,B1,C1: ',A1:3,B1:3,C1:3);

SortDec(A2,B2,C2);

writeln('A2,B2,C2: ',A2:3,B2:3,C2:3);

readln;

End.