Questão 8: Uma matriz quadrada pode ser usada para representar relacionamentos entre usuários de uma rede social. As linhas e colunas da matriz representam pessoas, e a matriz é preenchida com 1 quando duas pessoas se conhecem e com 0 (ou nulo), quando duas pessoas não se conhecem.
M
Gaby
Gustavo
Mariana
Helena
João
Gaby
1
1
1
1
Gustavo
1
1
Mariana
1
1
1
Helena
1
1
Ana
1
1
1
Considere que
- a linha e a coluna 0 da matriz representam os amigos da Gaby.
*a linha e a coluna 1 da matriz representam os amigos do Gustavo.
*a linha e a coluna 2 da matriz representam os amigos da Mariana.
*a linha e a coluna 3 da matriz representam os amigos da Helena.
- a linha e a coluna 0 da matriz representam os amigos do João.
M[0,1]=1 representa que a pessoa da linha 0 (Gaby) é amiga da pessoa da coluna 1 (Gustavo).
M(2,3)=1 representa que a pessoa da linha 2 (Mariana) é amiga da pessoa da coluna 2 (Helena).
E se M[0,1] 1 então M[1,0]=1 porque se Gaby é amiga de (conhece) Gustavo então Gustavo também e amigo
(conhece) Gaby.
Na lógica deste algoritmo, se eu conheço você, então você também me conhece. Se uma pessoa conhece outra
então a outra pessoa também a conhece.
3
10
Algoritmo "Questão 37" Var
vet vetor[1..5,1..5) de inteiro
r inteiro
funcao obterindice(nome: caractere): inteiro var
x:
inteiro
inicio
escolha (nome)
Caso "Gaby"
caso "Gustave"
x<1 caso "Mariana"
x<2
caso "Helena"
x<3
сазо "Јово"
X-4
outrocaso
x <--1
fimescolha
retorne x
fimfuncac
Funcao f (nome caractere): inteiro var
j. x, s: inteiro inicio
x <- obterIndice (nome)
se (x<>-1) então
para j de 0 ate 4 passo 1 faça se (M[x,j]=1) então
9 <- 8+1
fimse
fimpara
senao
8 <--1
-
retorne s
fimfuncao
Inicio
<-f("Gaby")
Fimalgoritmo
A chamada da função f() na linha 45 responderá a qual das seguintes perguntas?
A) Qual é o índice da matriz em que os dados de Gaby estão representados?
B) Quantas pessoas Gaby não conhece?
C) É a pessoa mais popular?
D) Quantos amigos Gaby tem?
E) Quem são os amigos de Gaby