Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Нетипізовані параметри-змінні





Var <ідентифікатор> - таке описування формального параметру дозволяє виконати посилання на змінну будьякого типу. При цьому тип змінної відсутній, тобто не співпадає ні з жодним із типів до операції приведення типів.

 

<тип>; - в заголовку безпосередньо може бути визначенийтільки простий тип. Будьякий стуктурований тип визначається тільки через ідентифікатор типу.

 

Приклад:

неприпустимо:function f(а,в:array[1..10] of real):integer;

 

повинно бути:type t=array[1..10] of real;

function f(а,в:t):integer;

 

але для окремого елементу:

function f1(а,в:real):boolean;

begin

if a>b then f1:=true

else f1:=false;

end;

{виклик для і-тих елементів масивів}

writeln(f1(a[i],b[i]));

 

 

Приклад: возведення у цілий степінь

 

var a:real;

function power(factor:real;expo:integer):real;

var count:integer;

rez:real;

begin

if expo=0 then power:=1

else begin

rez:=factor;

for count:=2 to abs(expo) do

rez:= rez*factor;

if expo<0 then power:=1/rez

else power:=rez

end

end;

{ головна програма }

begin

:

{обчислити x=2a**5+a**3+1}

x:=2*power(а,5)+power(a,3)+1;

:

end.

 

Приклад: функція повертає номер символа, з якого починається n-те входження підрядка subs у рядок s. Одночасово повертається загальне число входжень count. При невдалому пошуку повертається значення 0.

 

program example;

var c:byte; { загальне число входжень підрядка у рядок }

function posN(subs,s:string;n:byte;var count:byte):byte;

var p,pn:byte;

begin

count:=0;

pn:=0;

repeat

p:=pos(subs,s);

if count<n then inc(pn,p);

inc(count);

delete(s,1,p);

until p=0;

dec(count);

if N<=count then posN:=pn

else posN:=0;

end;

{ головна програма }

begin

writeln('3-я позиція noo у Boonoonoonoos починається з символа',

PosN('noo','Boonoonoonoos',3,С):3);

writeln(' Всього знайдено входжень:',С);

readln;

end.

 

Приклад: розробити функцію, що обчислює кількість елементів в одновимірному масиві, що перевищують надане Р, та змінює їх на 0.

 

Program help;

Type vec=array[1..50] of real;

Var v:vec;

I,n:byte;

P:real;

Function sump(n:byte;var a:vec):byte;

Var i,s:byte;

Begin

S:=0;

For i:=1 to n do

If a[i]>p then begin

S:=s+1;

A[i]:=0;

End;

Sump:=s;

End;

 

Begin

{введення елементів масиву}

REPEAT

WRITE('Введіть вимірність масиву <=100');

READLN(n);

UNTIL n<=100

WRITELN('Введіть ',n,'елементів масиву');

FOR i:=1 TO n DO READLN(v[i]);

{виведення кількості елементів, що перевищують надане значення}

writeln(‘кількість елементів = ’,sump(n,v));

{виведення нового вектору}

for i:=1 to n do

writeln(v[i]:5:1);

end.

 







Дата добавления: 2015-08-12; просмотров: 364. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

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

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

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

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Studopedia.info - Студопедия - 2014-2026 год . (0.01 сек.) русская версия | украинская версия