- Курс-практикум «Педагогический драйв: от выгорания к горению»
- «Оказание первой помощи в образовательных учреждениях»
- «Труд (технология): специфика предмета в условиях реализации ФГОС НОО»
- «ФАООП УО, ФАОП НОО и ФАОП ООО для обучающихся с ОВЗ: специфика организации образовательного процесса по ФГОС»
- «Специфика работы с детьми-мигрантами дошкольного возраста»
- «Учебный курс «Вероятность и статистика»: содержание и специфика преподавания в условиях реализации ФГОС ООО и ФГОС СОО»
Свидетельство о регистрации
СМИ: ЭЛ № ФС 77-58841
от 28.07.2014
- Бесплатное свидетельство – подтверждайте авторство без лишних затрат.
- Доверие профессионалов – нас выбирают тысячи педагогов и экспертов.
- Подходит для аттестации – дополнительные баллы и документальное подтверждение вашей работы.
в СМИ
профессиональную
деятельность
Процедура Swap в FreePascal
ФИО автора: Трофимов Виктор Геннадьевич
Место работы: ГКООУ санаторная школа-интернат №28 г. Ростова-на-Дону
Должность: учитель информатики и ИКТ
ПРОЦЕДУРА SWAP В FREE PASCAL
Часто в процессе выполнения программы требуется поменять значения переменных. Это случается не только при сортировке массивов, но и во множестве «бытовых» ситуаций, к примеру, замена длин массивов при длиноисчисленных вычислениях.
Классическая программа выглядит так:
tmp := a;
a := b;
b := tmp;
Здесь и сейчас не будет рассматриваться механизм обмена данных без применения третьей.
Попытаемся оптимизировать процесс. Это легко сделать с помощью процедуры, которая будет обменивать значения любых двух однотипных переменных с помощью передачи ссылок.
Ниже представлен текст процедуры для обмена переменных типа integer:
procedure swap(var x1, x2: integer);
var tmp: integer;
begin
tmp := x1;
x1 := x2;
x2 := tmp;
end;
Обратите внимание на использование словаvar в параметрах процедуры:
procedure swap(var x1, x2: integer);
Оно означает, что в процедуру будут переданы не значения переменных, ассылки на переменные. Все операции замены будут выполнены с ссылками. После выполнения любые две переменные типаinteger (или любой другой, но указанной в параметрах) обменяют свои значения.
Пример программы:
program swp;
uses crt;
var a, b, c, d: integer;
procedure swap(var x1, x2: integer);
var tmp: integer;
begin
tmp := x1;
x1 := x2;
x2 := tmp;
end;
begin
clrscr;
a := 1;
b := 2;
c := 5;
d := 6;
writeln(a, ' ', b, ' ', c, ' ', d);
swap(a, b);
swap(c, d);
writeln(a, ' ', b, ' ', c, ' ', d);
readkey;
end.
Результат работы программы:
1 2 5 6
2 1 6 5
Вывод осуществлялся в порядке a, b, c, d. То есть когда мы вызывали процедуру swap с именами переменных, менялись именно переменные. Дополнительные действия при таком подходе совершать не надо и одна процедура является универсальной для любого количества вызовов с любыми параметрами.
ПРИМЕЧАНИЕ: В языке PascalABC процедура swap является встроенной.
Спасибо за внимание!
Адрес публикации: https://www.prodlenka.org/metodicheskie-razrabotki/145648-procedura-swap-v-freepascal
БЕСПЛАТНО!
Для скачивания материалов с сайта необходимо авторизоваться на сайте (войти под своим логином и паролем)
Если Вы не регистрировались ранее, Вы можете зарегистрироваться.
После авторизации/регистрации на сайте Вы сможете скачивать необходимый в работе материал.
- «Направления и формы организации летнего отдыха и оздоровления детей»
- «Детское общественное объединение в воспитательной системе школы»
- «Организация работы с одаренными детьми»
- «Обеспечение информационной безопасности обучающихся в сети Интернет»
- «Особенности преподавания физической культуры по ФГОС в средней школе»
- «Технология ТРИЗ в работе с детьми дошкольного возраста»
- Содержание деятельности педагога-организатора в образовательной организации
- Педагогическое образование: теория и методика преподавания мировой художественной культуры
- Организационно-педагогическое обеспечение воспитательного процесса в образовательной организации
- Теория и методика преподавания русского языка и литературы в образовательных организациях
- Педагогика и методика преподавания астрономии
- Музыка: теория и методика преподавания в образовательных организациях

Чтобы оставлять комментарии, вам необходимо авторизоваться на сайте. Если у вас еще нет учетной записи на нашем сайте, предлагаем зарегистрироваться. Это займет не более 5 минут.