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.

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


 

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

42716. Электронные таблицы. Использование функции Если 101.5 KB
  Использование функции ЕСЛИ И В приведенном ниже списке задана информация о сдаче сессии студентами. Учтите что в этом случае условие будет сложным с использованием функции И.
42717. Электронные таблицы. Построение диаграмм 237 KB
  Горизонтальная ось X ось категорий вертикальная ось Y ось значений. Горизонтальная ось X ось значений вертикальная ось Y ось категорий. они отображают зависимость данных ось Y от величины которая меняется с постоянным шагом ось Х.
42718. ОЦЕНКА ХАРАКТЕРИСТИК ПРОГРАММ НА ОСНОВЕ ЛЕКСИЧЕСКОГО АНАЛИЗА 199.5 KB
  Определить значения метрик Холстеда на основе которых дать оценку качества разработанного исходного текста программы.1 Реализация программы Текст программы для реализации возможного решения поставленной задачи разработанной с использованием языка программирования С приведен в таблице 1: Таблица 1 Текст программы для вычисления значения функции F Номер строки Строки программы 1 using System; 2 nmespce holsted 3 { 4 clss Progrm 5 { 6 sttic void Minstring[] rgs 7 { 8 double x y F; 9 chr check; 10 do 11 { 12 Console.2 Словарь программы В...
42719. Оценка характеристик программ на основе лексического анализа. Метрики 262.5 KB
  Наиболее ценным для практики является то что такая оценка может быть получена вручную на основе зрительного анализа текста программы либо автоматически с помощью специально разработанных программных анализаторов причем относительно несложных. Джилб предположил что логическая сложность должна являться значимым если не определяющим фактором для оценки стоимости программы на начальных этапах ее проектирования. Логическая сложность программы Джилб определяет как насыщенность программы условными операторами типа IFTHENELSE и...
42720. Оценка надежности программных средств 227.5 KB
  Она основана на предположении об экспоненциальной зависимости плотности вероятности интервалов времени между проявлением ошибок от интенсивности ошибок. Кроме того в модели полагается что интенсивность ошибок на каждом случайном интервале времени линейно зависит от количества оставшихся в программе ошибок. Если допустить что ошибка после ее каждого проявления устраняется и при этом в программный модуль не вносятся новые то интенсивность ошибок ti на интервале ti определяется следующим соотношением: 1 где N количество ошибок...
42721. Интерфейсы, делегаты, события 277.5 KB
  Таблица 1 Список используемых элементов управления Элемент управления Класс Описание textBox1 TextBox Окно ввода имени продавца textBox2 TextBox Окно ввода фамилии продавца textBox3 TextBox Окно ввода стажа продавца textBox4 TextBox Окно вывода списка продавцов textBox5 TextBox Окно ввода оклада продавца textBox6 TextBox Окно ввода имени менеджера textBox7 TextBox Окно ввода фамилии менеджера textBox8 TextBox Окно ввода стажа менеджера textBox9 TextBox Окно ввода оклада менеджера textBox10 TextBox Окно вывода зарплаты менеджера button1 Button...
42722. Поняття алгоритму. Блок схема запису алгоритмів 24 KB
  Мета: ознайомитись з поняттям алгоритм розглянути властивості алгоритму способи запису алгоритмів ознайомитись з правилами креслення схем алгоритму. Скласти схему алгоритму для обчислення виразу: Алгоритм последовательность действий приводящая к конкретному результату.
42723. Основы языка С# и знакомство с основными элементами управления C# 430 KB
  В C как и в C C нумерация элементов массива идет с нуля. Естественно что в нашем примере у массива 6 =23 элементов k[00] первый k[12] последний.rry Элемент Вид Описание Length Свойство Количество элементов массива по всем размерностям Rnk Свойство Количество размерностей массива BinrySerch Статический метод Двоичный поиск в отсортированном массиве Cler Статический метод Присваивание элементам массива значений по умолчанию Copy Статический метод Копирование заданного диапазона элементов одного массива в другой массив CopyTo...
42724. Исследование электрических величин двухобмоточного однофазного трансформатора 119 KB
  Исследование электрических величин двухобмоточного однофазного трансформатора. Цель работы: изучить конструкцию однофазного трансформатора описать принцип его действия замерить величины в различных режимах работы в масштабе построить характеристики и векторные диаграммы. б Коэффициент трансформации трансформатора зависит . в В режиме холостого хода с увеличением напряжения коэффициент мощности трансформатора .