Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Решение задач на ЭВМ. Программирование на языке Pascal. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
Основное преимущество текстовых файлов – это возмож-
ность хранить в них разнотипные данные; основное преимущество типизированных файлов – прямой доступ и возможность чередова­ния операций чтения и записи независимо от выбора процедуры открытия. Эти операции осуществляются без преобразования дан­ных, что ускоряет их работу. Но обмен данными возможен только между дисками и рабочей памятью программы. Например, вывести данные напрямую на экран нельзя.
Бестиповые файлы
Бестиповый (нетипизированный) файл рассматривается как
совокупность символов и байтов. Задание файловой переменной для него имеет вид: 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]