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

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

Параметры

Параметры - раздел Программирование, Алфавит языка Turbo Pascal Параметры, Перед Которыми Отсутствует Зарезервированное Слово Var И За Которы...

Параметры, перед которыми отсутствует зарезервированное слово var и за которыми следует тип, называются параметрами-значениями. Например, в описании

procedure korrect (s, к : real; x : integer);

s, k, x параметры-значения. Фактический параметр, соответствующий параметру-значению, может быть выражением соответствующего типа, например:

korrect (2.5, (х + 2)/5, 1);

Изменение формальных параметров-значений не влияет на значе­ния соответствующих фактических параметров.

Параметры, перед которыми следует ключевое слово var и за кото­рым следует тип, называются параметрами-переменными. Например, в описании

procedure obr(var s, k: real; var x : integer);

s, k, x – параметры-переменные. Фактический параметр, соответствую­щий параметру-переменной, может быть только переменной, например:

obr(a, b, k);

где а, b – переменные вещественного типа, а k целого типа.

Любые изменения в значении формального параметра-переменной отражаются на фактическом параметре.

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

Пример. Решить два квадратных уравнения и ,

считая, что его дискриминант неотрицателен.

program primer1;

uses crt;

var y1, y2, zl, z2 : real;

{текст процедуры для нахождения корней квадратного уравнения }

procedure sq( a, b, с : real; var xl, x2 : real);

var d : real;

begin

d:=b*b – 4*a*c;

x1:=(–b + sqrt(d))/(2*a);

х2:=(b – sqrt(d))/(2*a);

end;

{операторы основной программы}

begin clrscr;

sq(5.7, –1.2, –8.3, y1, y2);

sq(2.4, 3.4, –8.4, zl, z2);

writeln(¢корни y1, y2 =¢, yl : 6 : 2, y2 : 6 : 2);

writeln(¢корни zl, z2 =¢, zl : 6 : 2, z2 : 6 : 2);

readkey

end.

 

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

Нельзя (!) записать так:

procedure sum(a : array[l ..5] of real; var s : real);

Как же написать одну процедуру для обработки двух массивов одного типа, имеющих разное число элементов?

 

Пример. Вычислить z = (s + к)*(s1 + k1), где s, k – сумма и количество отрицательных элементов a(10), s1, k1сумма и количество отрицательных элементов массива b(8).

program primer2;

uses crt;

type vect = array [1..10] of real;

{Значение верхней границы индекса равно максимальному числу элементов двух массивов а, b}

var а, b : vect; i, k, k1 : integer; s, s1 : real;

{Процедура для фиктивного массива х с числом элементов п, где п <= 10 вычисляет сумму (sum) и количество (col) отрицательных элементов}

 

procedure sumcol (x:vect; n:integer; var sum:real;

var col:integer);

var i:integer;

begin sum := 0; col := 0;

for i:=1 to n do

if x[i]< 0 then

begin sum := sum + x[i];

соl:=соl + 1;

end

end;

begin clrscr;

writeln(¢ввeдитe массив а(10)¢);

for i := 1to 10 do read(a[i]);

writeln(¢введите массив b(8)¢);

for i := 1 to 8 do read(b[i]);

{в процедуру передается массив а длиной 10}

sumcol(a, 10, s, к);

{в процедуру передается массив b длиной 8}

sumcol(b, 8, sl, k1);

z := (s + k)*(sl + kl);

writeln(¢z=¢, z : 6 : 2);

readkey

end.

 

Такой подход можно применить и для двумерных массивов.

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

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

Алфавит языка Turbo Pascal

На сайте allrefs.net читайте: Алфавит языка Turbo Pascal. УДК...

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

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

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

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

Алфавит языка Turbo Pascal
Программа в Turbo Pascal записывается в виде последовательности символов, к числу которых относятся: - латинские буквы: а, b, с, … , z; - русские буквы: а, б, в,

Переменные
Для обозначения исходных данных и результатов вычислений употребляются переменные. Переменная – это область памяти (ячейка) компьютера. Переменные могут менять свое

Целые типы данных языка Turbo Pascal
  Название Диапазон значений Длина в байтах Byte 0..255 ShortInt

В Turbo Pascal
  Запись в математике Запись в Паскале

Ввод и вывод результатов вычислений
Для ввода исходных данных и вывода результатов вычислений используются процедуры ввода и вывода. Процедура ввода состоит из идентификатора read (читать) и

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

Описание одномерного массива
Общий вид описания одномерного массива: type имя типа = array [тип индекса] of тип компонент; var имя массива: имя типа. Например: type vectl= аrray [1..12] of r

Часто встречающиеся задачи на одномерный массив
Пусть задан массив а, состоящий из 10 действительных элементов.   Задача 1. Найти сумму элементов массива а. sum:=0; for i

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

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

Главной или побочной диагонали матрицы
Существует множество задач, в которых необходимо использовать элементы главной или побочной диагонали матрицы (эти понятия имеют смысл только для квадратных матриц!). Пусть дана матрица

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

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

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

Символьный тип данных
  Набор символов в компьютере достаточно велик. Все символы упорядо­чены, т.е. каждый символ имеет свой порядковый номер (код символа). Символьная константа (литера) – это си

Особенности работы со строками
1. Строку можно вводить и выводить как единое целое с помощью операторов readln, writeIn, например: read (st); writeln (¢пример¢); 2. Значением строки может быть

Редактирование строк
Функция length (s : string):word; вычисляет текущую длину строки s (количество символов в строке). Строка может быть задана идентифи­катором или неп

Преобразование строк
Процедура str (x[:width [:dec]]; var s:string); служит для преобразования числовых значений в строковые, где х может быть переменной или знач

Для работы с текстовыми файлами
Процедура assign (f:text;name:string); связывает файловую переменную f с существующим или вновь создаваемым на винчестере файлом, название ко

Особенности работы с записями
1. Обращение к записи в целом возможно только в операторе присваивания, где слева и справа от знака присваивания используются имена записей одинакового типа, например: b := a;

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

Типизированными файлами
Процедуры assign ( f : file; name : string ); rewrite ( f : file ); reset ( f : file);

Прямой доступ к элементам файла
Процедура seek( f : file, n : longint ); позволяет заменить значение текущего указателя, установив его на элемент файла с заданным номером n. Текущи

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