рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Процедуры и функции пользователя

Работа сделанна в 2004 году

Процедуры и функции пользователя - раздел Программирование, - 2004 год - Работа с матрицами Процедуры И Функции Пользователя. Если В Программе Возникает Необходимость Ча...

Процедуры и функции пользователя. Если в программе возникает необходимость частого обращения к некоторой группе операторов, выполняющих действия или вычисляющих значение какого-либо выражения, то рационально сгруппировать такую группу операторов в самостоятельный блок, к которому можно обращаться, указывая его имя. Такие разработанные программистом самостоятельные программные блоки называются подпрограммами пользователя.

Они являются основой модульного программирования.

При вызове подпрограммы процедуры или функции, определенной программистом, работа главной программы на некоторое время приостанавливается и начинает выполняться вызванная подпрограмма. Она обрабатывает данные, переданные ей из главной программы.

По завершении выполнения подпрограмма-функция возвращает главной программе результат подпрограмма-процедура не возвращает явно результирующего значения.

Передача данных из главной программы в подпрограмму и возврат результата выполнения функции осуществляются с помощью параметров.

Параметром называется переменная, которой присваивается некоторое значение в рамках указанного применения. Различают формальные параметры параметры, определенные в заголовке подпрограммы, и фактические параметры выражения, задающие конкретные значения при обращении к подпрограмме.

При обращении к подпрограмме ее формальные параметры замещаются фактическими, переданными из главной программы.

Описание процедуры включает заголовок имя и тело процедуры. Заголовок состоит из зарезервированного слова procedure, идентификатора имени процедуры и необязательного, заключенного в круглые скобки, списка формальных параметров с указанием типа каждого параметра. Имя процедуры идентификатор, уникальный в пределах программы. Тело процедуры представляет собой локальный блок, по структуре аналогичный программе. Заголовок функции Описания меток, констант, типов и т. д. действительны только в пределах данной процедуры.

В теле процедуры можно использовать любые глобальные константы и переменные. procedure имя Формальные параметры const type var begin операторы end Процедура не может выполниться сама, ее необходимо вызвать по имени и указать фактические параметры того же типа, что и формальные. Количество и тип формальных параметров равны количеству и типу фактических параметров. Функции Функция, определенная пользователем, состоит из заголовка и тела функции.

Заголовок содержит зарезервированное слово function, идентификатор имя функции заключенный в круглые скобки, необязательный список формальных параметров и тип возвращаемого функцией значения. Тело функции представляет собой уникальный блок, по структуре аналогичный программе function имя Формальные параметры тип результата const type var begin операторы end В разделе операторов должен находиться, по крайней мере, один оператор, присваивающий имени функции значение.

В точку вызова возвращается результат последнего присваивания. Обращение к функции осуществляется по имени с необязательным указанием списка аргументов. Каждый аргумент должен соответствовать формальным параметрам, указанным в заголовке, и иметь тот же тип. Механизм передачи параметров Как было сказано выше, в заголовке процедуры или функции может быть задан список параметров, которые называются формальными. Название формальные эти параметры получили в связи с тем, что в этом списке заданы только имена для обозначения исходных данных и результатов работы процедуры, а при вызове подпрограммы на их место будут подставлены конкретные значения выражений и имен. Этот список указывается после имени подпрограммы и заключается в круглые скобки.

Список формальных параметров, указываемых в заголовке подпрограммы, может включать в себя параметры-значения параметры-переменные, перед которыми должно стоять служебное слово var и за которыми указывается их тип параметры-процедуры, перед которыми должно стоять служебное слово procedure параметры-функции, перед которыми должно стоять служебное слово function и после которых указывается тип значения, возвращаемого функцией в основную программу нетипизированные параметры, перед которыми должно стоять служебное слово var и отсутствует указание типа. В списке должны быть перечислены имена формальных параметров и их типы. Имя параметра отделяется от типа двоеточием, а параметры друг от друга точкой с запятой. Имена параметров одного типа можно объединять в подсписки, в которых имена отделяются друг от друга запятой. 2.9 Коды клавиатуры Коды опроса клавиатуры это стандартные коды персонального компьютера, генерируемые микропроцессором клавиатуры при нажатии какой-либо клавиши.

Этот код является входным для системы Турбо Паскаль.

При возвращении расширенных кодов в качестве первого знака возвращается нулевой байт, а второй знак соответствует нажатой клавише или комбинации клавиш. В таблицах приведено соответствие второго возвращаемого кода нажатым клавишам.

