Автор работы: Пользователь скрыл имя, 18 Января 2012 в 09:53, лабораторная работа
Цель: Сформировать навыки создания и использования структурированных типов при написании программ на языке Pascal; изучить особенности использования и области применения массивов, записей, множеств и файлов.
Лабораторная работа
Тема: Структурированные типы данных языка программирования Pascal.
Цель: Сформировать навыки создания и использования структурированных типов при написании программ на языке Pascal; изучить особенности использования и области применения массивов, записей, множеств и файлов.
Ход работы
Задача 1. Даны два вектора а[1..n] of integer и в[1..m] of integer. Необходимо создать матрицу c[1..n,1..m] of integer такую, что с=0, если а*а+в*в<100, с=а+в в противном случае. В матрице с отыскать хотя бы один элемент равный ключевому key и указать номер; key=0.
Алгоритм
решения задачи
Программа на языке Pascal
Program pervaya;
const n=5;
m=6;
var key: integer;
i: integer;
j: integer;
a: array[1..n] of real;
b: array[1..m] of real;
c: array[1..n,1..m] of real;
begin
writeln('-----Vvedite massiv a-----');
for i:=1 to n do
begin
write('a[',i,']=');
readln (a[i]);
end;
writeln('-----Vvedite massiv b-----');
for j:=1 to m do
begin
write('b[',j,']=');
readln(b[j]);
end;
writeln('-------Massiv c------');
for i:=1 to n do
for j:=1 to m do
begin
if a[i]*a[i]+b[j]*b[j]<100
then c[i,j]:=0
else c[i,j]:=a[i]+b[j];
writeln('c[',i,j,']=',c[i][j]:
end;
readln;
writeln('Nulevie znacheniya imeyut index');
key:=0;
for i:=1 to n do
for j:=1 to m do
if c[i,j]=key
then writeln('i=',i,' j=',j);
readln
end.
Задача 2. Дан двумерный массив чисел типа Real. Подсчитать среднее арифметическое по строкам. Обнулить такие элементы, которые больше среднего арифметического.
Алгоритм решения задачи
Программа на языке Pascal
Program vtoraya;
const n=3;
m=2;
var s: real;
i: integer;
j: integer;
sr: array[1..n] of real;
c: array[1..n,1..m] of real;
begin
writeln('-----Vvedite massiv c-----');
for i:=1 to n do
for j:=1 to m do
begin
write('c[',i,',',j,']=');
readln (c[i,j]);
end;
writeln('--Srednee arifmeticheskoe po strokam--');
for i:=1 to n do
begin
s:=0;
for j:=1 to m do
s:=s+c[i,j];
sr[i]:=s/m;
writeln('sr[',i,']=',sr[i]:6:
end;
readln;
writeln('--Novaya matrica--');
for i:=1 to n do
for j:=1 to m do
if c[i,j]>sr[i] then c[i,j]:=0;
for i:=1 to n do
begin
for j:=1 to m do
write(' c[',i,',',j,']=',c[i,j]:4:2);
writeln(' sr[',i,']=',sr[i]:4:2);
end;
readln
end.
Задача 3. Создать и сохранить в текстовом файле Test.dat текстовое сообщение «Hello world!!!» и вывести на экран. Найти в нем все буквы “L”.
Алгоритм решения задачи
Программа на языке Pascal
Program tretya;
uses crt;
var tf: text;
t: string;
s: char;
k: integer;
begin
assign(tf,'Test.dat'); rewrite(tf);
writeln('----Vvedite text----');
readln(t);
writeln(tf,t);
close(tf);
clrscr;
writeln('-------------- Text iz faila --------------');
reset(tf);
writeln(t);
writeln('---------------------
k:=0;
while not eoln(tf) do
begin
read(tf,s);
if s='l' then k:=k+1;
end;
writeln('kolichestvo simvolov "L" v texte = ',k);
close(tf);
readln
end.
Ответы на контрольные вопросы:
Выводы по работе
В ходе выполнения работы были рассмотрены структурированные типы данных Pascal: массивы, множества, записи и файлы. Были изучены особенности их использования и области применения и сделаны следующие выводы:
Информация о работе Структурированные типы данных языка программирования Pascal