Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Абстракция А0.4

Читайте также:
  1. Абстракция
  2. Абстракция
  3. Абстракция А0.6
  4. Абстракция, мышление типа «или-или» и дуализм
  5. Монотеизм: универсальная абстракция

1.Условие. Проверить, есть ли в матрице элементы, абсолютная величина которых больше 1000

2.Уточненная постановка задачи.

Дана вещественная квадратная матрица X из n строк и n столбцов. Проверить (flag), есть ли в матрицы элементы, абсолютная величина которых больше 1000. Если есть, то присвоить flag значение True и найти номер строки (ii) и столбца (jj) первого такого элемента, иначе присвоить flag значение False.

3.Примеры. (В скобках результаты для матрицы В)

Тест 3 есть некорректный элемент X[1,3]=1001, flag=True (f=false)

Тест 4 есть некорректный элемент flag=false; (X[1,1]= -2000, flag=True)

Тест 5 есть некорректный элемент X[2,1]= -1050, flag=true, (X[1,2]= 2000, flag= True)

Таблица данных

Класс Имя Описание (смысл), диапазон, точность Тип Структура
  Входные данные X Заданная матрица, |Xij|<=5000 Точн. 0.1 вещ Двухмерный массив (10х10)
n число строк и столбцов в матрице A,1£n£10 цел простая переменная
  Выходные данные ii Строка с некорр. X[ii,jj], 1£ii£10 цел простая перем
jj Столбец с некорр. X[ii,jj], 1£jj£10 цел простая перем
flag = True, если есть некорректные Xij, в противном случае False лог простая переменная
Промежу-точные данные i Номер текущей строки, 1£i£10 цел простая переменная
j Номер текущего столбца, 1£j£10 цел простая переменная
           

5.Входная форма.

нет ввода/вывода

Выходная форма

нет ввода/вывода

Аномалии

нет ввода/вывода

Тесты

Тест 3 есть некорректный элемент X[1,3]=1001, flag=True (f=false)

Тест 4 есть некорректный элемент flag=false; (X[1,1]= -2000, flag=True)

Тест 5 есть некорректный элемент X[2,1]= -1050, flag=true, (X[1,2]= 2000, flag= True)

 

Метод

Истина, если есть в матрице элемент |Xi,j|>1000; Ложь, если нет такого элемента

 


Пусть flag =

 

 

Предположим сначала, что такого элемента в матрице нет (Flag:=False)

Затем будем просматривать строки, начиная с первой (i:=1)

 

 

Пока не просмотрены все (i≤m) и не найден такой элемент (flag=False)

В каждой строке будем просматривать элементы, начиная с первого (j:=1)

Пока не просмотрены все (j≤n) и не найден такой элемент (flag=False)

Если рассматриваемый элемент Xij по модулю больше 1000

То

искомый элемент найден! (flag:=True)

Запоминаем его местонахождение (ii:=i; jj:=j)

Переходим к следующему элементу в строке (j:=j+1)

Переходим к следующей строке

 

Найденные значения flag, ii, jj будут искомыми.

 

Алгоритм

Начало А0.4
Вх. n, X
flag:=False
i:=1
i≤n Ù Ø flag
j:=1
j≤n Ù Ø flag
|Xij|>1000
ii:=i; jj:=j; flag:=True
j:=j+1
i:=i+1
Конец А0.4
Вых. flag, ii, jj

 

 

Программа на паскале. Процедура общего вида

procedure ProvMas (var X:mas; const n:byte; out flag:boolean; out ii,jj:byte);

var i,j:byte;

Begin

flag:=false; i:=1;

while (i<=n) and (not(flag)) do

Begin

j:=1;

while (j<=n)and (not(flag)) do

Begin

if abs(X[i,j])>1000 then

Begin

flag:=true; ii:=i; jj:=j;

End;


Дата добавления: 2015-08-21; просмотров: 61 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Алгоритм| Абстракция А0.6

mybiblioteka.su - 2015-2024 год. (0.01 сек.)