Расширенные коды клавиатуры Код Значение Код Значение 16 25 Alt-QWERTYUIOP 114 Ctrl - PrtScr 30 38 Alt-ASDFGHIJKL 115 Ctrl - LeftArrowCTpenKa влево 44 50 Alt-ZXCVBNM 116 Ctrl - RightArrowCTpenKa вправо 59 68 F1-F10 117 Ctrl-End 71 Home Исходная позиция 118 Ctrl-PgUp 72 UpArrow Стрелка вверх 119 Ctrl-Home 73 PgUp Страница вверх 120 131 Alt-1234567890 75 LeftArrowCrpenKa влево 132 Ctrl-PgDn 77 RightArrow Стрелка вправо 133 Fll 79 End Конец 134 F12 80 DownArrow Стрелка вниз 135 Shift-Fll 81 PgDn Страница вниз 136 Shift-Fl 2 82 Ins Вставка 137 Ctrl-Fll 83 Del Удаление 138 Ctrl-F12 84 93 Fl 1-F20 Shift-Fl no Shift-FlO 139 Alt-Fl 1 94 103 F21-F30Ctrl-Fl noCtrl-F10 140 Alt-Fl 2 104 113 F3 1-F40 Alt-Fl no Alt-FlO Коды опроса клавиатуры Клавиша в шестнадцатеричном виде Код опроса Клавиша в шестнадцатеричном виде Код опроса Esc 01 Q 10 П 02 W 11 2 03 Е 12 3 04 R 13 4 05 Т 14 5 06 Y 15 Л6 07 и 16 7 08 I 17 8 09 О 18 9 ОА р 19 0 0В 1А Клавиша в шестнадцатеричном виде Код опроса Клавиша в шестнадцатеричном виде Код опроса ОС IB oi Enter 1C BS OE м 2B CTRL ID Z 2C А IE X 2D S IF 2E D 20 V 2F F 21 в 30 G 22 N 31 Н 23 М 32 J 24 33 К 25 34 L 26 35 27 RightShift 36 28 Prtscr 37 29 Alt 38 Л. Shift 2A Home 47 Space 39 Up Arrow 48 CapsLock ЗА PgUp 49 Fl 3B 4A F2 3C LeftArrow 4B F3 3D 5 4C F4 3E RightArrow 4D F5 . 3F 4E F6 40 End 4F F7 41 DownArrow 50 F8 42 PgUp 51 F9 43 Ins 52 F10 44 Del 53 Fll D9 NumLock 45 F12 DA ScrollLock 46 Tab OF Функция KeyPressed function KeyPressed Boolean Защищенный режим, реальный режим Назначение Возвращает значение True, если на клавиатуре нажата клавиша и False в противном случае.

Символ или символы остаются в буфере клавиатуры.

Данная процедура не распознает клавиш перевода регистра, таких, как Shift, Alt, NumLock и т.д. Клавишу можно считать с помощью функции ReadKey. Функция ReadKey function ReadKey Char Защищенный режим, реальный режим Назначение Считывает символ с клавиатуры.

