Входные и выходные параметры





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

Входные параметры – это переменные, в которые передаются значения переменных или констант основной программы в Процедуру, и не предназначены для возврата.

Procedureprintkvadr(i:integer);

Varx:real;

Begin

X:= i*i;

writeln('квадрат числа ', x:5:2);

end;

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

Procedurekub(varx,у:real);

 

Varx:real;

Begin

y:= x*x*x;

writeln('куб числа ', y:5:2);

end;

 

 

Пример:

{Процедура вычисления факториала}

Procedure fakt(n:integer;Var rez:integer);

Var i:integer;

Begin

rez:=1;

For i:=1 to n do

Begin

rez:=rez*i;

end;

writeln('Факториал ',n:2, '!=',rez)

end;

 

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

... Fakt(1,f1); Fakt(3,f3); Fakt(5,f5); Fakt(7,f7); Данный фрагмент программы из 4-х строк позволяет вычислить значения факториалов простых чисел первого десятка. После завершения процедуры fakt в основной программе переменные f1, f3, f5, f7 будут равны факториалу их индекса.

 


Функции

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

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

y:=funMin(a,b);- вызов функцииfunMin

Структура Функции полностью аналогична структуре Процедуры и располагается перед «главным» оператором BEGIN.

 

Function <имя Функции>(список переменных:<тип>):<тип>;

Параметры функции
Var

…<описание внутр.переменных>

Begin

<тело функции>

<имя функции>:=<значение>;

end;

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


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

Строковые переменные

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

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

'summa' 'Строка' 'Монета достоинством в 2 рубля'

 

Количество символов в строке может меняться от 1 до 255.

Для определения данных строкового типа используется идентификатор string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Если значение не указывается, то оно равно 255 символов.

Var

St: string[20]; - максимальная длина 20 символов

s1:string – максимальная длина 255 символов

Во избежание ошибок ввода рекомендуется задавать строковые константы отдельным оператором Readln('...') в отдельнойстроке.

 

К отдельным символам строки можно обращаться как к элементам массива следующим образом:

<переменная>[<№символа>]

Kis:=’Мурка’;

writeln(Kis[3],); {На экране будет напечатана третья буква «p»}

Действия со строковыми переменными

Над строковыми переменными можно выполнить следующие операции:

· Присваивание

· Сравнение

· Сложение

· Преобразование в число и обратно

· Обработка

 

Присваивание

Kot:=’Барсик’;

st:=’Иванов Константин Петрович’;

Stroka:=’Информатика наука современная’;

Readln(st);строка будет введена с клавиатуры


Сравнение

Обычно сравниваются строки одинаковой длины. В противном случае большей считается строка большей длины

 

If kisa=kot... If kisa>kot2.. If kisa<kot1.. Например, если Kisa:=’Мурка’; Kot1:=’Тузик’; Kot2:=’Барсик’; тоKot2 > Kisa(по количеству символов) и Kot1 < Kisa(по коду 1-го символа) Примечание. При совпадении первых символов рассматриваются вторые, третьи и.т.д

 

 

Сложение

Для обозначения действия сложения используются знаки+, &или функция Concat

Kisa:=’Мурка’;

Kot1:=’Тузик’;

Kot2:=’Барсик’;

Gruppa:= Kisa +Kot1 +Kot2;

или Gruppa:= Kisa &Kot1 &Kot2;

или Gruppa:= Concat(Kisa,Kot1,Kot2);

 

В результате

переменная Gruppaбудет иметь значение «МуркаТузикБарсик». При необходимости между словами вставляют дополнительные символы Пробел, «подчерк», «плюс», «запятая» что делает восприятие более удобным.

Gruppa:= Kisa +', '+Kot1 +', '+ Kot2;

Результат: «Мурка, Тузик, Барсик»

 

8.2.4 Преобразование строка ↔число

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

Пример:

Число ‑2,75 Строка '12924' '‑2,75'

 

Str(X,Str) – преобразует число в его строковое представление;

Val(Str,X,Code) – преобразует строковое выражение в число, если это невозможно, то в Code выдается номер символа с которого преобразование невозможно


 

Обработка строк

Стандартные процедуры и функции обработки строк приведены в табл.3. Они позволяют выполнить:

· поиск, вставку, удаление заданных номерами символов или группу последовательно расположенных символов - подстроку,

· удаление начальных и конечных пробелов

 

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

Пример:

Insert(gruppa,'Васька',17); это процедура.
Нет оператора Присваивания.
Результат «МуркаТузикБарсикВаська»

 

 

St:=Copy(gruppa,10,4) это функция.
Есть опрератор Присваивания. Результат «Барс»


 

Рекомендации

1. Пишите программы так, чтобы их можно было понять не только Вам, а и иным людям. Для этого:

· Предоставляйте переменным такие имена, которые отвечают названию именованной величины.

· Каждый оператор старайтесь писать с новой строки.

· Делайте отступы перед вложенными операторами.

· Не ленитесь вставлять комментарии

 

2. Не забывайте сохранять программу после корректировки кода.

 

3. При модификации программы сохраните старую версию с прежнем именем, а новую – с другим, новым логическим именем файла.

 

4. При анализе входных данных постарайтесь выделить особые случай и аномалии.

Например, при решении простой задачи «Найти периметр треугольника по трем сторонам» необходимо учесть не только неотрицательность вводимых значений длин сторон, но и варианты

· «Наибольшая сторона равна сумме двух других» – особый случай

· «Наибольшая сторона меньше суммы двух других» – аномалия.

 

5. Помните, что для того, чтобы научиться решать задачи по программированию, нужно их решать!!!, т.е. программировать и отлаживать!

Удачи и терпения!


Список используемой литературы

1. Язык программирования ТурбоПаскаль (под ред.Павленка И.А.), СПЛ, 2005г.

2. Шаньгин В.Ф., Поддубная Л.М. Программирование на языке ПАСКАЛЬ. – М.: Высш.шк., 1991 – 143с.

3. Гусева А.И. Учимся программировать: Pascal70. – М.: «Диалог-МИФИ», 1998. – 272с.

4. Зубов В.С. Программирование на языке ТURBO PASCAL. – М.: «Филинъ», 1997. – 320с.

5. Вирт Н., Йенсен К.. PASCAL. Руководство для пользователя и описание языка /Пер. с англ. – М.: Финансы и статистика,1992, ‑ 152с.

6. Пильщиков В.Н. Сборник упражнений по языку Паскаль: Учеб. Пособие для вузов. – М.: Наука, 1989. ‑160с.

7. http://sunschool.math.rsu.ru, http://it.mmcs.rsu.ru Ресурсы разработчиков среды PascalABC

 

 
 


PascalABC. Часть I.Основные конструкции. СПЛ, 2007г

Составитель: Кашеварова В.А.

Апробация: Иванова Н.Ю., Ермоловский С.А.

Издание 2. Исправленное.

Тираж – по требованию.

 
 

 





Читайте также:
Своеобразие романтизма К. Н. Батюшкова: Его творчество очень противоречиво и сложно. До сих пор...
Методы цитологических исследований: Одним из первых создателей микроскопа был...
Функции, которые должен выполнять администратор стоматологической клиники: На администратора стоматологического учреждения возлагается серьезная ...

Рекомендуемые страницы:



Вам нужно быстро и легко написать вашу работу? Тогда вам сюда...

Поиск по сайту

©2015-2021 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту:

Мы поможем в написании ваших работ! Мы поможем в написании ваших работ! Мы поможем в написании ваших работ!
Обратная связь
0.027 с.