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

Лабораторная работа № 4. Одномерные массивы

Задание 1. В алгоритме вычисления суммы и количества положительных элементов заполните пустые места.

Рис. 2. Одномерный массив

Задание 2. Составьте блок-схему к следующей программе:

Program Example7;

Uses crt;

Var a: array[1..100] of integer;

i, n, max: integer;

Begin

Clrscr;

Write('n=');

Readln(n);

for i:=1 to n do Begin

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

Readln(a[i]);

End;

max:=a[1];

for i:=2 to n do if a[i]>max then max:=a[i];

Writeln('max=',max);

End.

Задание 3. Составьте программу, которая находит максимальный и минимальный элементы в одномерном массиве и их порядковые номера.

const n = 10;

var

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

i,max,min,e,y:integer;

begin

randomize;

for i:=1 to n do

a[i]:=random(101)+1;

for i:=1 to n do

write(a[i],' ');

writeln;

max:=a[1]; min:=a[1];

for i:=1 to n do begin

if a[i]>max then begin max:=a[i]; e:=i;end;

if a[i]<min then begin min:=a[i]; y:=i;end;

end;

writeln('Элемент №',e,' - максимальный, он равен = ',max);

writeln('Элемент №',y,' - минимальный, он равен = ',min);

end.

Задание 4. Составьте программу, в которой меняются местами максимальный и минимальный элементы.

program primer4;

var

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

i,p,m,m1,p1: integer;

begin

randomize;

p:=1;

for i := 1 to 10 do

begin

A[i] := random(100)-50;

write (a[i]:3);

if a[i]>p then

begin

p:=A[i];

m:=i;

end;

if a[i]<p1 then

begin

p1:=A[i];

m1:=i;

end;

end;

writeln;

A[m]:=p1;

A[m1]:=p;

for i := 1 to 10 do

write (a[i]:3);

readln;

end.

Задание 5. Установите правильный порядок команд в программе, и определите, что в ней вычисляется.

Program Example8;

Uses crt;

Var a, b:array[1..100] of integer;

i, n, k: integer;

Begin

Write('n=');

Readln(n);

k:= 0;

for i:= 1 to n do Begin

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

Readln(a[i]);

End;

for i:=1 to n do

if a[i] < 0 then Begin

k:= k+1;

b[k]:= i;

End;

for i:= 1 to k do Write(b[i]:4);

Readkey

End.

Кол-во отрицательных элементов и их индексы заносятся в новый массив.

Задание 6. Определите, что выполняется в программе.

Program Example9;

Uses crt;

Var a: array[1..100] of integer;

i, j, n, m:integer;

Begin

Clrscr;

Write('n='); Readln(n);

for i:= 1 to n do Begin

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

Readln(a[i]);

End;

for j:= 1 to n-1 do

for i:= 1 to n-j do Begin

if a[i] < a[i+1] then Begin

m:= a[i];

a[i]:= a[i+1];

a[i+1]:= m;

End;

End;

for i:= 1 to n do Write(a[i]:5);

End.

Вывод одномерного массива в порядке убывания значений его элементов.

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

Program primer7;

Var a: array[1..100] of integer;

i, n:integer;

Begin

Write('n=');

Readln(n);

for i:= 1 to n do Begin

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

Readln(a[i]);

End;

for i:= 1 to n do begin

if a[i] < 0 then write(' ',a[i]);

end;

for i:= 1 to n do begin

if a[i] = 0 then write(' ',a[i]);

end;

for i:= 1 to n do begin

if a[i] > 0 then write(' ',a[i]);

end;

readln;

End.

Лабораторная работа № 8. Файлы

Задание 1. Определите, что выполняется в программе. В фигурных скобках укажите назначение команд.

Program Example15;

Uses crt;

Var f: text;

st: string;

Begin

Assign(f, 'C:\Example.txt'); {устанавливает связь между переменной и физическим файлом на диске}

Rewrite(f);{запись в файл}

Writeln('Введите текст ');

Read(st);

Write(f, st);{ запись в файл f строку st }

Close(f); { закрыть файл }

End.

Задание 2. Определите, что выполняется в программе и для чего предназначена командаAppend?

Program Example16;

Uses crt;

Var f: text;

i, n, x: integer;

Begin

Assign(f, 'C:\Example.txt');

Append(f);{открыть файл и добавить в конец}

Writeln('Введите количество чисел');

Readln(n);

Writeln('Введите числа');

for i:= 1 to n do Begin

Readln(x);

Write(f, x:4);

End;

Close(f);

End.

Задание 3. Определите, что выполняется в программе. В фигурных скобках запишите назначение команд.

Program Example17;

Uses crt;

Var f: text;

st: string;

Begin

Clrscr;

Assign(f, 'C:\Example.txt');

Reset(f);{открыть файл для чтения}

While not EOF(f) do { пока не конец файла f }

Begin

Readln(f, st);{читать строку из файла f}

Writeln(st);{вывод строки на экран }

End;

Close(f);

Readln

End.

Задание 4. Разработайте программу, которая создает файлdate.txtи записывает в негоnслучайных чисел в диапазоне от 5 до 30.

Program zadanie;

Var f: text;

n,i:integer;

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

Begin

Assign(f, 'C:\PABCWork.NET\date.txt');

Rewrite(f);

write('введите n= ');

readln(n);

for i:= 1 to n do

begin a[i]:= 5+random(25);

Writeln(f, a[i]);

end;

Close(f);

end.

Задание 5. Разработайте программу, которая считывает информацию из файлаdate.txt, находит максимальное число и общую сумму. Результат запишите в файлresult.txt.

Program program;

Uses CRT;

Var f,z: Text;

a,max,S: integer;

Begin

CLRSCR;

Assign(f, 'C:\PABCWork.NET\date.txt');

Reset(f);

Assign(z,' C:\PABCWork.NET\result.txt');

Rewrite(z);

max:=a;

Close(f);

Assign(f, 'C:\PABCWork.NET\date.txt');

Reset(f);

While not eof(f) do

Begin

ReadLn(f,a);

if a>max then max:=a;

Inc(S,a);

End;

Write(z,'Сумма: ',S,' Максимальное число: ',max);

WriteLn('Сумма: ',S,' Максимальное число: ',max);

Close(f);

Close(z);

ReadLn;

End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]