Двумерные массивы
Begin
Работа с элементами переменной строкового типа
Линейные массивы
Установка атрибутов файла
Текстовые файлы
Двумерные массивы
Линейные массивы
ФАЙЛЫ И ФАЙЛОВАЯ СТРУКТУРА
КОДИРОВАНИЕ ИНФОРМАЦИИ
1 бит
0 или 1
2 бита
00 01 10 11
3 бита
000 001 010 011 100 101 110 111
т битов – N чисел
N=2m,
где N— количество независимых кодируемых значений;
т — разрядность двоичного кодирования, принятая в данной системе.
19:2 = 9+1 9:2=4+1 4:2=2+0 2:2=1+0
Таким образом, 1910= 100112.
Для кодирования действительных чисел используют 80-разрядное кодирование. При этом число предварительно преобразуется в нормализованную форму:
3,1415926 = 0,31415926 • 101
300 000 = 0,3-106
123 456 789 = 0,123456789 • 1010
Табл. 2
Десятичное число | Двоичное число | Байт |
0000 0001 | ||
... | ... | ... |
1 Мбайт = 1024 Кбайт = 1020 байт
1 Гбайт = 1024 Мбайт = 1030 байт
1 Тбайт = 1024 Гбайт = 1040 байт
Текст.doc –Word
Диаграмма.xls –Excel
*.dbf –Access
*.pas – программа Паскаль и т.д.
Пример записи полного имени файла в общем виде:
<имя носителя>\<имя каталога-1>\...\<имя каталога-М>\<собственное имя файла>
С:\АВТОМАТИЧЕСКИЕ АППАРАТЫ\ВЕНЕРА\АТМОСФЕРА\ Результаты
С:\РАДИОЛОКАЦИЯ\ВЕНЕРА\РЕЛЬЕФ\Результаты
Описание массивов:
Var A: array[ 1. . 30 ] of byte;
S: array[ 1. . 30 ] of string;
SO: array[ 1. . 30 ] of string[12];
Присвоение значений элементам массива:
A[1]:= 5; A[2]:= 4; и т. д.
S[1]:= 'Иванов'; S[2]:= 'Петров'; и т. д.
Присвоение значения элементам массива "y" по зависимости:
y=sin(x), где x= Pi * i/180, 0<= i <=180 .
For i:= 0 to 180 Do y[i]:= sin(Pi * i/180);
Присвоение случайных значений в диапазоне от -30 до +40 ста элементам массива "R":
Randomize; for i:=1 to 100 Do R[i]:= - 30+Random(71);
Присвоение значений семи элементам массива "A" оператором Readln:
For i:= 1 to 7 Do begin Write('Введите A[',i,'] ='); Readln( A [ i ] ) end;
Вывод "шапки таблицы"
For j:=1 to 66 do Write('-'); Writeln;
For j:=1 to 3 do Write('|_ _ Фамилия _ _| _ оценка _|'); Writeln;
For j:=1 to 66 do Write('-'); Writeln;
Вывод значений ста элементов массивов "S" и "A" в три пары колонок:
For i:=1 to 100 do begin Write('|',s[i]:11,'|',a[i]:8,'|');
if (i mod 3) = 0 Then Writeln;
if (i mod 60) = 0 then readln end;
Определение суммы элементов массива, наибольшего (наименьшего) элемента и создание новых массивов, удовлетворяющие некоторому условию:
s:=0; for i:=1 to 100 do s:=s+a[i];{s-сумма элементов массива}
a_max:=a[1]; for i:=1 to 100 do{поиск наибольшего элемента a[j]}
if a[i]>a_max then begin a_max:=a[i]; j:=i end;
j:= 0; k:= 0;
for i:=1 to 100 do {создание новых массивов с элементами: b[j]>=0, c[k]<0}
if a[i]>=0 then begin j:=j+1; b[j]:=a[i] end
else begin k:= k+1; c[k]:=a[i] end;
j:=0; k:=8;
for i:=1 to 100 do{создание массива номеров "M" для элементов: a[i]>a[k]}
if a[i]>a[k] then begin j:=j+1; M[j]:=i end;
Var S: string; C: char;
S:='Москва', то S[1]='М', S[2]='о' и т. д.
C:= S[1];
Перестановка местами элементов массива:
N:= ord(S[0]);{число символов в переменной "S" хранится в переменной S[0]}
for i:= 1 to N div 2 do{Функция "ord" преобразует символьный тип в целый}
begin C:= S[i];
S[i]:= S[N-i+1];
S[N-i+1]:= C
end;
Writeln(S);{ исходное слово выведется справа налево: "авксоМ" }
Var A:array[1..30,1..7] of byte;
Случайный ввод с последующим выводом двумерного массива оценок группы студентов по нескольким предметам:
for i:= 1 to N do
for j:= 1 to M do
A[i, j]:= random(4)+2;{ввод эл-в}
Writeln;
Write('Фамилия\\Предметы:|');{печать шапки таблицы}
For i:=1 to M do write(P[i]:9,'_ |');
for i:= 1 to N do{вывода элементов массива "A"}
<== предыдущая лекция | | | следующая лекция ==> |
ПРЕДСТАВЛЕНИЕ И ОБРАБОТКА ДАННЫХ | | | Установка атрибутов файла |