Одномерные массивы. Разработка приложений, работающих с компонентами массива

Страницы работы

Содержание работы

Министерство образования Российской Федерации

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Лабораторная работа №3

по курсу «Информатика и программирование»

«Одномерные массивы»

Факультет бизнеса

Группа ФБИ-02

Студент

Преподаватель Зайцев М.Г.

Новосибирск

2011

  1. Разработайте приложение, которое находит и отображает на экране сумму значений компонентов массива A: vector.

program Project1;

{$APPTYPE CONSOLE}

uses

  SysUtils;

const n = 5;

type

index = 0..n -1;

vector = array [index] of integer;

var A:vector; s,i:integer;

begin

  s:=0;

  for i:=0 to (n-1) do

  begin

    write('A[',I,'] = '); readln(A[I]);

  end;

  for i:=0 to (n-1) do

  begin

  s:=s+A[i];

  end;

  writeln ('s=', s);

  readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Примечание

1

A[0]=1 A[1]=4

A[2]=5 A[3]=3

A[4]=7

S=20

2

A[0]=5 A[1]=3

A[2]=8 A[3]=6

A[4]=1

S=23

  1. Разработайте приложение, которое обеспечивает скалярное произведение массивов A:vector на B:vector

program Project2;

{$APPTYPE CONSOLE}

uses

  SysUtils;

const n = 5;

type

index = 0..n -1;

vector = array [index] of integer;

var A,B:vector; s,i:integer;

begin

  s:=0;

  for i:=0 to (n-1) do

  begin

    write('A[',I,'] = '); readln(A[I]);

  end;

  for i:=0 to (n-1) do

  begin

    write('B[',I,'] = '); readln(B[I]);

  end;

  for i:=0 to (n-1) do

  begin

  s:=s+A[i]*B[i];

  end;

  writeln ('s=', s);

  readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Примечание

1

A[0]=1 A[1]=4

A[2]=5 A[3]=3

A[4]=7

B[0]=5 B[1]=3

B[2]=8 B[3]=6

B[4]=1

S=82

2

A[0]=3 A[1]=5

A[2]=1 A[3]=6

A[4]=4

B[0]=7 B[1]=9

B[2]=12 B[3]=3

B[4]=2

S=104

  1. Разработайте приложение, которое вычисляет и выводит элементы массива C:vector (сi= ai - bi), полученного вычитанием массива B:vector из массива A:vector, на экран.

program Project1;

{$APPTYPE CONSOLE}

uses

  SysUtils;

const n = 5;

type

index = 0..n -1;

vector = array [index] of integer;

var A,B,C:vector; i:integer;

begin

  for i:=0 to (n-1) do

  begin

    write('A[',I,'] = '); readln(A[I]);

  end;

  for i:=0 to (n-1) do

  begin

    write('B[',I,'] = '); readln(B[I]);

  end;

  for i:=0 to (n-1) do

  begin

  C[i]:=A[i]-B[i];

  writeln ('C[',i,']=',C[i]);

  end;

  readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Примечание

1

A[0]=1 A[1]=4

A[2]=5 A[3]=3

A[4]=7

B[0]=5 B[1]=3

B[2]=8 B[3]=6

B[4]=1

C[0]=-4

C[1]=1

C[2]=-3

C[3]=-3

C[4]=6

2

A[0]=3 A[1]=5

A[2]=1 A[3]=6

A[4]=4

B[0]=7 B[1]=9

B[2]=12 B[3]=3

B[4]=2

C[0]=-4

C[1]=-4

C[2]=-11

C[3]=3

C[4]=2

  1. Разработайте приложение, которое находит и отображает на экране минимальное значение компонентов массива A:vector.

program Project2;

{$APPTYPE CONSOLE}

uses

  SysUtils;

const n = 5;

type

index = 0..n -1;

vector = array [index] of integer;

var A:vector; i,t:integer;

begin

  for i:=0 to (n-1) do

  begin

    write('A[',I,'] = '); readln(A[I]);

  end;

  t:= A[0];

  for i:=1 to (n-1) do

  begin

    if (t>A[i]) then t:=A[i];

  end;

  writeln ('max=',t);

  readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Примечание

1

A[0]=1 A[1]=4

A[2]=5 A[3]=3

A[4]=7

Min=1

2

A[0]=5 A[1]=3

A[2]=8 A[3]=6

A[4]=12

Min=3

  1. Разработайте приложение, которое находит в массиве A:vector заданное значение и отображает на экране индекс, под которым заданное значение хранится в массиве. Если заданное значение в массиве не найдено, выводится значение -1.

