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.

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


 

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

77340. КОМПИЛЯТОР C89 ДЛЯ ПРОЦЕССОРА MCP 0411100101 26 KB
  Бахтерев ИММ УрО РАН Высокопроизводительные процессоры семейства MCp выпускаемые компанией Мультиклет основаны на оригинальной архитектуре с явным параллелизмом инструкций EPIC Explicitly Prllel Instruction Computing. Особенности кодирования параграфов позволяют выполнять их разным количеством связанных специальным коммутатором клеток функциональных устройств MCp; потенциально это количество может меняться во и время работы процессора. Ещё одной особенностью MCp является то что процессор вносит изменения в память системы как...
77341. Язык программирования 0xfb.L 65.5 KB
  Близится выход С0x новой расширенной версии С которая может стать тем самым инструментом но стандарт С сам по себе очень сложен синтаксис система типов виртуальные методы не все компиляторы поддерживают все возможности поэтому расширение кажется спорным решением. Концепция является результатом развития идей метапрограммирования Lisp Nemerle и сводится к динамическому выстраиванию окружения состоящего из типов переменных и операторов во время компиляции. В процессе компиляции каждое выражение синтаксическая конструкция...
77342. МАНИПУЛЯТОРЫ ДЛЯ СИСТЕМ НАУЧНОЙ ВИЗУАЛИЗАЦИИ 244.5 KB
  И если для средств вывода уже есть такие мощные средства как системы типа Cve стерео очки стерео мониторы и шлемы виртуальной и расширенной реальности то в области средств ввода или манипуляторов таких решений очень мало и не имеют большого распространения. Нами была поставлена задача разработать интерфейс для работы с виртуальными объектами в котором бы учитывались достоинства и недостатки уже существующих манипуляторов и который был бы максимально прост и естественен в использовании. Обзор существующих решений Был проведён критический...
77343. Манипуляция объектами в системах компьютерной визуализации 38.5 KB
  Серьезной задачей в системах визуализации является обеспечение различных действий с визуальными объектами при работе с трехмерной графикой. Как правило, при реализации методов непосредственного манипулирования с визуальными объектами все операции проводятся в основном окне вывода
77344. Математическая и компьютерная модель стимуляции и использования радиочастотной энергии в почечных артериях на симпатические ганглии и пути 198.5 KB
  Электрод для деструкции симпатических ганглиев и путей. Метод деструкции симпатических ганглиев и проводящих путей Цель. Создать модель воздействия стимуляции и радиочастотной энергии на симпатические ганглии и проводящие пути для прогнозирования результата воздействия и сопоставления с клиническими данными для выработки оптимальной процедуры воздействия и достижения максимального успеха вмешательства Задачи Создать модель почечных артерии и ганглиев и проводящих путей вокруг них Создать модель связи между различными режимами...
77345. Методы манипуляций объектами в трёхмерных визуальных средах 220.5 KB
  Использование средств трехмерной графики в том числе базирующихся на средах виртуальной реальности естественно влечёт поиск новых трехмерны средств ввода и построения на их базе новых систем человеко-компьютерного взаимодействия. Вместе с тем возникают проблемы с применением сложных систем ввода в средах визуализации. Причем сложности возникают как с эксплуатацией и непосредственным использованием техники так и с диалоговыми языками ввода и взаимодействия. Наша цель состоит в разработке простых средств ввода в системах...
77346. МЕТОДЫ РАСПРЕДЕЛЁННЫХ ВЫЧИСЛЕНИЙ НА ОСНОВЕ МОДЕЛИ ПОТОКА ДАННЫХ. ПРОТОТИП СИСТЕМЫ 21.5 KB
  Ему необходимо заботиться о распределении вычислительных задач синхронизации обмене данными и так далее. С другой стороны создаются среды для решения определённых классов задач в основном это касается задач для которых применим параллелизм по данным. Методика базируется на понятиях хранилища задач и правил. Задачей называется программа которая во время исполнения считывает данные с определёнными именами из хранилища и в результате своего исполнения формирует новые данные которые записываются в хранилище.