Читайте также: |
|
16. Алексеева М. М. Планирование деятельности фирмы. — М.: Финансы и статистика, 1997.
17. Голубков Е. П. Маркетинг: стратегия, планы, структура. — М.: Дело, 1995.
18. Деловое планирование. Методы. Организация. Современная практика / Под ред. В. М. Попова. — М.: Финансы и статистика, 1997.
19. Диксон П. Р. Управление маркетингом. — М.: БИНОМ, 1998.
20. Дихтль Е., Херштейн Х. Практический маркетинг. — М.: Инфра-М., 1996.
21. Дойах П. Менеджмент. Стратгия и практика. — СПб.: Питер, 1999.
22. Манн И. Маркетинг на 100 %. Как стать хорошим менеджером по маркетингу. — Спб.: Питер, 2003.
23. Минцберг Г., Альстренд Б., Лэммпел Д. Школы стратегий. Стратегическое сафари: экскурсия по дебрям стратегий менеджмента. — СПб.: Питер, 2000.
24. Попов В. М., Ляпунов С. И., Муртузалиева С. Ю. и др. Бизнес и планирование: Учебник. — М.: Финансы и статистика, 2000.
25. Траут Дж. Новое позиционирование. — СПб.: Питер, 2000.
Інформаційні ресурси
26. http://uam.iatp.org.ua - Всеукраїнська громадська організація "Українська Асоціація Маркетингу"
27. www.marketing-ua.сom - Міжнародна Маркетингова Група Україна
28. www.4р.com.ua
29. www.marketingmix.com.ua - Інтернет видання про маркетинг
30. www.4p.ru - Електронний журнал з маркетингу
31. www.management.com.ua
Массивы в языке программирования паскаль
Понятие массива
Массив представляет собой упорядоченное множество однотипных элементов. В Турбо Паскале массив описывается переменной сложной структуры. При описании необходимо указать:
- способ объединения элементов в структуру;
- число элементов;
- тип элементов.
Общий вид описания массива:
<имя массива>: ARRAY [тип–диапазон индексов] OF <тип элементов массива>;
Доступ к каждому элементу массива осуществляется с помощью индексов. Тип – диапазон каждого индекса задается левой и правой границами изменения индекса. Число индексов определяют структуру массива: если используется один индекс, то такой массив называется одномерным, если два индекса – двумерным. В общем случае размерность массива может быть произвольной.
Одномерные массивы
В математике одномерному массиву соответствует мерный вектор, например:
, где
компонента (координата) вектора;
номер компоненты;
число компонент.
Описание одномерного массива
В Турбо Паскале описание одномерного массива задается следующим образом:
<имя массива>: ARRAY [m1 ¼m2] OF < тип элементов>;
Индекс одномерного массива определяет порядковый номер элемента в массиве.
m1 ¼m2 – диапазон значений индекса.
Тип элементов в массиве может быть любым: простым (REAL, INTEGER, CHAR), структурным (ARRAY), строковым (STRING).
По описанию массива в памяти компьютера выделяется область последовательных ячеек, в которую при выполнении программы заносятся значения элементов массива. Например, по описанию
Var
X: array [1¼5] of real;
будет выделяться область из пяти последовательных ячеек для записи значений элементов вещественного типа.
Индексные переменные
Выбор отдельного элемента из массива осуществляется с помощью индексной переменной, которая задается следующим образом:
индексная переменная (элемент массива);
имя массива;
индекс (номер элемента массива).
В качестве индекса используются:
- целые константы, например, ;
- целые переменные, например, ;
- индексные выражения, например, .
Замечание. Индексными выражениями являются арифметические выражения целого типа.
Индексная переменная, как и простая, может стаять в левой части оператора присваивания, например:
;
Ввод-вывод одномерных массивов
Ввод-вывод массивов осуществляются поэлементно с помощью оператора цикла FOR, в котором в качестве параметра используется индекс.
Пример 1. Организовать ввод с клавиатуры массива:
.
В разделе описания переменных необходимо задать описание массива и индекса.
Var
A: array [1¼4] of real;
i: integer;
В операторной части программы рекомендуется ввод массива организовать в виде диалога, сопроводив ввод соответствующим сообщением на экране.
Begin {начало программы}
WRITELN (‘Введите массив А’);
for i:= 1 to 4 read(a[i]);
……………
На клавиатуре набирается:
1.2 5 6.8 14 < Enter >.
Пример 2. Организовать вывод массива А на экран таким образом, чтобы все элементы располагались на одной строке экрана.
В программе надо записать следующие операторы:
for i:= 1 to 4 do write(a[i]:5:1);
writeln;
Вид выводимого массива на экране:
1.2 5.0 -6.8 14.0
Оператор WRITELN без списка служит для перевода курсора к началу следующей строки.
Обработка одномерных массивов
При решении задач обработки массивов используют базовые алгоритмы реализации циклических вычислительных процессов: организация счетчика, накопление сумм и произведений, поиск минимального и максимального элементов массива.
Задача 1. Организация счетчика.
Определить количество элементов заданного целочисленного массива , которые делятся на 3 без остатка.
Program OM_1;
Var
B: array [1… 20] of integer;
i, L: integer;
Begin
writeln(‘Введите массив В’);
for i:=1 to 20 do read(b[i]);
L:= 0;
for i:=1 to 20 do
if (b[i] MOD 3) = 0 then L:= L+1;
writeln(‘L =’, L);
End.
Задача 2. Накопление суммы и произведения.
Дано целое число и массив вещественных чисел . Вычислить среднее арифметическое и среднее геометрическое чисел массива, используя формулы:
; .
Program ОМ_2;
Var
Х: array [1… 100] of real;
n, i: integer;
S, P: real;
Begin
writeln(‘Введите размер массива n’);
read(n);
writeln(‘Введите массив Х’);
for i:= 1 to n do read(x[i]);
S:= 0;
P:= 1;
for i:= 1 to n do
begin
S:= S + x[i];
P:= P * x[i];
end;
S:= S/n;
P:= exp(1/n * ln(P));
writeln(‘S =’, S:6:2);
writeln(‘P =’, P:10:2);
End.
Задача 3. Поиск минимального и максимального элементов массива.
Дан вещественный массив .
Поменять местами минимальный и максимальный элементы массива и вывести массив после обмена.
В этой задаче дополнительно надо знать местоположение минимального и максимального элементов, поэтому одновременно с поиском надо запоминать индексы.
Введем обозначения:
min – минимальный элемент;
imin – индекс минимального элемента;
max – максимальный элемент;
imax – индекс максимального элемента.
Program ОМ_3;
Var
T: array [1… 10] of real;
i, imin, imax: integer;
min, max: real;
Begin
writeln(‘Введите массив T’);
for i:= 1 to 10 do read(t[i]);
min:= +1E6;
max:= -1E6;
for i:= 1 to 10 do
begin
if t[i]<min then
begin
min:= t[i];
imin:= i;
end;
if t[i]>max then
begin
max:= t[i];
imax:= i;
end;
end;
t[imin]:= max;
t[imax]:= min;
for i:= 1 to 10 do write(t[i]:6:2);
writeln;
End.
Дата добавления: 2014-11-24; просмотров: 36 | Поможем написать вашу работу | Нарушение авторских прав |