Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба 3.docx
Скачиваний:
3
Добавлен:
27.11.2019
Размер:
275.78 Кб
Скачать
  1. Лабораторная работа №3

  2. Процедуры и Функции. Обработка строк. Процедуры

Для использования подпрограммы-процедуры необходимо сначала описать процедуру, а затем обращаться к ней (обращение к процедуре – отдельный оператор). Описание процедуры включает заголовок (имя) и тело процедуры. Заголовок состоит из зарезервированного слова procedure, имени процедуры и, заключенного в скобки, списка формальных параметров с указанием типа. Название «формальные» эти параметры получили в связи с тем, что в этом списке заданы только имена для обозначения исходных данных и результатов работы процедуры, а при вызове подпрограммы на их место будут поставлены конкретные значения. Тело процедуры – блок, по структуре аналогичный программе.

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

Все объекты, описанные в вызывающей программе, называются глобальными и являются доступными внутри процедур, вызываемых этой программой.

Работа программы.

Вводится с клавиатуры числовое значение

Назначение переменных.

Переменная

Тип

Назначение

n

real

Переменная

s

real

Первая значимая

Текст программы.

var n: longint; s: string;

begin

readln(n);

str(n,s);

write(s[1]);

readln;

end.

Тестирование.

Вводим с клавиатуры начальное значение, конечное значение и шаг.

Running "c:\program files (x86)\free pascal\bin\i386-win32\амв.exe "

53256

Задание 2.

Текст программы

Написать функцию Dohod, которая вычисляет доход по вкладу. Исходными данными для функции являются: величина вклада, процентная ставка (годовых) и срок вклада (количество дней).

Var d,e,f:integer;

g,x:real;

function dohod(a,b,c:integer): real;

begin

X:=((a*(100+b)*c/365)/(100))-a;

dohod:=x;

end;

begin

writeln('ВВЕДИТЕ ВЕЛИЧИНУ ВКЛАДА');

READLN(D);

writeln('ВВЕДИТЕ величину %');

READLN(e);

writeln('ВВЕДИТЕ срок');

READLN(f);

g:=dohod(d,e,f);

writeln('dohod-> ',g);

readln;

end.

Работа программы.

Вводятся с клавиатуры числа от 1до10

Блок-схема алгоритма.

Тестирование.

Running "c:\program files (x86)\free pascal\bin\i386-win32\амв.exe "

ВВЕДИТЕ ВЕЛИЧИНУ ВКЛАДА

6000

ВВЕДИТЕ величину %

12

ВВЕДИТЕ срок

365

dohod-> 720

Задание 3

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

Работа программы.

Введите строку из слов, разделенных пробелами:

Текст программы.

var s:string;

i,ip:byte;

begin

writeln('Введите строку из слов, разделенных пробелами:');

read(s);

i:=1;

ip:=0;

while(i<=length(s))and(ip=0) do

if(s[i]<>' ')and((i=1)or(s[i-1]=' ')) then ip:=i

else i:=i+1;

if ip=0 then write('Строка состоит из одних пробелов')

else

begin

i:=ip;

while(i<=length(s))and(s[i]<>' ') do

delete(s,i,1);

i:=length(s);

ip:=0;

while(i>=1)and(ip=0) do

if(s[i]<>' ')and((i=1)or(s[i-1]=' ')) then ip:=i

else i:=i-1;

if ip=0 then write('В строке было только 1 слово')

else

begin

i:=ip;

while(i<=length(s))and(s[i]<>' ') do

delete(s,i,1);

ip:=0;

for i:=1 to length(s) do

if s[i]=' ' then ip:=ip+1;

if ip=length(s) then write('В строке остались только пробелы')

else write(s);

end;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]