69757

Особливості використання динамічних змінних

Домашняя работа

Информатика, кибернетика и программирование

3 доступ до динамічних змінних відбувається за допомогою змінних з вказівником. Множина операцій над змінними з вказівником визначена типом цих динамічних змінних. Зрозуміло що для реалізації цього алгоритму можна було б не використовувати вказівних змінних і динамічних структур...

Украинкский

2014-10-09

26.5 KB

0 чел.

Самостійне вивчення

Тема 13: Особливості використання динамічних змінних

Особливості використання динамічних змінних порівняно зі статичними такі:

1) замість опису динамічних змінних описують вказівки -статичні змінні вказівного типу, які ставлять у відповідність динамічним змінним;

2)  для створення динамічних змінних, що відповідають уведеним вказівним, використовують процедуру new, фактичним параметром якої задають відповідну вказівну змінну.

3) доступ до динамічних змінних відбувається за допомогою змінних з вказівником.

Множина операцій над змінними з вказівником визначена типом цих динамічних змінних.

Розглянемо приклад про застосування динамічних структур даних для підвищення швидкодії програми. Нехай задано деякий текст, розділений на слова завдовжки до 100 символів, комами. В кінці тексту є крапка. Визначити, скільки разів трапляється деяка буква в першому за порядком слові максимальної довжини.

Програмна реалізація алгоритму матиме вигляд

program chyslovhodz(input,output); type

mas=array [1..100] of char;

s=^mas;

var

r,rez,biz: s;

max,i,k: integer; c: char;

begin

max:=-1; i:=0;

new(biz); new(rez);

{читання тексту}

repeat

read(c);

if (c<>',') and (c<>.) then

begin

i:=i+1;

biz^[i]:=c

 end

else {порівняння слів} if i>max then

begin {поточне слово —> місце результату}

max:=i; r:=rez; rez:=biz; biz:=r; i:=0;

end

until c='.';

{читання заданої букви}

read(c);

{обчислення кількості заданої літери у слові}

k:=0; for i:=1 to max do

if c=rez^[i]then k:=k+1; writeln('cлово');

for i:=1 to max do

write(rez^[i]);

writeln;

writeln('містить букву',c,k:1,' разів')

end.

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


 

А также другие работы, которые могут Вас заинтересовать

455. Реализовать вычитание двух 64-разрядных чисел, не используя команду SUB 142.5 KB
  Вычитание двух 64-разрядных чисел, не используя команду SUB. Исходный код реализации поставленной задачи. Пример работы программы по вычитанию двух 64-разрядных чисел.
456. Умножение на 7(или 15, или 17, или 33), используя команды сдвигов и сложение или вычитание 143.5 KB
  Реализовать умножение на 7(или 15, или 17, или 33), используя команды сдвигов и (только один раз) сложение или вычитание. Способ реализации данной задачи в виде исходного кода и примера роботы программы.
457. Расчет производственной программы по эксплуатации подвижного состава. 394.5 KB
  Расчет производственной программы по грузовым перевозкам на год. Среднесписочное количество автомобилей. Технико-эксплуатационные и суточные показатели работы 1 автомобиля. Расчет производственной программы по пассажирским перевозкам на год.
458. Основы политологии 551 KB
  История развития политологии. Проблемы межнациональных отношений современного общества. Политика как общественное явление. Проблемы внутренней политики России на современном этапе.
459. Системы оплаты труда в рыночной конкурентной экономике 488.5 KB
  Системы оплаты труда в рыночных условиях. Государственное и договорное регулирование оплаты труда. Выбор продукции и анализ ее конкурентоспособности. Формирование методов направленных на повышение эффективности деятельности предприятия и оценка предложенных хозяйственных решений. Оценка эффективности и отбор для реализации вариантов хозяйственной деятельности.
460. Мастерская по ремонту тракторов города Тюмень 668 KB
  Потребность в механизмах, инвентаре, материалах, рабочих по профессиям и квалификации. Выбор методов и способов производства работ с их обоснованием. Расчет численности работающих и определение площадей административно-бытовых помещений. Обеспечение качества СМР, техники безопасности.
461. Теорія грошей, грошові та кредитні системи 615 KB
  Сутність та економічна основа грошового обороту. Методи державного регулювання грошового обороту. Сутність і закономірності розвитку інфляції. Грошові потоки та їх балансування. Кон'юнктурна теорія цінності грошей. Внесок Дж.Кейнса і М.Фрідмана у розвиток теорії грошей.
462. Небесные тела в астрофизике 636 KB
  Электромагнитное излучение, исследуемое в астрофизике. Фотоэлектрические приемники излучения. Физические свойства Планет земной группы и планет гигантов. Распределение звезд в Галактике. История развития космонавтики.
463. Інформаційні системи і технології 570 KB
  Визначення інформаційної системи, структура, принципи створення. Класифікація інформаційних систем за ступенем структурованості. Економічна інформація як об'єкт обробки в інформаційних системах. Форми представлення економічної інформації, носії і засоби її передачі. Ієрархічний та фасетний метод класифікації.