Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РГР Сухих Р.О..docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
577 Кб
Скачать
☆

Задание 1.

Постановка задачи:

Описать процедуру Swap(X, Y), меняющую содержимое переменных X и Y (X и Y — вещественные параметры, являющиеся одновременно входными и выходными). С ее помощью для данных переменных A, B, C, D последовательно поменять содержимое следующих пар: A и B, C и D, B и C и вывести новые значения A, B, C, D.

Таблица 5 - Таблица внешних спецификаций

Имя переменной

Назначение переменной

Тип переменной

Входные данные

A

B

C

D

X

Y

E

Переменная

Переменная

Переменная

Переменная

Переменная процедуры

Переменная процедуры

Вспомогательная переменная

real

real

real

real

real

real

real

Выходные данные

A

B

C

D

Переменная

Переменная

Переменная

Переменная

real

real

real

real

Расчет контрольных примеров:

  1. При a=’4’, b='5', c='6', d='7'. Результат после смены пар: ’5746’;

  2. При a=’2.4’, b='4.3', c='5.7', d='1'. Результат после смены пар: ’4.312.45.7’.

Блок схема.

Рисунок 7 - Блок-схема к заданию №1. Процедура Swap.

Рисунок 8 - Блок-схема к заданию №1.Основная часть программы.

Программная реализация:

program laba10_1;

uses

crt;

procedure Swap(var x,y:real);

var

e: real;

begin

e:=X;

X:=Y;

Y:=e;

end;

var

A,B,C,D: real;

begin

clrscr;

write('Введите A: ');

readln(A);

write('Введите B: ');

readln(B);

write('Введите C: ');

readln(C);

write('Введите D: ');

readln(D);

Swap(A,B);

Swap(C,D);

Swap(B,C);

Write('После смены пар: ');

Writeln(A,B,C,D);

end.

Задание 2.

Постановка задачи:

Описать функцию IsPalindrome(K), возвращающую True, если целый параметр K (> 0) является палиндромом (т. е. его запись читается одинаково слева направо и справа налево), и False в противном случае. С ее помощью найти количество палиндромов в наборе из 10 целых положительных чисел.

Таблица 6 - Таблица внешних спецификаций

Имя переменной

Назначение переменной

Тип переменной

Входные данные

S

j

Вводимое число

Количество вводимых чисел

integer

integer

Выходные данные

e

Количество чисел, являющихся палиндромом

integer

Таблица 7 - Таблица внешних спецификаций функции IsPalindrome(K)

Имя переменной

Назначение переменной

Тип переменной

i

a

b

c

q

переменная цикла

сравнивает число в функции и введённое

определяет остаток числа

определяет частное числа

Определяет количество цифр в числе

integer

integer

integer

integer

integer

Расчет контрольных примеров:

Блок схема.

Рисунок 9 - Блок-схема к заданию №2. Процедура IsPalindrome(K).

Рисунок 10 - Блок-схема к заданию №2.Основная часть программы.

Программная реализация:

program laba10_4;

uses

crt;

function IsPalindrome(K: integer): boolean;

var

i,n,q,a,b,c: integer;

begin

q:=0;

a:=k;

c:=k;

while a <>0 do

begin

a:=a div 10;

inc(q);

end;

for i:=1 to q do

begin

b:=c mod 10;

a:=a*10+b;

c:=c div 10;

end;

if a=k then IsPalindrome:=True

else IsPalindrome:=False;

end;

var

s: integer;

j,e: integer;

begin

clrscr;

for j:=1 to 10 do

begin

write('Введите число: ');

readln(s);

writeln(IsPalindrome(s));

if Ispalindrome(s)=True then inc(e);

end;

write('Количество полиндромов= ',e);

end.

СОСТАВНЫЕ ТИПЫ ДАННЫХ В ПРОЦЕДУРАХ И ФУНКЦИЯХ

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