Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Решение задач на ЭВМ. Программирование на языке Pascal. Учебное пособие
.pdf
Основное преимущество текстовых файлов – это возмож-
ность хранить в них разнотипные данные; основное преимущество
типизированных файлов – прямой доступ и возможность чередования операций чтения и записи независимо от выбора процедуры
открытия. Эти операции осуществляются без преобразования данных, что ускоряет их работу. Но обмен данными возможен только
между дисками и рабочей памятью программы. Например, вывести
данные напрямую на экран нельзя.
Бестиповые файлы
Бестиповый (нетипизированный) файл рассматривается как
совокупность символов и байтов. Задание файловой переменной
для него имеет вид: Var имя: File.
Бестиповый файл можно считать обобщенным файловым
типом. Представление Char или Byte важно лишь с точки зрения
объема данных. Любой файл, подготовленный как текстовый или
типизированный, можно открыть и начать работу с ним, как с бестиповым набором данных. Внутренняя поддержка такого файла
выглядит наиболее близкой к аппаратной поддержке работы с
внешними носителями. За счет этого достигается максимально
возможная скорость доступа к наборам данных.
Бестиповый файл – это файл прямого доступа, что говорит о
возможности одновременного использования операций чтения и
записи. Самый важный параметр для такого файла – это длина записи в байтах. По умолчанию она составляет 128 байт, но в каждом
случае можно выбрать наиболее подходящий размер. С этой целью
расширяется синтаксис процедур ввода-вывода:
Reset (var f: File; RecSize: Word) и
Rewrite (var f: File; RecSize: Word),
второй параметр в которых RecSize задает длину записи в
байтах. Чтобы гарантировано обеспечить полное чтение и верную
запись всего файла, величину RecSize часто выбирают равной 1.
Для организации доступа к записям бестипового файла допу-
стимо использование процедур Seek, FilePos, FileSize.
121

В таблице ниже приведены процедуры, заменяющие стан-
Процедуры
Назначение
BlockRead (var f: File; var Buf;
Count: Word [; var Result: Word])
Осуществляет чтение из бестипового файла f
BlokWrite (var f: File; var Buf;
Count: Word [; var Result: Word])
Осуществляет запись в бестиповый файл f
дартные процедуры ввода-вывода Read и Write в бестиповых файлах.
Таблица 4.20
Обе процедуры выполняют операции ввода-вывода блоками.
Смысл их параметров идентичен:
Count – число записей, читаемых (записываемых) за один
вызов;
Buf – переменная-буфер (бестиповый параметр процедуры).
Размер которой должен быть равен объему блока в байтах, т.е.
Count * RecSize;
Result – необязательный параметр, содержащий число фак-
тически прочитанных (записанных) записей.
122

5. Список использованной и рекомендуемой литературы
1. Акчурин Э.А., Шишов С.П., Сирант О.В. Краткий справоч-
ник по среде программирования и основам языка Борланд Паскаль
7.0., Самара, 1994.
2. Алексеев А.П. Информатика 2001. - М.: СОЛОН-Р, 2001.
3. Анеликова Л.А. Раздаточные материалы по информатике.-
М. :Дрофа, 2004г.
4. Гусева А.И. Учимся программировать: Pascal 7.0.- М.: Диа-
лог-МИФИ, 2000г.
5. Дериев И. Справочник по процедурам и функциям Borland
Pascal with Objects 7.0. Диалектика, 1993г.
6. Житкова О.А., Кудрявцева Е.К. Справочные материалы по
программированию на языке Паскаль. (Тематический контроль по
информатике). М, Интеллект-Центр, 2002г.
7. Зеленяк О. П. Практикум программирования на TURBO
PASCAL. Задачи, алгоритмы и решения. К.: “ДиаСофт”, 2001.
8. Зуев Е.А. Язык программирования Turbo Pascal 6.0. –
М.:Унитех, 1992г.
9. Макарова Н.В. Информатика. Практикум по технологии
работы на компьютере./ Под ред. проф..Макаровой Н.В. М.:Финансы и статистика.1997.
10. Макарова Н.В. Информатика. Учебник/ Под ред. проф.
Макаровой Н.В.- М.:Финансы и статистика.1997.
11. Петров А.В., Алексеев В.Е. и др. Вычислительная техника и
программирование. Учебник для технических вузов. М.: Высш.
шк., 1990г.
12. Поляков Д.Б., Круглов И.Ю. Программирование в среде
Турбо Паскаль. – М.: Издательство МАИ, 1992г.
13. Пярнпуу А.А. Программирование на современных алго-
ритмических языках.. Учебное пособие для втузов.- 3-е изд., пере-
раб. И доп. –М.:Наука.Гл.ред.из.-мат. лит., 1990г.
14. Сергиевский М. БОРЛАНД ПАСКАЛЬ 7.0. Машинострое-
ние, 1994г.
15. Симанович С.В. Информатика для юристов и экономи-
стов./ Симанович С.В. и др. – Спб: Питер, 2001.
123

16. Фаронов В. В. TURBO PASCAL 7.0. Практика программи-
рования.- М.:Нолидж, 2000г.
17. Фаронов В. В. TURBO PASCAL. Начальный курс.- М.: Но-
лидж, 1999г.
18. Фаронов В. В. Паскаль и Windows. МВТУ-ФЕСТО
ДИДАКТИК, 1995г.
19. Федоров А. Borland Pascal в среде Windows. Диалектика,
1993г.
124

