Содержание
- 2. program my; Задание 1 var z,c1,c2,c3:integer; begin readln(z); c1:=z div 100; c2:=(z mod 100) div 10;
- 3. Задание 3 program my_prog; var k,i,j:integer; begin k:=0; for i:=100 to 200 do begin j:=i mod
- 4. Задание 4 program my; var i,n,s,k:integer; begin s:=0; {summa} i:=0; {counter} readln(n); {vvod} repeat s:=s+i; i:=i+1;
- 5. Задание 5 program my; var mas:array[1..31] of Integer; i:integer; begin For i:=1 to 31 do Begin
- 6. program my; Задание 6. var i,s:integer; mas:array[1..10] of integer; begin s:=0; for i:=1 to 10 do
- 7. program my; Задание 7 var i,buf,maxi:integer; mas:array[1..10] of integer; begin buf:=0; for i:=1 to 10 do
- 8. mas[maxi]:=mas[1]; mas[1]:=buf; for i:=1 to 10 do writeln(mas[i]); end.
- 9. Процедуры и функции
- 10. Процедуры и функции Разновидностью программ являются подпрограммы. Подпрограмма – как любая программа может иметь все полагающиеся
- 11. Объявление и описание подпрограммы. Подпрограммы объявляются и описываются в начале программы, до ключевого слова begin, означающего
- 12. Описание подпрограммы Если описание подпрограммы имеется, оно идет после ее объявления по следующей схеме (единой для
- 13. Если объявление подпрограммы было оторвано от ее описания, то описание начинается дополнительной строкой с указанием только
- 14. Пример подпрограммы-процедуры: Program pr1; procedure err(c:byte; s:string); var zz: byte; begin if c = 0 then
- 15. Пример подпрограммы-функции Function Power(a,b:real):real; Begin If a>0 then Power:=exp(b*ln(a)) Else if a Power:=exp(b*ln(abs(a))) Else if b=0
- 16. Список параметров В заголовке подпрограммы (в ее объявлении) указывается список формальных параметров - переменных, которые принимают
- 17. Отсутствие параметров и, как следствие, передаваемых извне значений не означает, что при каждом вызове подпрограмма будет
- 18. Пример: function func2(a,b:byte; var x,y,z:real; const c:char); В заголовке подпрограммы можно указывать только простые (не составные)
- 19. Возвращаемые значения Основное различие между функциями и процедурами состоит в количестве возвращаемых ими значений. Любая функция,
- 20. Например: function min(a,b: integer): integer; begin if a>b then min:= b else min:= a end; В
- 21. Вызов подпрограмм Любая подпрограмма может быть вызвана не только из основного тела программы, но и из
- 22. Количество и типы передаваемых в подпрограмму аргументов должны соответствовать количеству и типам ее параметров. Тип каждого
- 23. Вызов функции не может быть самостоятельным оператором, потому что возвращаемое значение нужно куда-то записывать. Но может
- 24. Способы подстановки аргументов ; параметр-значение var; параметр-переменная const. параметр-константа
- 25. 1-й способ подстановки. Параметр-значение Описание В списке параметров подпрограммы перед параметром-значением служебное слово отсутствует. Например, функция
- 26. Механизм передачи значения В области памяти, выделяемой для работы вызываемой подпрограммы, создается переменная с именем .
- 27. Например: function func3(x:real; k:integer; flag:boolean):real; При вызове func3(1+a/2,a,true) будут выполнены следующие действия: создать временные переменные func3.x,
- 28. 2-й способ подстановки. Параметр-переменная Описание В списке параметров подпрограммы перед параметром-переменной ставится служебное слово var. Например,
- 29. Механизм передачи значения В отличие от параметра-значения, для параметра-переменной не создается копии при вызове подпрограммы. В
- 30. 3-й способ подстановки. Параметр-константа Описание В списке параметров подпрограммы перед параметром-константой ставится служебное слово const. Например,
- 31. Механизм передачи значения Есть разные точки зрения на то создается ли для параметра-константы, как и для
- 32. Области действия имен. Разграничение контекстов Глобальные объекты - это типы данных, константы и переменные, объявленные в
- 33. program prog; var a:byte; procedure pr1 (p:byte); var b:byte; {первый уровень вложенности} function f (pp:byte); var
- 34. Побочный эффект Поскольку глобальные переменные видны в контекстах всех блоков, то их значение может быть изменено
- 35. Совпадение имен Cовпадение глобальных и локальных имен не вызывает коллизий, поскольку к каждому локальному имени неявно
- 36. Нетипизированные параметры В объявлении подпрограммы можно не указывать тип параметра-переменной: procedure proc5(var x); Такой параметр будет
- 37. Явное преобразование типа В процедуре proc5 значение одного и того же параметра х интерпретируется тремя разными
- 38. Совмещение в памяти Второй способ: описать внутри подпрограммы локальную переменную, которая будет физически совпадать с переменной,
- 39. function func5(var x):real; var xxx: longint absolute x; begin {здесь с началом любой переменной, поступившей в
- 40. Открытые параметры Открытые параметры - это массивы и строки неопределенной длины. Открытым параметром может стать только
- 41. В заголовке подпрограммы открытый параметр-массив описывается по следующему шаблону: var : array of Например, если описано
- 42. Компоненты открытого параметра-массива нумеруются, начиная с нуля - этим достигается единообразие обращения к массивам переменной длины.
- 43. Открытые строки Поскольку строки - это массивы символов, то они тоже могут стать открытыми параметрами. Описывается
- 44. Процедурный тип данных Имена подпрограмм могут выступать в роли аргументов для других подпрограмм. Описание В разделе
- 45. Аргументы Аргументами, которые можно передать в параметр процедурного типа, могут быть только подпрограммы первого уровня вложенности,
- 46. function max(a,b: integer): integer; far; begin if a max:= b else max:= a end;
- 48. Скачать презентацию