Лекции по "Языкам и методам программирования" (PascalABC)

Автор: Пользователь скрыл имя, 07 Марта 2013 в 02:12, курс лекций

Описание работы

Лекция 1. Представление алгоритмов на языке Программирования ПаскальАВС.
Лекция 2. Построение линейных алгоритмов
Лекция 3. Алгоритмы, содержащие структуру ветвления.
Лекция 4. Алгоритмы, содержащие структурные операторы циклов.
...
Лекция 9. Файловый тип данных

Работа содержит 10 файлов

Лекция 1.Представление алгоритмов на языке программирования Паскаль..doc

— 120.50 Кб (Открыть, Скачать)

Лекция 10. Интуитивное понятие алгоритма.doc

— 366.50 Кб (Открыть, Скачать)

Лекция 2. Построение линейных алгоритмов.doc

— 209.50 Кб (Открыть, Скачать)

Лекция 3. Алгоритмы, содержащие структуру ветвления..doc

— 68.00 Кб (Открыть, Скачать)

Лекция 4. Алгоритмы, содержание циклы.doc

— 343.50 Кб (Открыть, Скачать)

Лекция 5.Процедуры и функции пользователя..doc

— 95.50 Кб (Открыть, Скачать)

Лекция 6. Символьные и строковые переменные.doc

— 69.00 Кб (Открыть, Скачать)

Лекция 7.Структурный тип данных (массивы).doc

— 128.50 Кб (Скачать)

Var i:Integer;

Begin

  For i:=1 to k do Write(y[i]:5);

Writeln;

End;

{Нахождение минимальной  суммы}

Procedure Naim(k:Integer; x:mas);

Var I, min, nom:Integer;

Begin

min:=x[1];

nom:=1;

For i:=1 to k do If x[i]<min  Then begin min:=x[i]; nom:=i; end;

Writeln(‘Наименьшая сумма=’,min,’ и расположена в строке-’,nom);

End; 

{Основная программа}

Var n,m:Integer; a:tabl; b:mas;

Begin

  Writeln('Ввести количество  строк и столбцов');

  Readln(n,m);

  Wwod2(n,m,a);

  Writeln(‘Исходный массив’);

  Vivod2(n,m,a);

  Sosd(n,m,a,b);

  Writeln(‘Массив сумм’);

   Vivod1(n,b);

   Naim(n,b);

End.

Задача. Дан двумерный  массив целых чисел, который содержит не более 10 строк и не более 10 столбцов. Массив вывести на экран в виде матрицы. Поменять k-ую и p-ую строки, если w и р вводятся с клавиатуры.

Program a3;

Type tabl=Array[1..10,1..10] of Integer;

{Процедура ввода элементов  двумерного массива}

Procedure Wwod2(k,l:Integer; Var x:tabl);

Var I,j : Integer;

Begin

For I := 1 to k do

  For j := 1 to l do

     X[I,j]:=Random(100);

End;

{Процедура вывода  элементов двумерного массива  на экран в виде матрицы}

Procedure Vivod2(k,l:Integer; x:tabl);

Var I,j:Integer;

Begin

For I := 1 to k do

  Begin

  For j:=1 to l do Write(x[I,j]:5};

  Writeln;

  End;

End;

{Процедура обмена строк}

Procedure obmen(k,l,w,p:Integer; Var c:tabl);

Var I,j,x:Integer;

Begin

For j:=1 to l do

     Begin x:=a[w,j]; a[w,j]:=a[p,j]; a[p,j]:=x; End;

End;

{Основная программа}

Var a:tabl; n,m,w,p:Integer;

Begin

  Writeln('Ввести количество  строк и столбцов');

  Readln(n,m); 

  Wwod2(n,m,a);

  Writeln(‘Исходный массив’);

  Vivod2(n,m,a);

  Writeln('Ввести номера строк для обмена');

  Readln(w,p);

  Obmen(n,m,w,p,a);

  Writeln(‘Массив сумм’);

  Vivod2(n,m,a);

  End.

