- •Вопросы к экзамену по оАиП
- •1. Словарь языка Pascal.
- •2. Типы данных и переменные.
- •3. Операции.
- •4. Операции сдвига.
- •5. Побитовые операции «и», «или», «исключающее или».
- •6. Простые операторы языка Pascal.
- •7. Операторы для реализации перехода по условию.
- •8. Операторы для реализации повторяющихся действий.
- •9. Ввод-вывод в Pascal.
- •10. Одномерные массивы: описание, определение.
- •11. Действия по добавлению, удалению, перестановке элементов.
- •12. Двумерные массивы: описание, определение.
- •13. Действия по добавлению, удалению, перестановке строк и столбцов.
- •14. Множества.
- •15. Строки в Pascal: описание, определение.
- •16. Действия над строками.
- •17. Подпрограммы.
- •18. Функции: описание в программе, вызов.
- •19. Процедуры: описание в программе, вызов.
- •20. Формальные и фактические параметры подпрограмм.
- •21. Функции, возвращающие более одного значения.
- •22. Записи: описание, определение, действия.
- •23. Рекурсивное описание записи.
- •24. Массивы записей: описание, определение, действия.
- •28. Файл: описание, определение, виды.
- •29. Функции для работы с файлом.
- •30. Функции чтения/записи данных в/из файл(-а).
30. Функции чтения/записи данных в/из файл(-а).
Процедура открытия файла по чтению :
reset (<ф.п.>);
reset – ключевое слово (пер. с англ.: устанавливать);
<ф.п.> – файловая переменная.
При выполнении этой процедуры файл подготавливается к чтению: внутренняя переменная, её называют указатель файла, устанавливается на начало файла, т.е. на его первую компоненту.
Процедура открытия файла по записи:
rewrite(<ф.п.>);
При выполнении процедуры rewrite файл подготавливается к записи информации в начало файла. Процедура очищает файл (т.е. если в файле уже была информации, то она будет потеряна) и устанавливает указатель файла на первую компоненту.
Для чтения и записи информации из файла или в файл используются известные процедуры: read, readln и write, writeln в которых в качестве первого параметра выступает файловая переменная. Например:
write(f,x1,x2,x3) – процедура записи в файл f компонентов x1,x2,x3. Процедура записывает выражения х1, х2, х3 по одному в файл f, начиная с того места, куда был установлен указатель файла в момент обращения к процедуре write. Аналогично работают остальные процедуры ввода и вывода.
uses crt; var f1, f2, f3:text; s1, s2:string; s:string; a:array[1..100] of string; i, m, n, o:byte; u:char; begin assign(f1,'f1.txt'); assign(f2,'f2.txt'); assign(f3,'f3.txt'); rewrite(f1); rewrite(f2); rewrite(f3); readln(s1); readln(s2); n:=length(s1); m:=length(s2); o:=n+m; for u:='z' downto 'a' do begin for i:=1 to n do if copy(s1[i],1,1)=u then writeln(f1, s1[i]); for i:=1 to m do if copy(s2[i],1,1)=u then writeln(f2, s2[i]); end; for u:='9' downto '0' do begin for i:=1 to n do if copy(s1[i],1,1)=u then writeln(f1, s1[i]); for i:=1 to m do if copy(s2[i],1,1)=u then writeln(f2, s2[i]); end; reset(f1); reset(f2); i:=1; while not eof(f1) do begin readln(f1,s); a[i]:=s; i:=i+1; end; while not eof(f2) do begin readln(f2,s); a[i]:=s; i:=i+1; end; for u:='a' to 'z' do for i:=1 to o do if copy(a[i],1,1)=u then write(f3, a[i]); for u:='0' to '9' do for i:=1 to o do if copy(a[i],1,1)=u then write(f3, a[i]); close(f1); close(f2); close(f3); end. |
const M=255; type A=record F:string; mark:array[1..3] of byte; end; var f:text; spisok:A; ball:real; i, n:byte; t:char; d:array [1..M] of string; marks:array[1..M] of real; begin assign(f,'f.txt'); rewrite(f); writeln('Введите количество студентов'); readln(n); for i:=1 to n do with spisok do begin writeln('Фамилия студента'); readln(F); writeln('Оценки студента'); read(mark[1], mark[2], mark[3]); ball:=(mark[1]+mark[2]+mark[3])/3; if ball>=4.0 then d[i]:=F; if ball>=4.0 then marks[i]:=ball; end; for t:='а' to 'я' do for i:=1 to n do if copy(d[i],1,1)=t then writeln(f, d[i], marks[i]:15); close(f); end.
|