Вивід значень елементів двомірного масиву a[m,n]
Задача. У пам’яті комп’ютера записано значення елементів двомірного масиву a[m,n], що складається із m стрічок та n стовпчиків. Вивести на друк (на екран дисплея) цей двомірний масив у вигляді матриці відповідних розмірів.
Алгоритм виводу значень двомірного масиву подібний до попереднього і відрізняється від нього лише тим, що тілом циклу є не блок вводу, а блок виводу.
Програма виводу значень елементів двомірного масиву у вигляді таблиці.
program VuDvMas;
uses
Crt;
Type mas=array[1..10,1..20] of real;
Var a:mas;
m,n,i,j:integer;
begin
ClrScr;
Writeln('Ввести кiлькiсть стрiчок m<=10');
Writeln(' та кiлькiсть стовпчикiв n<=20');
Readln(m,n);
{. . .}
{Вивiд на екран дисплея двомiрного масиву}
{у виглядi матрицi}
Writeln('Двомiрний масив a:');
For i:=1 to m do
Begin
For j:= 1 to n do Write(a[i,j]:9:3,' ');
Writeln;
End;
{. . .}
Readln;
end.
Задачі обчислювального характеру з використанням двомірних масивів
Знаходження найменшого (найбільшого) значення
серед елементів двомірного масиву
Задача. У заданому масиві a[m,n] знайти найменше значення, а також номери стрічки та стовпчика, у яких стоїть найменший елемент.
Алгоритм розв’язку задачі полягає в наступному.
Спочатку вводять розмірність масиву і значень самих елементів. Найменший серед елементів масиву позначають ідентифікатором amin, а його індекси – imin та jmin.
На початку змінній amin присвоюється значення елемента a[1,1], відповідно змінним imin та jmin присвоюються значення 1. Інакше кажучи, на початку вважаємо, що елемент a[1,1] є найменшим.
Далі, змінюючи номер стрічки від 1 до m, а номер стовпчика від 1 до n, порівнюють всі елементи масиву зі значенням amin. Якщо серед них знайдеться такий, що його значення менше від amin: a[i,j]<amin, то це значення a[i,j] запам’ятається як нове значення змінної amin, а його індекси i та j запам’ятаються як нові значення змінних imin та jmin.
Вийшовши зі складеного циклу, виводимо на друк знайдені значення шуканих змінних.
Зауваження.
У випадку знаходження найбільшого елемента двомірного масиву діємо аналогічно. Найбільшому серед елементів amax на початку присвоюємо значення елемента a[1,1], а його індексам imax та jmax надаємо значення 1. Далі, в процесі перегляду всіх елементів масиву перевіряємо умову a[i,j]>amax і у випадку її істинності виконуємо такі операції присвоєння: amax:=a[i,j], imax:=i, jmax:=j.
Програма знаходження найменшого елемента двомірного масиву та його індексів.
program MinElDvMas;
uses
Crt;
Var a:array[1..10,1..20] of real;
m,n,i,j,imin,jmin:integer;
amin:real;
Begin
ClrScr;
{Ввiд двомiрного масиву}
Writeln('Ввести кiлькiсть стрiчок m<=10');
Writeln(' та кiлькiсть стовпчикiв n<=20');
Readln(m,n);
Writeln('Ввести по стрiчках даний ',
'двомiрний масив');
For i:=1 to m do
Begin
For j:= 1 to n do Read(a[i,j]);
Readln;
End;
{Пошук найменшого елемента та його iндексiв}
amin:=a[1,1]; imin:=1; jmin:=1;
For i:=1 to m do
For j:=1 to n do
If a[i,j]<amin then
Begin
amin:=a[i,j];
imin:=i;
jmin:=j;
End;
{Друк результатiв}
Writeln('Найменший елемент двомiрного масиву ',
'amin=',amin:9:3);
Writeln('Номер стрiчки найменшого елемента ',
'imin=',imin:3);
Writeln('Номер стовпчика найменшого елемента ',
'jmin=',jmin:3);
Readln;
End.
Обчислення суми (добутку) елементів двомірного масиву a[m,n]
Задача. Дано одномірний масив a[m,n]. Обчислити суму від’ємних елементів цього масиву.
Алгоритм знаходження найменшого елемента масиву та його індексів такий.
Спочатку забезпечують введення розмірності двомірного масиву: m – кількість стрічок, n – кількість стовпчиків і значень всіх його елементів: a[i,j] (i=1, 2,…, m; j=1, 2,…, n).
Змінній S, якою позначається сума від’ємних елементів, на початку присвоюємо значення 0. Далі, змінюючи номер стрічки і від 1 до m та номер стовпчика j від 1 до n, перевіряємо умову, чи є поточний елемент a[i,j] від’ємним: a[i,j]<0. Якщо це так, то його значення додається до суми, і перегляд елементів продовжуємо. Якщо ж умова не є істинною, то на елемент a[i,j] уваги не звертаємо, і просто продовжуємо перегляд.
По завершенню перегляду всіх елементів можуть трапитися два випадки:
, тоді серед усіх елементів не знайшлося жодного від’ємного;
, тоді на друк виводиться значення S.
Зауваження.
Обчислення добутку елементів здійснюється аналогічно. Позначається добуток символом наприклад, означає добуток всіх елементів з першого по n-ий. У випадку обчислення добутку початкове його значення приймається рівним одиниці: d=1. Кожне наступне (нове) значення добутку обчислюється як добуток його попереднього значення на значення поточного елемента: .
Програма обчислення суми від’ємних елементів двомірного массиву.
program SumVidElDvMas;
uses
Crt;
Type mas=array[1..10,1..20] of real;
Var a:mas;
m,n,i,j:integer;
s:real;
Begin
ClrScr;
{Ввiд двомiрного масиву}
Writeln('Ввести кiлькiсть стрiчок m<=10');
Writeln(' та кiлькiсть стовпчикiв n<=20');
Readln(m,n);
Writeln('Ввести по стрiчках даний ',
'двомiрний масив');
For i:=1 to m do
Begin
For j:= 1 to n do Read(a[i,j]);
Readln;
End;
{Обчислення суми вiд''ємних елементiв}
For i:=1 to m do
For j:=1 to n do
If a[i,j]<0 then s:=s+a[i,j];
{Друк результатiв обчислень}
If s=0
then Writeln('Вiд"ємних елементiв немає')
else Writeln('Сума вiд"ємних елементiв ',
's=',s:9:3);
Readln;
End.
Обчислення суми елементів кожної стрічки та кожного стовпчика
двомірного масиву
Задача. Дано двомірний масив a[m,n]. Обчислити суму b[j], (j=1, 2,…, n) елементів кожного стовпчика та суму c[i], (i=1, 2,…, m) кожної стрічки даного масиву. Перевірити рівність .
Алгоритму обчислення сум елементів кожної стрічки та кожного стовпчика двомірного масиву наступний.
Вводять розмірність двомірного масиву: m – кількість стрічок, n – кількість стовпчиків і значення всіх його елементів: a[i,j] (i=1, 2,…, m; j=1, 2,…, n).
Здійснюють обчислення сум c[i], (i=1, 2,…, m) елементів кожної стрічки та вивід їх на друк.
Обчислюють суми b[j], (j=1, 2,…, n) ) елементів кожного стовпчика та вивід їх на друк.
Забезпечують знаходження суми і суми та перевірку того, чи вони рівні.
Програма обчислення сум елементів кожної стрічки та кожного стовпчика двомірного масиву.
program SumElStRdDvMas;
uses
Crt;
Var a:array[1..10,1..20] of real;
b:array[1..20] of real;
c:array[1..10] of real;
s1,s2:real;
m,n,i,j:integer;
Begin
ClrScr;
{Ввiд заданого двомiрного масиву}
Writeln('Ввести кiлькiсть стрiчок m<=10');
Writeln('та стовпчикiв n<=20');
Readln(m,n);
Writeln('Ввести масив а по стрiчках');
For i:=1 to m do
Begin
For j:= 1 to n do Read(a[i,j]);
Readln;
End;
{Обчислення та друк суми елементiв}
{кожної стрiчки}
Writeln('Суми елементiв кожної стрiчки:');
For i:=1 to m do
Begin
c[i]:=0;
For j:=1 to n do c[i]:=c[i]+a[i,j];
Write(c[i]:9:2,' ');
end;
Writeln;
{Обчислення та друк суми елементiв}
{кожного стовпчика}
Writeln('Суми елементiв кожного стовпчика:');
For j:=1 to n do
Begin
b[j]:=0;
For i:=1 to m do b[j]:=b[j]+a[i,j];
Write(b[j]:9:2,' ');
End;
Writeln;
{Перевiрка правильностi обчислень}
s1:=0;
For i:=1 to m do s1:=s1+c[i];
s2:=0;
For j:=1 to n do s2:=s2+b[j];
If s1=s2
then
Writeln('s1=',s1:9:2,'s2=',s2:9:2,
' рiвнiсть правильна')
else
Write('s1=',s1:9:2,'s2=',s2:9:2,
' рiвнiсть не правильна');
Readln;
End.
- Інформація та інформаційні процеси Поняття інформації.
- Одиниці вимірювання інформації.
- Подання інформації та типи комп'ютерів.
- Способи пересилання інформації.
- Будова комп'ютера
- Пристрої введення-виведення інформації.
- Процесор
- Принципи функціонування комп'ютера Фізичні принципи
- Програмний принцип
- Поняття про середовища програмування
- Загальна характеристика мови паскаль
- Поняття інтегрованого середовища
- Команда New
- Команда Open
- Основи алгоритмізації Алгоритми та їх властивості
- Блок-схеми
- Загальна характеристика Паскаль-програми
- Структура Паскаль-програми
- Елементи мови Паскаль
- Прості типи даних
- Стандартні типи даних
- Дійсний тип
- Логічний тип
- Символьний тип
- Конструйовані типи
- Перелічуваний тип
- Оператори надання значень змінним Оператор присвоєння
- Уведення-виведення
- Порядок виконання операцій
- Складений оператор
- Стиль запису програми
- Структури керування
- Структура послідовного виконання
- Структура розгалуження
- Умовний оператор
- Оператор варіанта
- Оператор безумовного переходу
- Структура повторення
- Цикл з параметром
- Цикл з передумовою
- Цикл з післяумовою
- Ітераційні цикли
- Обчислення суми знакозмінного ряду із заданою точністю
- Процедури і функції
- Процедури з параметрами. Параметри-значення
- Одномірні масиви
- Поняття масиву. Одномірний масив та його опис в програмі
- Обчислення скалярного добутку двох векторів
- Знаходження найбільшого (найменшого) значень серед елементів масиву
- Обчислення суми та добутку елементів масиву
- Перетворення масиву по заданому закону
- Впорядкування одномірних масивів
- Впорядкування шляхом вибору
- Впорядкування обмінами
- Впорядкування вставками
- Зливання впорядкованих масивів
- Двомірні масиви Поняття двомірного масиву та його опис у програмі
- Ввід та вивід значень елементів двомірного масиву Ввід значень елементів двомірного масиву
- Вивід значень елементів двомірного масиву a[m,n]
- Рядковий тип (string)
- Комбіновані типи Організація комбінованих типів у Паскалі
- Оператор приєднання
- Множинні типи Організація множин
- Файлові типи Організація файлів
- Підготовчі та завершальні операції
- Операції уведення-виведення
- Стандартні файли input і output
- Модулі Модуль і його структура
- Стандартні модулі
- Наближене знаходження коренів рівнянь Дослідження рівняння. Відокремлення коренів
- Метод поділу проміжку пополам
- Метод хорд
- Метод дотичних
- Чисельне інтегрування
- Квадратурні формули прямокутників
- Загальні формули прямокутників
- Квадратурна формула трапецій
- Практичні оцінки точності квадратурних формул. Вибір кроку інтегрування
- Список літератури