Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программирование задач с файлами




Программирование задач с процедурами

Заголовок описания процедуры имеет вид:

procedure Proc (SFP1: T1; …; SFPN: TN);

где procedure – процедура, Proc – имя процедуры, SFP1 – список формальных параметров 1-й, SFPN – список формальных параметров N-й, T1 – тип параметров в 1-м списке, TN – тип параметров в N-м списке.

Это означает, что задаётся подпрограмма-процедура с именем Proc, зависящая от формальных параметров из списка SFP1типа T1, … из списка SFPNтипа TN, а также выполняющая какие-либо действия.

Вызов процедуры из другой части программы имеет вид:

Proc (SFP)

где Proc – имя процедуры, SFP – список фактических параметров.

Это означает, что выполняются действия в теле процедуры Proc, зависящей от фактических параметров из списка SFP, причём вызов процедуры не может осуществляться в составе выражения.

Задача 2.

Условие задачи. В двумерном массиве A из 3 строк и 4 столбцов вычислить сумму и произведение отрицательных элементов с использованием подпрограммы-процедуры, именованных констант и типов данных.

Программа.

Program z2;

Const m=3; n=4;

Type TT=array [1..m,1..n] of real;

Var A:TT; i,j:integer; s,p:real;

Procedure SumPro(B:TT; m,n:integer; var s,p:real);

var i,j:integer;

begin

s:=0; p:=1;

for i:=1 to m do

for j:=1 to n do

if B[i,j]<0 then

begin

s:=s+B[i,j];

p:=p*B[i,j];

end;

end;

Begin

for i:=1 to m do

for j:=1 to n do

read(A[i,j]);

SumPro(A,3,4,s,p);

writeln(s,p);

End.

Файлы – упорядоченные наборы данных различного типа, хранящиеся в памяти.

В языке Pascal файлы бывают:

1. Текстовые (типа Text).

2. Типизированные (типа File of …).

3. Нетипизированные (типа File).

Для текстовых файлов обычно применяются следующие стандартные процедуры:

1. Assign(FP, F) – связь файловой переменной FP с именем файла F.

2. Reset(FP) – открытие файла, связанного с файловой переменной FP, для чтения.

3. ReWrite(FP) – открытие файла, связанного с файловой переменной FP, для записи новых данных с удалением старых.

4. Append(FP) – открытие файла, связанного с файловой переменной FP, для записи новых данных с добавлением к старым.

5. Close(FP) – закрытие файла, связанного с файловой переменной FP.

6. Read(FP, P1,…, PN) – ввод значений переменных P1, …, PN из файла, связанного с файловой переменной FP.

7. ReadLn(FP, P1,…, PN) – ввод значений переменных P1, …, PN из файла, связанного с файловой переменной FP, и перевод указателя в файле на новую строку.

8. Write(FP, V1,…, VN) – вывод значений выражений V1, …, VN в файл, связанный с файловой переменной FP.

9. WriteLn(FP, V1,…, VN) – вывод значений выражений V1, …, VN в файл, связанный с файловой переменной FP, и перевод указателя в файле на новую строку.


Задача 3.

Условие задачи. Ввести матрицу A размером 3´3 из файла a1.txt, заменить в ней элементы выше главной диагонали на нули, а затем вывести эту матрицу в файл a2.txt.

Программа.

Program z3;

Var

A:array[1..3,1..3] of real;

i,j:integer;

f1,f2:text;

Begin

assign(f1,'a1.txt');

assign(f2,'a2.txt');

reset(f1);

rewrite(f2);

for i:=1 to 3 do

for j:=1 to 3 do

read(f1,A[i,j]);

for i:=1 to 3 do

for j:=1 to 3 do

if i<j then A[i,j]:=0;

for i:=1 to 3 do

begin

for j:=1 to 3 do

write(f2,A[i,j]);

writeln(f2,'');

end;

close(f1);

close(f2);

readln;

End.

Контрольный пример.

Исходные данные: .
Результаты: .



Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 553; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.