понедельник, 27 февраля 2017 г.

Тексты программ с одномерными массивами

Разобрать алгоритмы решения задач, тексты программ. Переписать в тетрадь. Составить блок-схему для каждой задачи.

Ввод и вывод элементов массива
program Pr1;
const K = 100; // Размер массива
 var   A: Array [1..K] of integer;  I: integer;
         N: integer; // Количество элементов в массиве
 begin
  WriteLn('Введите количество элементов в массиве: ');
  ReadLn(N);
  WriteLn('Введите элементы массива: ');
  for i:=1 to N do Read(A[I]); // Заполнение массива с клавиатуры
  Write('Вывод элементов массива: '); 
  for I:=1 to N do  Write(A[I],' ');  //Вывод элементов массива в строчку через пробел
end.


Заполнение массива случайными числами
Program Pr2;
const К = 100; // Размер массива
 var   A: Array [1..К] of integer;  I: integer;
         N: integer; // Количество элементов в массиве
 begin
  N := 20; // Число элементов в массиве
  for I:=1 to N do
    A[I] := Random(100); // Заполнение массива целыми  случайными числами от 0 до 99.
  WriteLn('Элементы массива: ');
  for I:=1 to N do  Write(A[I],' ');
end.

Заполнение массива с помощью арифметической прогрессии
Program Pr3;
const  a0 = 6; // Первый элемент арифметической прогрессии
          d = 4;  // Разность арифметической прогрессии
 var   A: array [1..100] of integer; I: integer;
         N: integer; // Количество элементов в массиве
 begin
  N := 20;
  A[1] := a0;
  for I:=2 to N do A[I] := a[I-1] + d; //Заполнение массива с помощью оператора присваивания
  writeln('Арифметическая прогрессия: ');
  for I:=1 to N do Write(A[I],' ');
end.

    Результат выполнения программы
       Арифметическая прогрессия: 

       6 10 14 18 22 26 30 34 38 42 46 50 54 58 62 66 70 74 78 82 

Заполнение массива числами Фибоначчи
Program Pr4;
const  S = 100;
var  A: array [1..S] of integer; N, I: integer;   
begin
  N := 20;
  A[1] := 1; 
  A[2] := 1;
  for  I:=3 to N do A[I] := A[I-2] + a[I-1];
  WriteLn('Числа Фибоначчи: ');
  for  I:=1 to N do  Write(A[I],' ');

end.

Результат выполнения программы. Числа Фибоначчи: 
1  1  2  3  5  8  13  21  34  55  89  144  233  377  610  987  1597  2584  4181  6765  

Инвертирование массива
Program Pr5;
var  A: array [1..100] of integer; I,N: integer;   
begin
  WriteLn('Введите размерность массива N<=100');
  Readln(N);
  for  I:=1 to N do
    A[I] := Random(100); //Заполнение массива целыми случайными числами от 0 до 99
  WriteLn('Элементы исходного массива: ');
  for I:=1 to N do Write(A[I],' ');
  WriteLn;  //Переводит курсор на новую строку
 WriteLn('Массив после инвертирования: ');
   for I:=N downto 1 do write(A[I],' ');

end.

     Результат выполнения программы
        Введите размерность массива N<=100
        10
        Элементы исходного массива: 
        50 77 82 78 65 49 70 53 17 74 
        Массив после инвертирования: 

        74 17 53 70 49 65 78 82 77 50 

Нахождение минимального элемента массива и его индекса
Program Pr6;
var A: array [1..50] of integer; N,I: integer;   
      min: integer; minind: integer;
begin
 WriteLn('Введите размерность массива N<=50');
 ReadLn(N);
  for i:=1 to N do A[i] := Random(100);
  WriteLn('Элементы массива: ');
  for i:=1 to N do Write(A[i],' ');
  WriteLn;  
  min := 101;
  for i:=1 to N do
    if A[i]<min then 
    begin
      min := A[i];
      minind := i;
    end;
   WriteLn('Минимальный элемент: ',min);
   WriteLn('Индекс минимального элемента: ',minind);

end.

     Результат выполнения программы
         Введите размерность массива N<=50
         10
         Элементы массива: 
         23 8 39 98 91 51 9 11 91 0 
         Минимальный элемент: 0

         Индекс минимального элемента: 10