.....
Begin
Uses
Uses
End.
Begin
... //код проекта
Работа с модулем:
1. Создать консольное приложение командой Файл => Новый => Другое => Console Application.
2. Cохранить проект в папке KR командой Файл => Сохранить проект как.. => Blank.
3. Создать модуль для преобразования кодов символов из одной кодировки в другую. Для этого выполнить команду Файл => Новый => Модуль. В редакторе кода проекта возникает дополнительная страничка с заготовкой модуля. Заполнить ее кодом:
unit Unit1; //Заголовок модуля, после сохранения имя меняется на другое
interface // Раздел описания
SysUtils; // Ссылка на подключаемые модули
function Rus(mes:string):string; // Заголовок функции Rus с переменной mes
implementation // Раздел реализации
function Rus(mes:string):string; //Преобразует строку Windows под строку MSDOS
var i:integer; //Номер обрабатываемого символа
begin //Тело функции
for i:=1 to length(mes) do
case mes[i] of // Оператор выбора
'А'..'п': mes[i]:= chr(ord(mes[i])-64); //преобразование символов в коды
'р'..'я': mes[i]:= chr(ord(mes[i])-16); //преобразование символов в коды
end;
result:=mes; //возвращаемый результат в переменную result
end;
end.
4. Сохранить код модуля командой Файл => Сохранить как …в папке KR под именем RusTrans.pas. Заголовок модуля Unit1 изменится на RusTrans.
5. Выполнить компиляцию модуля RusTrans.pas с помощью команды Проект => Компилировать Blank. В папке проекта KR появится файл компилированного модуля RusTrans.dcu, а в проекте Blank в разделе Uses добавится строка с его именем.
program Blank;
{$APPTYPE CONSOLE}
SysUtils,
RusTrans in 'RusTrans';
{Main: Insert code here }
writeln (Rus ('Я студент ПГАТИ') );
readln;
end.
6. В разделе исполнения проекта Blank между операторными скобками begin… end для проверки работы модуля RusTrans внести строку кода с любым текстом, например writeln (Rus ('Я студент') ).
7. Запустить проект на исполнение командой Выполнить => Выполнить, и убедиться, что при подключении модуля, проблема с отображением букв кириллицы решена.
8. Удалить введенную для проверки работоспособности строку. Сохранить изменения в проекте, щелкнув по кнопке Сохранить на панели Инструментов.
9. В соответствующие разделы проекта в вести переменные, процедуры и код для решения поставленных задач.
Базовая таблица кодировки ASCII
0 - | 16 - ► | 32 - | 48 - 0 | 64 - @ | 80 - P | 96 - ` | 112 - p |
1 - ☺ | 17 - ◄ | 33 -! | 49 - 1 | 65 - A | 81 - Q | 97 - a | 113 - q |
2 - ☻ | 18 - ↕ | 34 - " | 50 - 2 | 66 - B | 82 - R | 98 - b | 114 - r |
3 - ♥ | 19 - ‼ | 35 - # | 51 - 3 | 67 - C | 83 - S | 99 - c | 115 - s |
4 - ♦ | 20 - ¶ | 36 - $ | 52 - 4 | 68 - D | 84 - T | 100 - d | 116 - t |
5 - ♣ | 21 - § | 37 - % | 53 - 5 | 69 - E | 85 - U | 101 - e | 117 - u |
6 - ♠ | 22 - ▬ | 38 - & | 54 - 6 | 70 - F | 86 - V | 102 - f | 118 - v |
7 - | 23 - ↨ | 39 - ' | 55 - 7 | 71 - G | 87 - W | 103 - g | 119 - w |
8 - | 24 - ↑ | 40 - ( | 56 - 8 | 72 - H | 88 - X | 104 - h | 120 - x |
9 - Tab | 25 - ↓ | 41 -) | 57 - 9 | 73 - I | 89 - Y | 105 - i | 121 - y |
10 - | 26 - → | 42 - * | 58 -: | 74 - J | 90 - Z | 106 - j | 122 - z |
11 - ♂ | 27 - ← | 43 - + | 59 -; | 75 - K | 91 - [ | 107 - k | 123 - { |
12 - ♀ | 28 -∟ | 44 -, | 60 - < | 76 - L | 92 - \ | 108 - l | 124 - | |
13 - | 29 - ↔ | 45 - - | 61 - = | 77 - M | 93 - ] | 109 - m | 125 - } |
14 - ♫ | 30 -▲ | 46 -. | 62 - > | 78 - N | 94 - ^ | 110 - n | 126 - ~ |
15 - ☼ | 31 - ▼ | 47 - / | 63 -? | 79 - O | 95 - _ | 111 - o | 127 - ⌂ |
ГОСТ - альтернативная кодировка MS DOS
128 - А | 144 - Р | 160 - а | 176 - ░ | 192 - └ | 208 - ╨ | 224 - р | 240 - Ё |
129 - Б | 145 - С | 161 - б | 177 - ▒ | 193 - ┴ | 209 - ╤ | 225 - с | 241 - ё |
130 - В | 146 - Т | 162 - в | 178 - ▓ | 194 - ┬ | 210 - ╥ | 226 - т | 242 - Є |
131 - Г | 147 - У | 163 - г | 179 - │ | 195 - ├ | 211 - ╙ | 227 - у | 243 - є |
132 - Д | 148 - Ф | 164 - д | 180 - ┤ | 196 - ─ | 212 - ╘ | 228 - ф | 244 - Ї |
133 - Е | 149 - Х | 165 - е | 181 - ╡ | 197 - ┼ | 213 - ╒ | 229 - х | 245 - ї |
134 - Ж | 150 - Ц | 166 - ж | 182 - ╢ | 198 - ╞ | 214 - ╓ | 230 - ц | 246 - Ў |
135 - З | 151 - Ч | 167 - з | 183 - ╖ | 199 - ╟ | 215 - ╫ | 231 - ч | 247 - ў |
136 - И | 152 - Ш | 168 - и | 184 - ╕ | 200 - ╚ | 216 - ╪ | 232 - ш | 248 - ° |
137 - Й | 153 - Щ | 169 - й | 185 - ╣ | 201 - ╔ | 217 - ┘ | 233 - щ | 249 - ∙ |
138 - К | 154 - Ъ | 170 - к | 186 - ║ | 202 - ╩ | 218 - ┌ | 234 - ъ | 250 - · |
139 - Л | 155 - Ы | 171 - л | 187 - ╗ | 203 - ╦ | 219 - █ | 235 - ы | 251 - √ |
140 - М | 156 - Ь | 172 - м | 188 - ╝ | 204 - ╠ | 220 - ▄ | 236 - ь | 252 - № |
141 - Н | 157 - Э | 173 - н | 189 - ╜ | 205 - ═ | 221 - ▌ | 237 - э | 253 - ¤ |
142 - О | 158 - Ю | 174 - о | 190 - ╛ | 206 - ╬ | 222 - ▐ | 238 - ю | 254 - ■ |
143 - П | 159 - Я | 175 - п | 191 - ┐ | 207 - ╧ | 223 - ▀ | 239 - я | 255 - |
Кодировка Windows 1251
128 - Ђ | 144 - ђ | 160 - | 176 - ° | 192 - А | 208 - Р | 224 - а | 240 - р |
129 - Ѓ | 145 - ‘ | 161 - Ў | 177 - ± | 193 - Б | 209 - С | 225 - б | 241 - с |
130 - ‚ | 146 - ’ | 162 - ў | 178 - І | 194 - В | 210 - Т | 226 - в | 242 - т |
131 - ѓ | 147 - “ | 163 - Ј | 179 - і | 195 - Г | 211 - У | 227 - г | 243 - у |
132 - „ | 148 - ” | 164 - ¤ | 180 - ґ | 196 - Д | 212 - Ф | 228 - д | 244 - ф |
133 - … | 149 - • | 165 - Ґ | 181 - µ | 197 - Е | 213 - Х | 229 - е | 245 - х |
134 - † | 150 - – | 166 - ¦ | 182 - ¶ | 198 - Ж | 214 - Ц | 230 - ж | 245 - х |
135 - ‡ | 151 - — | 167 - § | 183 - · | 199 - З | 215 - Ч | 231 - з | 247 - ч |
136 - € | 152 -? | 168 - Ё | 184 - ё | 200 - И | 216 - Ш | 232 - и | 248 - ш |
137 - ‰ | 153 - ™ | 169 - © | 185 - № | 201 - Й | 217 - Щ | 233 - й | 249 - щ |
138 - Љ | 154 - љ | 170 - Є | 186 - є | 202 - К | 218 - Ъ | 234 - к | 250 - ъ |
139 - ‹ | 155 - › | 171 - « | 187 -» | 203 - Л | 219 - Ы | 235 - л | 251 - ы |
140 -Њ | 156 -њ | 172 -¬ | 188 -ј | 204 - М | 220 - Ь | 236 - м | 252 - ь |
141 -Ќ | 157 -ќ | 173 - | 189 -Ѕ | 205 - Н | 221 - Э | 237 - н | 253 - э |
142 -Ћ | 158 -ћ | 174 -® | 190 -ѕ | 206 - О | 222 - Ю | 238 - о | 254 - ю |
143 –Џ | 159 -џ | 175 -Ї | 191 -ї | 207 - П | 223 - Я | 239 - п | 255 - я |
9.1. Основные понятия
Подпрограмма – логически законченная часть программы, которую по имени можно вызывать в разные места программы неограниченное число раз.
Она решает часть общей задачи. У нее есть имя, которое используется при вызове подпрограммы в основную программу.
Подпрограммы бывают 2 видов:
– процедуры и
– функции.
Процедура не возвращает значений (например, рисует) или возвращает несколько значений (корни квадратного уравнения).
Функция возвращает одно значение.
Программа без структурных элементов называется монолитной. Минимальный элемент такой программы - оператор. Она сложна в разработке, отладке и сопровождении.
Структурированная программа называется модульной. Она содержит более крупные компоненты - подпрограммы. Модульная программа проще создается, более понятна.
Модульная программа может иметь иерархическую структуру.
Работа с подпрограммой включает 2 этапа:
– описание подпрограммы;
– вызов подпрограммы.
Преимущества подпрограммы:
– в программе нет дублирования кода;
– повышается надежность программы;
– улучшается «читаемость» программы;
– облегчается процесс отладки.
Различают подпрограммы:
– без параметров,
– с параметрами.
9.2. Процедурный тип
Процедурный тип расширяет традиционное понятие подпрограмм, позволяя обращаться с подпрограммами как с переменными. Используется в программировании, где структура программы отражает структуру решаемой задачи. В результате алгоритм решения ясно виден из исходного текста.
Процедурный тип это внешние данные, используемые подпрограммой.
Процедурный тип объявляется следующим образом: