
- •Содержание
- •Назначение указаний
- •1. Числовые типы в языке Паскаль Часть I
- •Вычислить значения выражений:
- •Вычислить значения выражений:
- •Часть II
- •Записать на языке Паскаль следующие формулы:
- •Записать в общепринятой форме:
- •Вычислить:
- •2. Логический тип и логические операции Часть I
- •Вычислить значения выражений:
- •Часть II
- •3. Структура программы. Блок описания Часть I
- •Часть II
- •4. Использование переменных Часть I
- •Часть II
- •5. Простейшие программы Часть I
- •Часть II
- •6. Условный оператор Часть I
- •Часть II
- •7. Циклы с заданным числом итераций Часть I
- •Часть II
- •8. Циклы с постусловием и предусловием Часть I
- •Часть II
- •9. Массивы Часть I
- •Часть II
- •10. Процедуры и функции Часть I
- •Часть II
- •11. Многомерные массивы и процедуры Часть I
- •Часть II
- •12. Строковый тип Часть I
- •Часть II
- •13. Тип Запись Часть I
- •Часть II
- •14. Типизированные файлы Часть I
- •Часть II
- •15. Текстовые файлы Часть I
- •Часть II
- •16. Ссылочные типы Часть
- •Часть II
- •625000, Тюмень, ул. Володарского, 38.
- •6 25039, Тюмень, ул. Киевская, 52
15. Текстовые файлы Часть I
Эквиваленты ли типы text и file of char? Одинаковы ли длины строк в файле? Допустимы ли пустые строки?
var k: integer;
t: text;
Допустимы ли операторы:
read(t, k); write(t, k);
Напишите процедуру TypeText(f), выводящую на экран построчно содержимое текстового файла f.
Напишите процедуру Compress(f1,f2), переписывающую содержимое файла f1 в f2, но без пустых строк.
Напишите функцию Max(f) для нахождения максимального из вещественных чисел, записанных в текстовом файле test.txt.
Часть II
Напишите функцию, которая:
Находит количество пустых строк в файле
Находит максимальную длину строк в файле
Находит количество непустых строк в файле
Находит количество строк в файле, содержащих четное количество литер
Находит количество строк в файле, начинающихся с буквы "v"
Находит количество строк в файле, заканчивающихся буквой "d"
Находит количество строк в файле, состоящих из одинаковых литер
Находит количество строк в файле, начинающихся и заканчивающихся одной и той же литерой
Находит минимальную длину строк в файле
Определяет, сколько раз в файле встретилось слово "begin"
Определяет, сколько раз в файле встретилось слово "end"
Определяет, сколько раз в файле встречались пятибуквенные слова
Определяет, сколько раз в файле встречались слова – палиандромы
Определяет, количество различных цифр, встречающихся в файле
Напишите процедуру:
AlignLeft(f), которая переформатирует файл f так, что все строки в нем будут выровнены по левому краю
AlignRight(f), которая переформатирует файл f так, что все строки в нем будут выровнены по правому краю (ширина строки равна константе Width = 80)
AlignCenter(f), которая переформатирует файл f так, что все строки в нем будут выровнены симметрично по центру (ширина строки равна константе Width = 80)
Upper(f), которая переформатирует файл f так, что все строки в нем будут содержать только прописные (заглавные) буквы
Lower(f), которая переформатирует файл f так, что все строки в нем будут содержать только строчные буквы
SeekConstant(f), которая находит в файле, содержащем текст программы на Паскале, идентификаторы констант
SeekVar(f), которая находит в файле, содержащем текст программы на Паскале, идентификаторы переменных
16. Ссылочные типы Часть
type ref = ^integer;
var p, q: ref;
Пусть переменные p и q имеют значения, показанные на рисунке. Ответить на следующие вопросы: |
|
Что является значением переменной p: ссылка на объект (переменную) целого типа или сам этот объект?
Что обозначает переменная p^: ссылку на объект целого типа, сам этот объект или число 5?
Каковы типы переменных p и p^?
Что будет выведено на печать в результате выполнения следующих операторов?
p^:=q^;
if p=q then p:=nil else if p^=q^ then q:=p;
if p=q then q^:=4;
WriteLn(p^,q^);
type D = record
a: boolean;
b,c: ^real;
end;
var r: ^D;
Пусть переменная r имеет значение, показанное на рисунке Нарисовать структуру значения переменной r после выполнения следующих операторов: |
|
if r^.b<>nil then r^.c:=r^.b;
r^.b^:=r^.c^-1.4;
r^.a:=r^.b=r^.c;
var p,q: ^integer;
r: ^char;
Какие из следующих операторов неправильные и почему?
|
|
|
|
|
|
|
|
|
|
|
|
type A = ^char;
B = record
f1: char;
f2 : A;
end;
var p: ^B;
q: A;
Нарисовать структуру значений переменных p и q после выполнения следующих операторов:
new(q); q^:='7';
new(p); p^.f1:=succ(q^); p^.f2:=q;
type chain = ^elem;
elem = record
data : integer;
link : chain;
end;
var p, q: chain;
Нарисовать структуру значений переменной p после выполнения операторов:
new(p); p^.data:=4; p^.link:=nil;
new(p); p^.data:=7; p^.link:=p;
new(q); q^.data:=2; q^.link:=nil;
new(p); p^.data:=1; p^.link:=q;
new(p); p^.data:=6; new(p^.link); p^.link^:=p^;
Описать переменную p (и, если надо, вспомогательные переменные) и выписать операторы, присваивающие ей указанные значения
Выписать операторы, которые преобразуют значение переменной p следующим образом.
И
сходное
состояние:
type ref = ^real;
vector = array[1..10] of ref;
Напишите процедуру Input(x), считывающую числа с устройства Con и помещающую их в кучу (адреса будут хранится в элементах вектора x). Напишите процедуру Output(x), выводящую на устройство Con числа, которые расположены по адресам, хранящимся в элементах вектора x.