Введение в программирование. Сортировка массива. Средства создания программ. Стандартные модули. Структурированные типы данных, страница 17

                   begin

              delete (st, 1, 1);

              i = i-1;                     end;   Writeln (st);    readln;     END

2) Строка символов содержит только цифры и представляет собой число в некоторой Р – той системе исчисления. Выполните перевод строки в десятичную систему исчисления.

Program D2;

Var a, s, c, i, p: integer;

          st: string;

Begin

          Write (‘введите строку’); readln (st);

           Write (‘введите основание с/с’); readln (C);

           s: = 0;

           p: = 1;

for i: = length (s) down to 1 do begin

val (st [i], a, code);

       p: = p*c, end;         s= s+p*a, end;

       writeln (s);

7.ТИП СТРУКТУИРОВАНИЯ. Массивы представляют собой упорядоченную последовательность переменных одного типа. Элементы массива называются  компонентами все  компоненты массива должны принадлежать одному типу, который называется типом компонента. В квадратных скобках  после имени массивы указывают значение его индексов. Индексы также должны принадлежать одному типу, который называется типом индексов. Описание массива в разделе как пользовательский тип: Tupe <или типа> = array [<список типов инд.>] Of  < then компон.>; В качестве типов индексов можно использовать  любой порядковый  тип кроме длинного  целого (longint). В качестве типа компонент может включать любой тип. Pascale включая  тип массив или любой другой структурированный тип. В этом случае предполагается вложенность типов. Степень вложенность не ограничена не суммарная длина внутреннего представления любого массового не может  быть больше чем 65520 байт. Для операции над элементами массива используются циклы, где в качестве параметров выступает индекс массива. Var A :array [1...3] of array [1...4]     Og integer;     B: array [1...3;1...4] of integer; Массивы  А и в однотипные и представляют собой  матрицу Лии таблицу, состоящую из 3 строк  и 4 столбцов. В программе для однотипных массивов правомерно следующие присваивание A:=B без использования  цикла  for i:=1 to 3 do     т.е.  равносильно  по A[i]:=B[i]; элементному присваиванию. Массив, имеющий один индекс является одномерным или его ещё называют вектором.

Пример: Vector = array [byte] of integer;

                Var c;array [1...10] of vector;

                Var S: array [1000...10000] of string [2];

Способы задания массива: (1)Задать начальные значения элементов массива можно с помощью типизированной константы. Пример: A: array  [1...5] of word=(5,7,6,1,0);                  A [1]:=5;    задание двумерного массива   A [2]:=7;                     B:array [1...3,1...2] of byte=((2,7),(4,1),(11,5)); (2 7 ).

A  [3]:=6;    4 1     A  [4]:=1;   11 5            A [5]:=0;

(2)Ввод с клавиатуры. Для ввода элементов массива  с клавиатуры используются процедура read.Для организации диалога или интерфейса дополнительно выводятся на экран  текстовую  информацию. For  i:1 to 10 do begin

Writeln (введите ‘,i,’ элемент массива A’);

Redln (A [i]);         End;

Введите 1 элемент массива А     7     введите 27.

(3)Задание элемента массива с датчиков случайных чисел. Функция  random  без аргумента генерирует  любые числа  действительное числа из интервала (0,10). Функция  random (a) генерирует целое число  из интервала (0,1)/При использовании функции random  в начале программы записать  randomine. Если х- целое число из интервала (a,b), то  x определяется след. обр. var x :integer;                                                                                                                        X:= random (b-a)+a; Для вещественного числа: Y:=(b-a) k random +a; Массив А от (1 до 10) задан случайным образом. Элемент его - целые числа положительные не превышающие 100. Var  A:array [1...10] of integer;       I: integer;   Begin randomize;   For i:=1 to 10 begin

A [i]:=random (100);   Write (A[i],’ ‘ );    End;

Алгоритмыобработкиодномерногомассива: (1)Сумма элемента массива: Var A :array [1..10] of integer;   s,i:integer;    Begin

S:=0;    For i:=1 to 10 do S: S+A[i];

(2)Для определения количества: var A:array [1...10] of integer;         k,i: integer;     Begin           K:=0;   For i:=1 to 10 do if A[i] mod 2=0

Then k:=k+1;  Это подсчет количества элементов, значение которых есть четные числа. (3) Определение экстремального  элемента. Var A: array [1...10] of integer;   N, max, i: integer;       Begin

Определить элемент  массива и его номер.  Max: =A[1];n:=1;   For i;=1 to 10 do if A [i]> max           Then  begin max:==A[i];    N:=i;        End;