Приложение 1
№ варианта
Функция
Аргумент
1 2 3
1
.30,30
,3020,
,20,20
x
xx
x
y
2
.2,4
,21,
,1,
1
2
2
x
xx
x
x
z
Тематический контроль
Операторы условного перехода
Задание № 1
Составьте блок-схему алгоритма и программу для вычисле-
ния значений функции в зависимости от заданного с клавиатуры
значения аргумента х.
(Указание: аргумент х задать самостоятельно и протестиро-
вать все ветви алгоритма).
Исходные данные выбираются согласно варианту по таблице
2.
Таблица 1.
125

1 2 3
3
0,
,02,
,2,3
xx
xx
x
m
4
.2,
1
,11,
,1,1
2
2
x
x
xx
x
n
5
.30,30
,3020,
,20,20
x
xx
x
p
6
.1,
,11,
,1,
1
2
2
xx
xx
x
x
a
7
.1,
1
,10,
,0,
2
x
x
xx
xx
b
126

1 2 3
8
.0,1
,01,
,1,
2
x
xx
xx
c
9
.0,
,01,
,1,
2
2
xx
xx
xx
d
10
.0,
,03,
,3,3
2
xx
xx
x
e
11
.0,
,01,
,1,
1
2
2
xx
xx
x
x
f
12
.4,4
,40,
,0,
3
x
xx
xx
g
127

Задание № 2
№ вари-
анта
Задание
1
2
1
а) Введите с клавиатуры переменную а. Если 0<а<100,
то нарисуйте окружность радиусом, равным а, и центром с координатами х=150, у=150. Иначе, выведите на
экран значение переменной а.
б) Найдите и выведите на экран максимальное из двух
значений переменных введенных с клавиатуры.
2
а) Введите с клавиатуры положительные переменные х
и у. Если х<550, а у<350, то нарисуйте окружность радиусом, равным 50, и центром в точке с координатами
х и у. Иначе, выведите на экран сообщение: «Точка вне
поля».
б) Введите с клавиатуры переменную с. Переменной b
присвойте значение, равное 10. Если c>b, выведите на
экран их сумму, иначе, выведите удвоенное произведение.
3
а) Введите с клавиатуры переменные c и d. Если 0<c<d,
то нарисуйте квадрат со стороной, равной с, иначе, выведите на экран сумму значений переменных c и d.
б) Найдите и выведите на экран максимальное из трех
значений переменных, введенных с клавиатуры.
Составьте блок-схемы и программы для решения следующих за-
дач:
Таблица 2.
128

1
2
4
а) Введите с клавиатуры переменные х и у. Если 150<х<400, а
100<у<300, то нарисуйте в точке с координатами (х, у) окружность диаметром 100, иначе, - диаметром 10.
б) Введите с клавиатуры числа с и m. Если меньшим из них является с, но его значение положительно, найдите и выведите на
экран среднее арифметическое значений этих чисел. Иначе,
найдите и выведите сумму с и m.
5
а) Введите с клавиатуры положительные переменные а и b. Если а больше b, то нарисуйте прямоугольник со сторонами а и b,
иначе, - квадрат со стороной b.
б) Введите с клавиатуры переменные х и у. Если значение переменной х положительно, а b – отрицательно, то найдите и вы-
ведите на экран их удвоенное произведение. Иначе, найдите и
выведите среднее арифметическое значение этих переменных.
6
а) Введите с клавиатуры переменные z и d. Если 100<z<200 и
100<d<200, то нарисуйте окружность радиусом 60, с центром в
точке с координатами (z, d), иначе, выведите на экран значения
этих переменных.
б) Введите с клавиатуры числа a, b и n. Если a и b больше n, то
напечатайте на экране слово «БОЛЬШЕ», если – меньше n, то
напечатайте «МЕНЬШЕ», иначе, найдите и выведите сумму чисел a и b.
129

1
2
7
а) Введите с клавиатуры переменные
1
x
,
1
y
,
2
x
и
2
y
. Если
разности
1
x
-
2
x
и
1
y
-
2
y
положительны, то нарисуйте отрезок
с концами в точках (
1
x
,
1
y
) и (
1
x
,
2
y
). Иначе, выведите на
экран суммы
1
x
+
2
x
и
1
y
+
2
y
.
б) Введите с клавиатуры любое число и выведите на экран сообщение о его знаке (отрицательно, положительно или равно
нулю).
8
а) Введите с клавиатуры две положительные переменные a и b.
Если a>b, то нарисуйте окружность с центром в точке (a, a) и
радиусом, равным b. Иначе, нарисуйте отрезок с концами в
точках (100, a) и (100, b).
б) Введите с клавиатуры четыре числа. Найдите и выведите на
экран сумму и произведение тех чисел, значения которых отрицательны.
9
а) Введите с клавиатуры переменные c и d. Если 0<c<d, то
нарисуйте квадрат со стороной, равной 2d. Иначе, нарисуйте
отрезок с концами в точках (c, c) и (d, d).
б) Введите с клавиатуры произвольные числа х и у, которые являются координатами двух точек на числовом луче. Напечатай-
те сообщение о том, находится ли х справа или слева от точки у
или попадает в нее.
130
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
