Содержание
- 2. 4.1 Процедуры и функции Процедуры и функции – самостоятельные фрагменты программы, соответствующим образом оформленные и вызываемые
- 3. Заголовки процедуры и функции Процедура: Пример: Procedure RRR(a:integer;b:real); Функция: Пример: Function F23(a:integer;b:real):boolean;
- 4. Локальные и глобальные переменные * - при отсутствии перекрытия имен. Основная программа Подпрограмма 1 Глобальные данные
- 5. Передача данных в подпрограмму Подпрограмма может получать данные из основной про-граммы и возвращать ре-зультаты. Способы передачи:
- 6. Неявная передача данных в подпрограмму Недостатки неявной передачи данных: 1) жестко связывает подпрограмму и данные; 2)
- 7. Передача данных через параметры Список параметров описывается в заголовке: Параметры, описанные в заголовке – формальные. При
- 8. Стек Способы передачи параметров Основная программа Подпро- грамма Передача по значению Копии данных - аргументов Работа
- 9. Способы передачи параметров (2) Параметры-значения при описании подпрограммы не помечаются, например: function Beta(x:single; n:byte):integer; . Параметры-переменные
- 10. Определение площади четырехугольника Площадь четырехугольника определяем, как сумму площадей двух треугольников. Площадь треугольника со сторонами a,
- 11. Схемы алгоритмов подпрограмм Формальные параметры Фактические параметры - аргументы Фактическое значение параметра-переменной Формальный параметр-переменная в заголовке
- 12. Функция Program Ex4_1; {$APPTYPE CONSOLE} Uses SysUtils; Var A,B,C,D,E:single; Function Stf(const X,Y,Z: single): single; Var p:single;
- 13. Процедура Program Ex4_2; {$APPTYPE CONSOLE} uses SysUtils; Var A,B,C,D,E:real; S1,S2:single; Procedure Stp(const X,Y,Z:single;var S:single); Var p:single;
- 14. Параметры структурных типов Структурные типы параметров (массивы, строки, множества, записи, указатели, файлы) должны быть предварительно объявлены.
- 15. Программа Program Ex4_3; {$APPTYPE CONSOLE} Uses SysUtils; Type mas=array[1..10] of integer; Var a:mas; i,n:integer; Function sum(b:mas;
- 16. 4.2 Модули Модуль – это автономно компилируемая коллекция программных ресурсов, предназначенных для использования другими модулями и
- 17. Подключение модуля к программе Подключение модуля к программе осуществляется по имени: Uses , , ...; Объявление
- 18. Модуль с функцией вычисления суммы Unit Summa; {должен находиться в файле Summa.pas} Interface type mas=array[1..10] of
- 19. Программа вычисления суммы Program Ex4_4; {$APPTYPE CONSOLE} Uses SysUtils, Summa in 'Summa.pas'; Var a:mas; i,n:integer; Begin
- 20. Правило видимости имен ресурсов модуля Ресурсы модуля перекрываются ресурсами программы и ранее указанных модулей. Для доступа
- 21. 4.3 Создание универсальных подпрограмм 4.3.1 Открытые массивы и строки Открытый массив – конструкция описания типа массива
- 22. Функция с открытым массивом Unit Summa2; Interface Function sum(b:array of integer; n:integer):integer; Implementation Function sum; var
- 23. Тестирующая программа Program Ex4_5; {$APPTYPE CONSOLE} Uses SysUtils, Summa2 in 'Summa2.pas'; Var a:array[1..10] of integer; i,n:integer;
- 24. Открытые строки Для строк, передаваемых в подпрограмму как параметр-переменная, Паскаль осуществляет контроль длины строки. Чтобы избежать
- 25. Тестирующая программа program Ex4_6; {$APPTYPE CONSOLE} uses SysUtils, Stroka in 'Stroka.pas'; Var S:string[26];i:integer; Begin s:='A'; for
- 26. 4.3.2 Нетипизированные параметры Нетипизированные параметры – параметры-переменные, тип которых при объявлении не указан. Для приведения нетипизированного
- 27. Суммирование чисел различных типов Unit Summa4; Interface type ttype=(treal,tinteger); function sum(var x;n:integer;t:ttype):real; Implementation function sum; Var
- 28. Тестирующая программа program Ex4_7; {$APPTYPE CONSOLE} uses SysUtils, Summa4 in 'Summa4.pas'; Var a:array[1..10] of integer; b:array[1..15]
- 29. Универсальные подпрограммы с многомерными массивами B[i,j] ⇔ A[(i-1)*q+j] m n p q q m q m
- 30. Транспонирование матрицы В транспонированной матрице B: b[i,j] = a[j,i] Если i=1, то первый номер столбца j=2
- 31. Универсальная подпрограмма Unit Matrica; Interface procedure Tran(Var x;n,q:integer); Implementation procedure Tran; Var a:array[1..3000] of real absolute
- 32. Тестирующая программа Program Ex4_8; {$APPTYPE CONSOLE} Uses SysUtils, Matrica in 'Matrica.pas'; Var a:array[1..10,1..10] of single; i,j:integer;
- 33. 4.3.3 Параметры процедурного типа Параметры процедурного типа используются для передачи в подпрограмму имен процедур и функций.
- 34. Табулирование функций Табулирование – построение таблицы значений: x y 0.01 5.56 0.02 6.34 0.03 7.56 ...
- 35. Подпрограмма табулирования функции Unit SFun; Interface Type func=function(x:Single):Single; Procedure TabFun(f:func;a,b:Single;n:integer; var Masf,MasX:array of Single); Implementation Procedure
- 36. Тестирующая программа Program Ex4_9; {$APPTYPE CONSOLE} Uses SysUtils, SFun in 'SFun.pas'; Var masF1,masX1:array[1..10] of Single; masF2,masX2:array[1..20]
- 37. Тестирующая программа. Раздел операторов Begin TabFun(F1,0,2,10,masF1,masX1); WriteLn(’Table 1’); for i:=1 to 10 do WriteLn(masX1:4:1,masF1[i]:7:1); WriteLn(’Table 2’);
- 38. 4.4 Рекурсия 4.4.1 Основные понятия Рекурсия – организация вычислений, при которой процедура или функция обращаются к
- 39. Вычисление наибольшего общего делителя Базисное утверждение: если два числа равны, то их наибольший общий делитель равен
- 40. Вычисление наибольшего общего делителя (2) Program Ex4_10a; {$APPTYPE CONSOLE} Uses SysUtils; Var a,b,r:integer; Procedure nod(a,b:integer; var
- 41. Вычисление наибольшего общего делителя (3) 18 12 a b r 18 12 6 12 6 6
- 42. Вычисление наибольшего общего делителя (4) Program Ex4_10b; {$APPTYPE CONSOLE} Uses SysUtils; Var a,b,r:integer; Function nod(a,b:integer):integer; begin
- 43. 4.4.2 Фрейм активации. Структура рекурсивной подпрограммы Каждое обращение к рекурсивной подпрограмме вызывает независимую активацию этой подпрограммы.
- 44. Переворот строки 1) последовательное отсечение начального элемента и добавление его в конец результирующей строки: Function reverse1(const
- 45. Переворот строки (2) 2) последовательная перестановка элементов, например ABCDE ⇒ EBCDA ⇒ EDCBA Procedure reverse2(var ss:string;
- 46. Определение корней уравнения на заданном отрезке. Метод деления пополам 0 a b x f(x)>ε x’ f(x’)>ε
- 47. Определение корней уравнения на заданном отрезке (2) Базисное утверждение: Если абсолютная величина функции в середине отрезка
- 48. Определение корней уравнения на заданном отрезке (3) Program Ex4_11; {$APPTYPE CONSOLE} Uses SysUtils; Var a,b,eps,x:real; Procedure
- 49. Структура рекурсивной подпрограммы «Операторы после вызова», выполняются после возврата управления из рекурсивно вызванной подпрограммы. Пример. Распечатать
- 50. Просмотр массива i=1 i=2 i=3 Дан массив, завершающийся нулем и не содержащий нулей в середине, например:
- 51. Просмотр массива. Программа Program Ex4_12; {$APPTYPE CONSOLE} Uses SysUtils; Type mas=array[1..10] of real; Var x:mas; i:integer;
- 52. Просмотр массива. Программа (2) Begin i:=0; repeat i:=i+1; Read(x[i]) until x[i]=0; print(x,1); ReadLn; End.
- 53. 4.4.3 Древовидная рекурсия. Перестановки А,B,C ⇒ ABC, ACB, BAC, BCA, CAB, CBA. Схема формирования перестановок:
- 54. Перестановки (2) Program Ex4_13; {$APPTYPE CONSOLE} Uses SysUtils; Type mas=array[1..3] of char; Var a:mas='ABC'; Var pole:mas;
- 56. Скачать презентацию













![Программа Program Ex4_3; {$APPTYPE CONSOLE} Uses SysUtils; Type mas=array[1..10] of integer; Var](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064530/slide-14.jpg)













![Универсальные подпрограммы с многомерными массивами B[i,j] ⇔ A[(i-1)*q+j] m n p q](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064530/slide-28.jpg)
![Транспонирование матрицы В транспонированной матрице B: b[i,j] = a[j,i] Если i=1, то](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064530/slide-29.jpg)




















![Просмотр массива. Программа Program Ex4_12; {$APPTYPE CONSOLE} Uses SysUtils; Type mas=array[1..10] of](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064530/slide-50.jpg)
![Просмотр массива. Программа (2) Begin i:=0; repeat i:=i+1; Read(x[i]) until x[i]=0; print(x,1); ReadLn; End.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064530/slide-51.jpg)

![Перестановки (2) Program Ex4_13; {$APPTYPE CONSOLE} Uses SysUtils; Type mas=array[1..3] of char;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1064530/slide-53.jpg)
Технология создания и обработки аудиозаписей в программе Audacity
Викторина по робототехнике. Шаблон
Кроссбраузерная верстка
Полезности инстаграмма
Электронные библиотеки
This is your presentation title
Технологии программирования (лекция 3 )
Разработать и предложить модель и инструменты информационного взаимодействия с обучающимися
10u-2b_СистемыСчисления
Присоединение Средней Азии. Классификация изданий. Итоговая информативность
Расчеты гидростатики судна в Solid Works и FreeShip. Лекция №6
Максимальное использование потенциала
Компьютерные вирусы. Антивирусы
Как безопасно общаться в социальных сетях
Технологии беспроводной связи
HMI Screen 01
Раскрашивание контурного изображения в программе Photoshop
Напишите консольную программу
ФГИС Меркурий
Лендинг /product: 1ый экран – кросс-девайс
Хеширование паролей. Лекция №6
Самообразование в сфере QA
Контакты ОГБУК Центр народной культуры Ульяновской области
Системное ПО. Операционные системы
Adobe Photoshop
Организация рабочих мест сотрудника ЗИ
Автоматизация сбора данных ГДИС, СУГИС
Организация анализа рисков информационной безопасности. (Лекция 8)