Считываемый символ не отображается на экране. Если перед обращением к функции ReadKey функция KeyPressed имела значение True, то символ считывается немедленно, в противном случае функция ожидает нажатия клавиши. 3. Листинг программы Program Kyrsac Uses crt Const Nmax10 Type Matrixarray 1 Nmax, 1 Nmax of integer label 1 Var A,B,Cmatrix key, chchar i, f,g, e,r, j,z, s integer pstring Процедура ввода элементов массива Параметры z-размер массива, A-массив Procedure Vvod zinteger Var Amatrix Var i, jinteger Begin For i1 to z do For j1 to z do Begin Write, i j, Read Ai, j End For i1 to z do Begin For j1 to z do Write Ai, j5 Writeln End End Процедура вывода элементов массива Параметры z-размер массива, A-массив Procedure Vivodzinteger Amatrix Var i, jbyte Begin For i1 to z do Begin For j1 to z do WriteAi, j5 Writeln End End Процедура умножения 2-х матриц Параметры z-размер массива, A,B-исходный массив, C-массив результат Procedure YmnA,Bmatrix zinteger Var Cmatrix Var i, j,k, sinteger Begin For i1 to z do For j1 to z do Begin s0 For k1 to z do ssAi, kBk, j Ci, js End End Процедура транспонирования Параметры z-размер массива, A-исходный массив, C-массив результат Procedure TranAmatrix zinteger Var cmatrix Var i, jinteger Begin For i1 to z do For j1 to z do ci, jAj, i End Процедура умножения массива на скаляр Параметры z-размер массива, s-скаяр A-исходный массив, C-массив результат Procedure SkalAmatrix z, sinteger Var cmatrix Var i, jinteger Begin For i1 to z do For j1 to z do ci, jAi, js End Процедура вычитания 2-х матриц Параметры z-размер массива, A,B-исходный массив, C-массив результат Procedure VicA,Bmatrix zinteger Var Cmatrix Var i, jinteger Begin For i1 to z do For j1 to z do Ci, jAi, j-Bi, j End Процедура сложения 2-х матриц Параметры z-размер массива, A,B-исходный массив, C-массив результат Procedure slogA,Bmatrix zinteger Var Cmatrix Var i, jinteger Begin For i1 to z do For j1 to z do Ci, jAi, jBi, j End Тело программы Begin clrscr while keypressed do Очстка буфера клавиатуры keyreadkey asm mov ah,01 Вставка из ASEMBLER mov cx,2000 для невидимого курсора int 10 end f38 Начальные координаты для рисования звездочек g42 for j1 to 12 do begin for i1 to 3 do begin gotoxyfi, j textcolor3 write delay1000 gotoxyg-i, j write delay1000 end ffi gg-i end f75 Начальные координаты для рисования звездочек в обратном порядке g5 for j12 to 23 do begin for i1 to 3 do begin gotoxyf-i, j write delay1000 gotoxygi, j write delay1000 end ff-i ggi end textcolor5 gotoxy20,12 writelnО П Е Р А Ц И И Н А Д М А Т Р И Ц А М И Вывод на экран строки с кординатами 20 12 розовым цветом pНажмите любую клавишу for j1 to lengthp do Вывод строки р поэлементно for i25 downto 24 do begin gotoxy29j, i textcolor2 writepj delay5000 gotoxy29j, i textcolor0 writepj if i24 then begin gotoxy29j, i textcolor2 writepj end end gotoxy30,24 textcolor18 writep keyreadkey Считывание нажатой клавиши clrscr for i1 to 10 do Вывод МЕНЮ построчно begin gotoxy37,i textcolor13 writeМ Е Н Ю delay5000 gotoxy37,i textcolor0 writeМ Е Н Ю if i10 then begin gotoxy37,i textcolor13 writeМ Е Н Ю end end for i1 to 35 do Ввывод 1.Сложение бегущей строкой begin gotoxyi,12 textcolor2 write1. Сложение delay5000 gotoxyi,12 textcolor0 write1. Сложение if i35 then begin gotoxyi,12 textcolor2 write1. Сложение end end for i68 downto 35 do Ввывод 2.Вычитание бегущей строкой begin gotoxyi,13 textcolor2 write2. Вычитание delay5000 gotoxyi,13 textcolor0 write2. Вычитание if i35 then begin gotoxyi,13 textcolor2 write2. Вычитание end end for i1 to 35 do Ввывод 3.Умножение бегущей строкой begin gotoxyi,14 textcolor2 write3. Умножение delay5000 gotoxyi,14 textcolor0 write3. Умножение if i35 then begin gotoxyi,14 textcolor2 write3. Умножение end end for i58 downto 35 do Ввывод 4.Умножение на скаляр бегущей строкой begin gotoxyi,15 textcolor2 write4. Умножение на скаляр delay5000 gotoxyi,15 textcolor0 write4. Умножение на скаляр if i35 then begin gotoxyi,15 textcolor2 write4. Умножение на скаляр end end for i1 to 35 do Ввывод 5.Транспонирование бегущей строкой begin gotoxyi,16 textcolor2 write5. Транспонирование delay5000 gotoxyi,16 textcolor0 write5. Транспонирование if i35 then begin gotoxyi,16 textcolor2 write5. Транспонирование end end for i25 downto 18 do Вывод 6.ВЫХОД построчно begin gotoxy35,i textcolor2 write6. В Ы Х О Д delay5000 gotoxy35,i textcolor0 write6. В Ы Х О Д if i18 then begin gotoxy35,i textcolor2 write6. В Ы Х О Д end end for i25 downto 20 do Вывод Выберите пункт меню и нажмите ввод begin gotoxy25,i textcolor9 write Вывод Выберите пункт меню и нажмите ввод delay5000 gotoxy25,i textcolor0 write Вывод Выберите пункт меню и нажмите ввод if i20 then begin gotoxy25,i textcolor25 write Вывод Выберите пункт меню и нажмите ввод end end while keypressed do keyreadkey Очистка буфера клавиатуры repeat until keypressed Ожидание нажатия клавиши 1 Метка 1 clrscr repeat gotoxy37,10 textcolor13 writeМ Е Н Ю gotoxy35,12 textcolor2 write1. Сложение gotoxy35,13 write2. Вычитание gotoxy35,14 write3. Умножение gotoxy35,15 write4. Умножение на скаляр gotoxy35,16 write5. Транспонирование gotoxy35,18 write6. В Ы Х О Д gotoxy35,20 textcolor25 write Вывод Выберите пункт меню и нажмите ввод gotoxy25,20 writeln gotoxy40,22 readlnch clrscr until ch49orch50orch51orch52orch53orch54 Проверка кода нажатой клавиши case ch of 49begin clrscr textcolor9 Writeln Введите размер матрицы A,B textcolor10 Readz Writeln textcolor9 WritelnВведите, zz, элементов для каждой матрицы textcolor13 WritelnМатрица A textcolor10 Vvodz,A Writeln textcolor13 WritelnМатрица B textcolor10 Vvodz,B Writeln textcolor13 WritelnРезультат сложения матриц АВ textcolor10 sloga, b,z, c textcolor10 vivodz, c gotoxy25,25 textcolor19 writeДля продолжения нажмите ввод repeat until keypressed goto 1 Возвращение на метку 1 end 50begin clrscr textcolor9 Writeln Введите размер матрицы A,B textcolor10 Readz Writeln textcolor9 WritelnВведите, zz, элементов для каждой матрицы textcolor13 WritelnМатрица A textcolor10 Vvodz,A Writeln textcolor13 WritelnМатрица B textcolor10 Vvodz,B Writeln textcolor13 WritelnРезультат Вычитание матриц А-В textcolor10 Vica, b,z, c textcolor10 vivodz, c gotoxy25,25 textcolor19 writeДля продолжения нажмите ввод repeat until keypressed goto 1 Возвращение на метку 1 end 51begin clrscr textcolor9 Writeln Введите размер матрицы A,B textcolor10 Readz Writeln textcolor9 WritelnВведите, zz, элементов для каждой матрицы textcolor13 WritelnМатрица A textcolor10 Vvodz,A Writeln textcolor13 WritelnМатрица B textcolor10 Vvodz,B Writeln textcolor13 WritelnРезультат умножения матриц АВ textcolor10 Ymna, b,z, c textcolor10 Vivodz, c gotoxy25,25 textcolor19 writeДля продолжения нажмите ввод repeat until keypressed goto 1 Возвращение на метку 1 end 52begin clrscr textcolor9 Writeln Введите размер матрицы A textcolor10 Readz Writeln textcolor9 WritelnВведите, zz, элементов для каждой матрицы textcolor13 WritelnМатрица A textcolor10 Vvodz,A Writeln textcolor13 writeВведите скаляр textcolor10 readlns textcolor13 WritelnРезультат умножения матрицы А на, s, textcolor10 Skala, z,s, c textcolor10 vivodz, c gotoxy25,25 textcolor19 writeДля продолжения нажмите ввод repeat until keypressed goto 1 Возвращение на метку 1 end 53begin clrscr textcolor9 Writeln Введите размер матрицы A textcolor10 Readz Writeln textcolor9 WritelnВведите, zz, элементов для каждой матрицы textcolor13 WritelnМатрица A textcolor10 Vvodz,A Writeln textcolor13 WritelnРезультат транспонирования матрицы А textcolor10 Trana, z,c textcolor10 vivodz, c gotoxy25,25 textcolor19 writeДля продолжения нажмите ввод repeat until keypressed goto 1 Возвращение на метку 1 end 54begin clrscr textcolor3 writeln . . writeln writeln db writeln . writeln writeln, writeln V V . writeln writeln writeln . writeln writeln . writeln writeln writeln writeln writeln writeln writeln writeln writeln . . writeln gotoxy35,12 textcolor21 writeGood bay repeat until keypressed end end End. 4.