Задача. Дан двумерный массив целых чисел, который содержит не более 10 строк и не более 10 столбцов. Найти и вывести номера тех столбцов, все элементы которых четные.

Program a4;

Uses Crt;

Type tabl=Array[1..10,1..10] of Integer;

{Процедура ввода элементов двумерного массива}

Procedure Wwod2(k,l:Integer; Var x:tabl);

Var I,j : Integer;

Begin

For I := 1 to k do

  For j := 1 to l do

     X[I,j]:=Random(100);

End;

{Процедура вывода  элементов двумерного массива  на экран в виде матрицы}

Procedure Vivod2(k,l:Integer; x:tabl);

Var I,j:Integer;

Begin

For I := 1 to k do

  Begin

  For j:=1 to l do Write(x[I,j]:5};

  Writeln;

  End;

End;

{Нахождение тех столбцов, все элементы которых четные}

Procedure Chet(k,l:Integer; c:tabl);

Var I,j,p:Integer;

Begin

  For j:=1 to l do

     Begin

     p:=0;

     For i:=1 to k do If c[i,j] mod 2<>0 Then p:=1;

     If p=0 Then Writeln('В ',j:3,' столбце все элементы четные');

     End;

End;

{Основная программа}

Var n,m:Integer; a:tabl;

Begin

   Writeln('Ввести количество строк и столбцов');

   Readln(n,m);

   Randomize;

   Wwod2(n,m,a);

   Writeln(‘Исходный массив’);

   Vivod2(n,m,a);

   Chet(n,m,a); 

End.

12.Свойства  элементов, лежащих на диагоналях.

Двумерный массив, у которого одинаковое количество строк и столбцов, называется квадратным. У квадратного массива есть главная и побочная диагональ. Элементы, лежащие на диагоналях имеют некоторые свойства:

1.Элементы, лежащие на  главной диагонали, имеют одинаковые  индексы. Поэтому, элемент главной диагонали можно обозначить A[I, I].

2.У элементов, лежащих  на побочной диагонали сумма  индексов i+j=n+1.  Поэтому,  элемент побочной  диагонали можно записать так:    A[i, n+1-i].

Этими свойствами часто  пользуются при решении задач.

Задача. Дан квадратный двумерный массив целых чисел размерностью N<=10. Найти сумму элементов, которые находятся под побочной диагональю.

Program a5;

Uses Crt;

Type tabl=Array[1..10,1..10] of Integer;

{Процедура ввода элементов  двумерного массива}

Procedure Wwod2(k,l:Integer; Var x:tabl);

Var I,j : Integer;

Begin

For I := 1 to k do

  For j := 1 to l do

     X[I,j]:=Random(100);

End;

{Процедура вывода  элементов двумерного массива  на экран в виде матрицы}

Procedure Vivod2(k,l:Integer; x:tabl);

Var I,j:Integer;

Begin

For I := 1 to k do

  Begin

  For j:=1 to l do Write(x[I,j]:5};

  Writeln;

  End;

End;

{Нахождение суммы  элементов, которые расположены  под побочной диагональю}

Procedure Sum(k:Integer; c:tabl);

Var I,j:Integer;

Begin

s:=0;

For i:=2 to k do

    For j:=k+2-i to k do s:=s+a[i,j];

Writeln('Сумма элементов под побочной диагональю=',s:6);

End;

{Основная программа}

Var n,m:Integer; a:tabl;

Begin

   Writeln('Ввести количество  строк и столбцов');

   Readln(n,m);

   Randomize;

   Wwod2(n,m,a);

   Writeln(‘Исходный массив’);

   Vivod2(n,m,a);

  Sum(n,m,a); 

End.

 

 

 

 

 




Лекция 8.Комбинированный тип данных.doc

— 62.00 Кб (Открыть, Скачать)

Лекция 9.Файловый тип данных.doc

— 114.50 Кб (Открыть, Скачать)

Информация о работе Лекции по "Языкам и методам программирования" (PascalABC)