program Project1;

{$APPTYPE CONSOLE}

uses

  SysUtils;

  const n = 5;

type

index = 0..n -1;

vector = array [index] of integer;

var A:vector; i,h,y:integer;

begin

  for i:=0 to (n-1) do

  begin

    write('A[',I,'] = '); readln(A[I]);

  end;

  write ('y=');

  readln (y);

  h:=-1;

  for i:=0 to (n-1) do

  begin

  if y=A[i] then h:=i

  end;

  writeln('n=', h);

  readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Примечание

1

A[0]=1 A[1]=4

A[2]=5 A[3]=3

A[4]=7

Y=5

N=2

2

A[0]=5 A[1]=3

A[2]=8 A[3]=6

A[4]=12

Y=4

N=-1

  1. Разработайте приложение, которое находит в массиве A:vector первое чётное значение и отображает на экране найденное значение и индекс, под которым оно хранится в массиве. Если чётных значений в массиве не найдено, выводится значение -1.

program job6;

{$APPTYPE CONSOLE}

uses

  SysUtils;

const n=5;

type index=0..n-1;

vector=array[index] of integer;

var a:vector; i,k:integer;

begin

  { TODO -oUser -cConsole Main : Insert code here }

for i:=0 to n-1 do

begin

 write('a[',i,']='); readln(a[i])

end; k:=-1;

for i:=n-1 downto 0 do

 if not odd(a[i]) then k:=i;

if k<>-1 then writeln('a[',k,']=',a[k]) else writeln(k);

readln

end.

Номер теста

Исходные данные

Ожидаемый результат

Примечание

1

A[0]=1 A[1]=4

A[2]=5 A[3]=3

A[4]=7

A[1]=4

2

A[0]=5 A[1]=3

A[2]=8 A[3]=6

A[4]=12

A[2]=8

  1. Разработайте приложение, которое переставляет местами значения компонентов массива A:vector в обратном порядке и отображает на экране полученный результат.

program Project2;

{$APPTYPE CONSOLE}

uses

  SysUtils;

const n = 5;

type

index = 0..n -1;

vector = array [index] of integer;

var A:vector; i,t:integer;

begin

  for i:=0 to (n-1) do

  begin

    write('A[',I,'] = '); readln(A[I]);

  end;

  t:= A[0];

  for i:=0 to (n div 2-1) do

  begin

    t:=A[i];

    A[i]:=A[n-1-i];

    A[n-1-i]:=t

  end;

  for i:=0 to (n-1) do

  begin

    writeln('A[',I,'] = ', A[i]);

  end;

  readln;

end

Номер теста

Исходные данные

Ожидаемый результат

Примечание

1

A[0]=1 A[1]=4

A[2]=5 A[3]=3

A[4]=7

A[0]=7 A[1]=3

A[2]=5 A[3]=4

A[4]=1

2

A[0]=5 A[1]=3

A[2]=8 A[3]=6

A[4]=12

A[0]=12 A[1]=6

A[2]=8 A[3]=3

A[4]=5

.

  1. Разработайте приложение, которое упорядочивает значения компонентов массива A:vector в порядке возрастания и отображает на экране полученный результат.

program job8;

{$APPTYPE CONSOLE}

uses

  SysUtils;

const n=5;

type index=0..n-1;

vector=array[index] of integer;

var a:vector; i,k,t:integer;

begin

  { TODO -oUser -cConsole Main : Insert code here }

for i:=0 to n-1 do

begin

 write('a[',i,']='); readln(a[i])

end;

for i:=0 to n-1 do

 for k:=i to n-1 do

  if a[i]>a[k] then

   begin t:=a[i]; a[i]:=a[k]; a[k]:=t end;

for i:=0 to n-1 do

 writeln('a[',i,']=',a[i]);

readln

end.

Номер теста

Исходные данные

Ожидаемый результат

Примечание

1

A[0]=1 A[1]=4

A[2]=5 A[3]=3

A[4]=7

A[0]=1 A[1]=3

A[2]=4 A[3]=5

A[4]=7

2

A[0]=5 A[1]=3

A[2]=8 A[3]=6

A[4]=12

A[0]=3 A[1]=5

A[2]=6 A[3]=8

A[4]=12

Похожие материалы

Информация о работе

Предмет:
Информатика
Тип:
Отчеты по лабораторным работам
Размер файла:
69 Kb
Скачали:
0