– Конец работы –

Эта тема принадлежит разделу:

Работа с матрицами

Современное обозначение две вертикальные черточки ввел А. Кэли 1841. Матричный язык, обозначения и матричные вычисления широко используются в… Матрицы являются основным математическим аппаратом линейной алгебры,… Числа m и n называются порядками матрицы.

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Процедуры и функции пользователя

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Теоретическая часть
Теоретическая часть. Матрицы. Понятие матрицы. Матрицей называется прямоугольная таблица из чисел, содержащая некоторое количество m строк и некоторое количество n столбцов. Числа m и n назы

Перемножение матриц
Перемножение матриц. Произведением матрицы A Aij i 1, 2 m j 1, 2 n, имеющей порядки соответственно равные m и n, на матрицу B Bij i 1, 2 n j 1, 2 p, имеющую порядки соответственно равные n и p, наз

TURBO Pascal Константы и переменные
TURBO Pascal Константы и переменные. В программе каждый элемент данных является константой или переменной. Константы и переменные определяются именами, к которым затем можно обратиться. Конс

Оператор присваивания
Оператор присваивания. В ТР7 в качестве оператора присваивания служит пара символов. Формат оператора идентификатор выражение В качестве выражения в ТР7 может быть использовано идентификатор

С постусловием RepeatUntil
С постусловием RepeatUntil. Иногда, приходится сталкиваться с такими задачами, когда нужно, чтобы выполнилось какое-либо действие, а потом проверилось условие повторения этого действия. Для этого с

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги