Читайте также:
|
|
Введемо розміри матриці з клавіатури. Спочатку зчитуємо елементи матриці. Потім перевіряємо чи скалярний добуток всіх стрічок є 0 за допомогою двох вкладених циклів, перший з яких проходить по стовпцях матриці, другий – по рядках. Якщо це не так, то видаємо результат, що матриця неортономована і програма завершується, якщо ж так, то перевіряємо чи скалярний добуток кожної стрічки на себе є 1. Перевіряємо кожний рядок окремо, для цього спочатку змінну s2 занулюємо,а далі до s2 додаємо квадрат кожного елемента в рядку. Якщо s2 дорівнює 1, то видаємо результат про те, що матриця ортономована, інакше – матриця неортономована.
Текст програми
program p3;
uses crt;
var a: array [1..20,1..20] of integer; n,k,j,i,s:integer;
begin
read(n);
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
s:=0;
for k:=1 to n do
begin
for i:=1 to n do
begin
for j:=1 to n do
s:=s+a[k,j]*a[i,j];
if (k=i) and (s<>1) then
begin
writeln('ne ortonorm!');
exit;
end;
if (k<>i) and (s<>0) then
begin
writeln('ne ortonorm!');
exit;
end;
s:=0;
end;
end;
writeln('ortonorm');
end.
Апробація
1)введіть елементи масиву розміром 3*3
1 0 0
0 1 0
0 0 1
матриця ортономована
Результат правильний.
2)введіть елементи масиву розміром 3*3
1 2 3
1 1 1
1 0 0
матриця неортономована
Результат правильний.
3)введіть елементи масиву розміром 3*3
1 0 0
1 1 0
0 1 0
матриця неортономована
Результат правильний.
4)введіть елементи масиву розміром 4*4
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
матриця ортономована
Результат правильний.
Завдання № 4
Тема завдання: Мова Pascal, обробка текстової інформації
Постановка задачі
Задана символьна послідовність, яка складається зі слів, розділених хоча б одним пропуском. Вилучити з кожного слова непарної довжини(окрім одиничного) середній символ.
Опис алгоритму
Зчитуємо рядок. Потім в циклі знаходимо перша слово між пробілами.
Після цього перевіряємо довжину цього слова, якщо парна, то переходимо до наступного слова, інакше – перевіряємо ще чи це часом не одиничний символ. Якщо ні – то видаляємо середній символ у слові, і переходимо до наступного слова. Після завершення цієї процедури, ми друкуємо стрічку на екран.
Текст програми
Program P4;
uses crt;
var a:string; i,k:integer;
begin
read(a);
a:=a+' ';
i:=1;
k:=1;
while i<=length(a) do
begin
if a[i]<>' '
then i:=i+1
else
begin
if ((i-k)mod 2 = 1) and ((i-k)>1)
then
begin
delete(a,(i+k) div 2,1);
i:=i-1;
end;
i:=i+1;
k:=i;
end;
end;
write(a);
end.
Апробація
1) aba a abba
aa a abba
Результат правильний.
2) a b c aaa baba
a b c aa baba
Результат правильний.
3) vvvv nnnnn a n bab tttt
vvvv nnnn a n bb tttt
Результат правильний.
Завдання № 5
Тема завдання: Мова Pascal, підпрограми
Дата добавления: 2015-07-17; просмотров: 88 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Завдання № 1 | | | Постановка задачі |