КАТЕГОРИИ: Архитектура-(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; Просмотров: 585; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |