- •Предисловие
- •Содержание курсов "информатика" и "основы алгоритмизации и языки программирования"
- •2.1. Лекционные занятия
- •Тема 9. Разработка и отладка программ с использованием подпрограмм-
- •Тема 10. Разработка и отладка программ с использованием данных
- •Тема 11. Разработка и отладка программ с использованием
- •Приложение
- •2.2. Лабораторные и практические занятия
- •2.3. Рекомендации к бюджету времени при изучении курсов
- •Внимание!
- •Введение Начальные сведения о компьютере ibm pc
- •Клавиатура
- •Особые комбинации клавиш
- •Файлы данных
- •Операционная система ms dos
- •Составные части dos
- •Загрузка и перезагрузка пк
- •Работа с файлами, каталогами и командами
- •Внутренние команды dos
- •Программная оболочка Norton Commander
- •Функциональные клавиши nc
- •Некоторые комбинации клавиш nc
- •Особенности работы интегрированной среды (ide) Турбо Паскаль (Тurbo Рascal)
- •Команды работы с блоками
- •Программирование на языке турбо паскаль Тема № 1 Разработка и отладка программ линейного вычислительного процесса
- •Приоритет выполнения операций
- •Примеры
- •Варианты заданий
- •Тема № 2 Разработка и отладка программ разветвляющегося вычислительного процесса. Логический условный оператор
- •Тема № 3 Разработка и отладка программ разветвляющегося вычислительного процесса. Оператор выбора варианта
- •Варианты заданий
- •15. Введите символ с клавиатуры компьютера и определите, является ли он символом английского алфавита, символом русского алфавита или знаком препинания.
- •16. Введите цифру и распечатайте соответствующий ей знак зодиака. Например единице, соответствует знак зодиака "водолей". Если такой цифры нет, то сделайте сообщение.
- •Тема № 4 Разработка и отладка программ циклического вычислительного процесса. Оператор цикла с параметром
- •Примеры
- •Варианты заданий
- •Тема № 5 Разработка и отладка программ циклического вычислительного процесса. Операторы цикла с постусловием и предусловием
- •Оператор цикла с предварительным условием (предусловием) имеет вид:
- •Тема № 6 Разработка и отладка программ с использованием структурированных типов данных – одномерных массивов
- •Тема № 7 Разработка и отладка программ с использованием структурированных типов данных – двухмерных массивов
- •Тема № 8 Разработка и отладка программ с использованием подпрограмм-функций
- •Подпрограмма-функция Структура функции
- •Примеры
- •11. Даны три массива а(10), в(8), с(12). Подсчитайте для каждого массива среднее арифметическое его положительных элементов, для чего используйте подпрограмму-функцию.
- •13. Составьте подпрограмму-функцию вычисления элементов нового массива на основании элементов массивов а и в по правилу
- •20. Вычислите суммы элементов каждой строки матрицы в(8,8), определите наибольшее значение этих сумм и номер соответствующей строки. Для подсчета сумм и наименьшего значения напишите функции.
- •Тема № 9 Разработка и отладка программ с использованием подпрограмм-процедур
- •Подпрограмма-процедура
- •Структура процедуры
- •Примеры
- •Составьте программу с подпрограммой определения максимальной и минимальной оценок, а также среднего балла, данных девятью судьями каждой из пяти фигуристок.
- •Тема № 10 Разработка и отладка программ с использованием данных символьного и строкового типов
- •Операции над символами
- •Операции над строками
- •Строковые процедуры
- •Строковые функции
- •Варианты заданий
- •Тема № 11 Разработка и отладка программ с использованием структурированных типов данных - файлов
- •Var имя : file of базовый тип;
- •Var имя : имя типа;
- •4.Массив к данных вещественного типа записать в типизированный файл, а затем считать из него средний элемент.
- •Варианты заданий
- •9. Имеется файл с данными целого типа. Считайте эти значения в исходной программе в массив, упорядочьте элементы массива в порядке возрастания (убывания) и запишите его в новый файл.
- •18. Имеется массив температур т[30]. Напишите подпрограмму, находящую среднюю температуру за дни с к1 по к2. Определите самую теплую неделю месяца. Результат запишите в файл.
- •23. Имеется массив температур т[30]. Определите среднюю температуру за месяц, самую теплую и самую холодную температуры в течение месяца. Результаты запишите в файл.
- •Приложения
- •Типы Простые Порядковые Целые
- •Процедурные Файлы
- •Длинные и короткие вещественные типы
- •В) Таблица п.3 Кодировка символов в соответствии с таблицей кодов ascii
- •I. Модуль system
- •II. Модуль dos
- •III. Модуль crt
- •IV. Модуль graph
- •V. Модуль printer
- •VI. Модуль overlay
- •Основные термины
- •Учебная литература по курсу
Длинные и короткие вещественные типы
Длина, байт |
Название типа |
Мантисса, значащие цифры |
Диапазон десятичного порядка |
4 |
single |
7…8 |
-45…+38 |
6 |
real |
11…12 |
-39…+38 |
8 |
double |
15…16 |
-324…+308 |
10 |
extended |
19…20 |
-4951…+4932 |
8 |
comp |
19…20 |
-263+1…+263-1 |
Вещественное число в ТурбоПаскале занимает от 4 до 10 смежных байт и имеет следующую структуру в памяти компьютера:
s |
e |
m |
Здесь s – знаковый разряд числа, e – экспоненциальная часть, m – мантисса числа. Мантисса имеет длину от 23 (для SINGLE) до 63 (для EXTENDED) двоичных разрядов, что и обеспечивает точность 7..8 для SINGLE и 19...20 для EXTENDED десятичных цифр.
В) Таблица п.3 Кодировка символов в соответствии с таблицей кодов ascii
Код |
Символ |
Код |
Символ |
Код |
Символ |
Код |
Символ |
0 |
NUL |
32 |
SP |
64 |
@ |
96 |
|
1 |
SOH |
33 |
! |
65 |
A |
97 |
a |
2 |
STX |
34 |
" |
66 |
B |
98 |
b |
3 |
ETX |
35 |
# |
67 |
C |
99 |
c |
4 |
EOT |
36 |
$ |
68 |
D |
100 |
d |
5 |
ENQ |
37 |
% |
69 |
E |
101 |
e |
6 |
ACK |
38 |
& |
70 |
F |
102 |
f |
7 |
BEL |
39 |
' |
71 |
G |
103 |
g |
8 |
BS |
40 |
( |
72 |
H |
104 |
h |
9 |
HT |
41 |
) |
73 |
I |
105 |
i |
10 |
LF |
42 |
* |
74 |
J |
106 |
j |
11 |
VT |
43 |
+ |
75 |
K |
107 |
k |
12 |
FF |
44 |
, |
76 |
L |
108 |
l |
13 |
CR |
45 |
- |
77 |
M |
109 |
m |
14 |
SO |
46 |
. |
78 |
N |
110 |
n |
15 |
SI |
47 |
/ |
79 |
O |
111 |
o |
16 |
DLE |
48 |
0 |
80 |
P |
112 |
p |
17 |
DC1 |
49 |
1 |
81 |
Q |
113 |
q |
18 |
DC2 |
50 |
2 |
82 |
R |
114 |
r |
19 |
DC3 |
51 |
3 |
83 |
S |
115 |
s |
20 |
DC4 |
52 |
4 |
84 |
T |
116 |
t |
21 |
NAK |
53 |
5 |
85 |
U |
117 |
u |
22 |
SYN |
54 |
6 |
86 |
V |
118 |
v |
23 |
ETB |
55 |
7 |
87 |
W |
119 |
w |
24 |
CAN |
56 |
8 |
88 |
X |
120 |
x |
25 |
EM |
57 |
9 |
89 |
Y |
121 |
y |
26 |
SUB |
58 |
: |
90 |
Z |
122 |
z |
27 |
ESC |
59 |
; |
91 |
[ |
123 |
{ |
28 |
FS |
60 |
< |
92 |
\ |
124 |
| |
29 |
GS |
61 |
= |
93 |
] |
125 |
} |
30 |
RS |
62 |
> |
94 |
^ |
126 |
~ |
31 |
US |
63 |
? |
95 |
_ |
127 |
DEL |
Для кодировки используется код ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией). Это 7-битный код, т.е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В то же время в 8-битном байте, отведенном для хранения символа в Турбо Паскале, можно закодировать в два раза больше символов в диапазоне от 0 до 255. Первая половина символов с кодами 0-127 соответствует стандарту. Вторая половина символов с кодами 128-255 не ограничена этим стандартом и может меняться. Символы с кодами 0..32 относятся к служебным кодам, например код 7 – это звонок (вывод на экран этого символа сопровождается звуковым сигналом). Более подробно о служебных кодах можно узнать из учебного пособия [19].
Г)
Алгоритмы и программы сортировки
1). Программа линейной сортировки
Program sort1;
const n=6;
var a,b:array[1..n]of integer;
i,l,m,k:integer;
bmax,d:integer;
begin
writeln('Введите массив');
for i:=1 to n do begin readln(a[i]); b[i]:=a[i] end;
l:=1;
for i:=1 to n do begin
bmax:=b[i];
for k:= l to n do
if b[k]>=bmax then begin bmax:=b[k];m:=k end;
d:=b[i];
b[i]:=bmax;
b[m]:=d;
l:= l +1 ;
end;
for i:=1 to n do write(a[i],' '); readln;
for i:=1 to n do write(b[i],' ');
readln; end.
2). Программа сортировки пузырьками
Program sort2;
const n=8;
label 1;
var a,b:array[1..n]of real;
x:boolean; {флаг}
m:real;
i:integer;
begin
writeln('Введите массив');
for i:=1 to n do begin readln(a[i]);b[i]:=a[i] end;
1: x:=false;
for i:=2 to n do begin
if b[i-1]>b[i] then begin m:= b[i-1]; b[i-1]:=b[i];b[i]:=m;
x:=true end;
if x then goto 1 end;
for i:=1 to n do write(a[i]:6:3,' '); writeln;
for i:=1 to n do write(b[i]:6:3,' ');
end.
Д)
Стандартные библиотечные модули