Buscar

Prova e Ativ Prat Analise

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Dentro dos Principios da Engenharia de Software, temos as seguintes fases: Definição, Desenvolvimento, Operação e Retirada. Com base nessa 
afirmação quais são as atividades elaboradas dentro da Fase de Definição: 
 
Resposta: Análise e Especificação, Estudo de Viabilidade e estimativas de Projeto. 
 
Considere-se o melhor cenário para o caso de utilização “Enviar Fax” (o cenário em que tudo corre bem”). Considere um sistema composto 
pelos seguintes objetos: máquina que envia; máquina que recebe; uma central que encaminha faxes e chamadas telefónicas. Desenhe o 
diagrama de sequências respectivo: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 «o empresa XPTO possui um Audi A6 TDi vermelho, com matricula “99-99-AA”, que tem um motor 1900cc, com número “9999”». 
 
 «a Marta é dona de um Ferrari F40 vermelho, com matricula “66-66-FF”, mas sem motor» 
 
 «o Rui não têm qualquer carro». 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Qual a diferença entre classe e objeto? 
 
 
Resposta: Classe é um conjunto de objetos, onde objetos contém características e ações. Classe é um molde composta por atributos e métodos. 
Objetos são instância da classe. 
 
 
Na imagem abaixo que mostra um diagrama de atividades, qual o nome dos símbolos indicados pelas setas em vermelho? 
 
 
 
 
 
 
 
 
 
 
Resposta: Fork e Join. 
 
QUESTAO 4/5 
Fornece a informação de texto de suporte para complementar a informação gráfica mostrada no DFD. Tal artefato é simplesmente um 
grupo organizado de definições de todos os elementos de dados no sistema sendo modelado extremamente importante em qualquer 
sistema de informação atual. 
Qual é o nome de tal artefato? 
 
Resposta: Dicionário de Dados. 
 
QUESTAO 
Modelize através de um diagrama de classes o seguinte discurso: “Uma mesa de café é constituída por um tampo e por quatro pernas…”: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Quanto a CRISE DO SOFTWARE é correto afirmar: 
 
A As estimativas de prazo e custo subiram. 
 B A produtividade dos profissionais de desenvolvimento baixou. 
C A qualidade do software caiu. 
D Todas as alternativas anteriores estão corretas. 
 
Engloba as melhores características do ciclo de vida Clássico e da Prototipação, adicionando um novo elemento: a Análise de Risco. 
Segue a abordagem de passos sistemáticos do Ciclo de Vida Clássico incorporando-os numa estrutura iterativa que reflete mais 
realisticamente o mundo real e usa a Prototipação, em qualquer etapa da evolução do produto, como mecanismo de redução de riscos. 
Este modelo é: 
 
B Espiral. 
 
Sobre a engenharia de software, considere: 
I. Atualmente todos os problemas na construção de software de alta qualidade no prazo e dentro do orçamento foram solucionados. 
II. Ao longo dos últimos 50 anos, o software evoluiu de um produto de indústria para um ferramental especializado em solução de 
problemas e análise de informações específicas. 
III. Todo projeto de software é iniciado por alguma necessidade do negócio. 
IV. O intuito da engenharia de software é fornecer uma estrutura para a construção de software com alta qualidade. 
A III e IV, somente 
 
 
 
 
O Gerenciamento de Requisitos é uma importante atividade do processo de desenvolvimento de software. 
 
Quanto ao objetivo do gerencimento de requisitos é correto afirmar que: 
 
A Estabelece quais funções são requeridas pelo sistema e as restrições sobre a operação e o desenvolvimento do sistema. 
 
Conforme abordado nas aulas, durante o desenvolvimento de software, as etapas que envolvem métodos, ferramentas e procedimentos, 
são conhecidas como componentes do Ciclo de Vida de Software. 
Com relação aos modelos de ciclo de vida vistos nas aulas, analise atentamente a imagem abaixo: 
 
 
A Modelo Cascata;
A Análise Orientada a Objetos concentra-se nos aspectos essenciais do objeto sem detalhamento, focando em suas 
características e o que ele faz. 
 
Com relação as características da Análise Orientada a Objetos, assinale a alternativa correta que corresponde a definição do conceito 
de Herança na análise orientada a objetos: 
 
C Significa que todos os atributos e métodos programados no ancestral já estarão automaticamente presentes em seus 
descendentes sem necessidade de reescrevê-los; 
 
 Utilizada para agrupar certos objetos que ocorrem em algum ponto no tempo ou sob circunstâncias similares; 
Significa que só deve ser representado as características que são relevantes para o problema em questão. 
Diagramas de Classe da UML mostram as diferentes classes que fazem um sistema e como elas se relacionam. De acordo com as definições 
de um Diagrama de Classes, analise atentamente a imagem abaixo: 
 
 
 
 
 
 
 
 
 
 
 
Com base na imagem acima, assinale a alternativa correta que corresponde à definição de cada uma das três partes de uma classe, 
de cima para baixo: 
 
B Nome, Atributos e Métodos; 
No final de década de 1990 o paradigma de orientação a objetos atinge sua maturidade, assim os conceitos de padrões de projetos, 
frameworks de desenvolvimento, componentes e padrões de qualidade começam a ganhar espaço, e assim surge um novo conceito, 
a UML. 
 
Assinale a alternativa correta que corresponde à definição da UML: 
 
Ferramenta de modelagem utilizada no desenvolvimento atual de sistemas; 
 
A Orientação a Objetos surgiu no final da década de 60, quando dois cientistas dinamarqueses criaram a linguagem Simula 
(Simulation Language), sendo assim introduzido os conceitos de classe e herança. 
 
Com relação a esta definição, assinale a alternativa correta que corresponde a definição de Encapsulamento na orientação a 
objetos: 
 
É a propriedade segundo a qual os atributos de uma classe são acessíveis apenas pelos métodos da própria classe; 
 
O Diagrama de Transição de Estados serve para especificar o comportamento do sistema em relação aos eventos que ele recebe. 
 
Com relação ao Diagrama de Transição de Estados (DTE), assinale a alternativa correta que corresponde aos elementos que fazem 
parte deste diagrama: 
 
Estado, Transição e Ação; 
 
A análise essencial deve começar com o entendimento daquilo que o usuário está solicitando, ou seja, o que o sistema deverá fazer 
e quais são os seus objetivos: 
Com base nos conceitos da análise essencial, análise as afirmativas abaixo: 
I. Pseudocódigo; 
 
II. Árvore de Decisão; 
 
III. Português estruturado; 
 
IV. Tabela de Decisão; 
 
V. Descrição de Conteúdo. 
Com relação as afirmativas acima, assinale a alternativa correta que correspondem a técnicas de especificação da 
Miniespecificação utilizada na Analise Essencial: 
Somente as afirmativas I, II, III e IV referem-se a técnicas utilizadas na Miniespecificação; 
O surgimento de sistemas de software complexos resultou na necessidade de reavaliar a forma de desenvolver sistemas. As técnicas têm 
evoluído de forma impressionante, notavelmente no que tange à modelagem de sistemas. 
Com relação aos conceitos apresentados acima e a modelagem de sistemas orientados a objetos, assinale a alternativa correta que 
corresponde a definição da UML: 
É uma linguagem visual independente de linguagem de programação e independente de processo de desenvolvimento; 
Elabore um programa que receba três notas de avaliações de um aluno, calcule a nota final (média das três notas) do aluno e informe: 
 APROVADO ..... caso a nota final esteja no intervalo [7, 10] 
 RECUPERAÇÃO .... caso a nota final esteja no intervalo [5, 7) 
 REPROVADO .... caso a nota final esteja no intervalo [0, 5) 
 
#include <stdio.h> 
 
int main(){ 
 
float n1,n2,n3,m;char nome[20]; 
printf("Nome do aluno: "); scanf("%s",&nome); printf("Insira a nota 1: "); scanf("%f",&n1); 
printf("Insira a nota 2: "); scanf("%f",&n2); printf("Insira a nota 3: "); scanf("%f",&n3); 
m=(n1*2+n2*4+n3*4)/(2+4+4); 
 
if((m>=0)&&(m<5)){ 
 
printf("\nA media final de %s foi %.1f. REPROVADO",nome,m); 
 
} 
 
if((m>=5)&&(m<7)){ 
 
printf("\nA media final de %s foi %.1f. RECUPERACAO",nome,m); 
 
} 
 
if((m>=7)&&(m<=10)){ 
 
printf("\nA media final de %s foi %.1f. APROVADO",nome,m); 
 
} 
 
} 
 
Faça um programa que receba as vendas semanais (de cada mês) de cinco vendedores de uma loja e armazene essas vendas em uma 
matriz. Calcule e mostre: 
•O total de vendas do mês de cada vendedor; 
•O total de vendas de cada semana (tosos os vendedores juntos); 
•O total de vendas do mês. 
 
#include<stdafx.h> 
 #include<stdio.h> 
 #include<stdlib.h> 
#define MAXL 5 
 
#define MAXC 5// qtd semanas+1 | total do mes do vendedor int main() 
 { 
 
int mat[MAXL][MAXC], somasem[MAXC-1], total; int i, j; 
 
for (i=0;i<MAXL;i++) 
 
for (j=0;j<(MAXC-1);j++) scanf("%d",&mat[i][j]); 
 
/*printf("\nMatriz:\n"); for (i=0;i<MAXL;i++) 
{ 
 
printf("\n"); 
 
for (j=0;j<MAXC-1;j++) printf("%4d",mat[i][j]); 
} 
 
printf("\n");*/ 
 
 
for (i=0;i<MAXL;i++) 
 
{ 
 
mat[i][MAXC-1]=0; 
 
for (j=0;j<(MAXC-1);j++) 
 
{ 
 
mat[i][MAXC-1]=mat[i][MAXC-1]+mat[i][j]; 
 
} 
 
printf("\nO vendedor %d vendeu %d no mes",i+1,mat[i][MAXC-1]); 
 
} 
 
printf("\n"); 
 
total=0; 
 
for (j=0;j<(MAXC-1);j++) 
 
{ 
 
somasem[j]=0; 
 
for (i=0;i<MAXL;i++) 
 
{ 
 
somasem[j]=somasem[j]+mat[i][j]; 
 
} 
 
printf("\nA semana %d fechou com %d vendas",j+1,somasem[j]); total=total+somasem[j]; 
 } 
 
printf("\n\nO Total vendido no mes foi %d",total); printf("\n\n"); 
 
system("pause"); return 0; 
} 
 
 
Uma empresa contratou 15 funcionários temporários. De acordo com o valor das vendas mensais, os funcionários adquirem pontos 
que determinarão seus salários ao final de cada mês. Sabe-se que esses funcionários trabalharão nos meses de novembro a janeiro 
do ano subsequente: 
Faça um programa que: 
•Leia as pontuações nos três meses de cada funcionário; 
•Calcule e mostre a pontuação geral de cada funcionário nos três meses; 
•Calcule e mostre a média das pontuações de cada funcionário nos três meses; 
 
Determine e mostre a maior pontuação atingida entre todos os funcionários nos três meses. 
 
#include <stdio.h> #include <stdlib.h> 
int main(){ 
 
int a,b,f; 
 
float m,maior,pontuacao[12],funcionario[12][3]; char mes[3][10]={"novembro","dezembro","janeiro"}; 
 
for (a=0;a<=11;a++){ 
 
for (b=0;b<=2;b++){ 
printf("\nInsira a pontuacao do funcionario %d referente a %s: ",a+1,mes[b]); scanf("%f",&funcionario[a][b]); 
} 
 
} 
 
 
printf("\n\n Pontuacao geral"); for (a=0;a<=11;a++){//6,15,24 
b=0; 
 
pontuacao[a]=funcionario[a][b]+funcionario[a][b+1]+funcionario[a][b+2]; printf("\n\n Funcionario %d: %.0f",a+1,pontuacao[a]); 
} 
printf("\n\n\n\n Media da pontuacao geral"); for (a=0;a<=11;a++){//6,15,24 
m=0; 
 
b=0; 
 
m=(funcionario[a][b]+funcionario[a][b+1]+funcionario[a][b+2])/3; printf("\n\n Funcionario %d: %.2f",a+1,m); 
} 
 
maior=pontuacao[0]; 
 
 
for (a=0;a<=11;a++){ 
 
 
if(pontuacao[a]>maior) 
 
maior=pontuacao[a]; 
 
} 
 
printf("\n\n\n\n Maior pontuacao: %.2f",maior); 
 
 
return 0; 
 
} 
 
R. 
 
#include <stdio.h> #include <stdlib.h> 
 
int main(){ 
 
 
int a,b,f; 
 
float m,maior,pontuacao[12],funcionario[12][3]; char mes[3][10]={"novembro","dezembro","janeiro"}; 
 
for (a=0;a<=11;a++){ 
 
 
for (b=0;b<=2;b++){ 
 
 
printf("\nInsira a pontuacao do funcionario %d referente a %s: ",a+1,mes[b]); scanf("%f",&funcionario[a][b]); 
 
} 
 
} 
 
 
printf("\n\n Pontuacao geral"); for (a=0;a<=11;a++){//6,15,24 
b=0; 
 
pontuacao[a]=funcionario[a][b]+funcionario[a][b+1]+funcionario[a][b+2]; printf("\n\n Funcionario %d: %.0f",a+1,pontuacao[a]); 
} 
 
printf("\n\n\n\n Media da pontuacao geral"); for (a=0;a<=11;a++){//6,15,24 
m=0; 
 
b=0; 
 
m=(funcionario[a][b]+funcionario[a][b+1]+funcionario[a][b+2])/3; printf("\n\n Funcionario %d: %.2f",a+1,m); 
} 
 
maior=pontuacao[0]; 
 
for (a=0;a<=11;a++){ 
 
if(pontuacao[a]>maior) 
 
maior=pontuacao[a]; 
} 
 
printf("\n\n\n\n Maior pontuacao: %.2f",maior); 
return 0; 
} 
Faça um programa que receba as vendas semanais (de cada mês) de cinco vendedores de uma loja e armazene essas vendas em uma 
matriz. Calcule e mostre: 
•O total de vendas do mês de cada vendedor; 
•O total de vendas de cada semana (tosos os vendedores juntos); 
•O total de vendas do mês. 
 
R. 
 #include<stdafx.h> 
#include<stdio.h> 
#include<stdlib.h> 
#define MAXL 5 
 
#define MAXC 5// qtd semanas+1 | total do mes do vendedor int main() 
 { 
 
int mat[MAXL][MAXC], somasem[MAXC-1], total; int i, j; 
 
for (i=0;i<MAXL;i++) 
 
for (j=0;j<(MAXC-1);j++) scanf("%d",&mat[i][j]); 
 
/*printf("\nMatriz:\n"); for (i=0;i<MAXL;i++) 
{ 
 
printf("\n"); 
 
for (j=0;j<MAXC-1;j++) printf("%4d",mat[i][j]); 
} 
 
printf("\n");*/ 
 
for (i=0;i<MAXL;i++) 
 
{ 
 
mat[i][MAXC-1]=0; 
 
for (j=0;j<(MAXC-1);j++) 
 
{ 
 
mat[i][MAXC-1]=mat[i][MAXC-1]+mat[i][j]; 
 
} 
 
printf("\nO vendedor %d vendeu %d no mes",i+1,mat[i][MAXC-1]); 
 
} 
 
printf("\n"); 
 
total=0; 
 
for (j=0;j<(MAXC-1);j++) 
 
{ 
 
somasem[j]=0; 
 
for (i=0;i<MAXL;i++) 
 
{ 
 
somasem[j]=somasem[j]+mat[i][j]; 
 
} 
 
printf("\nA semana %d fechou com %d vendas",j+1,somasem[j]); total=total+somasem[j]; 
 } 
 
printf("\n\nO Total vendido no mes foi %d",total); printf("\n\n"); 
 
system("pause"); return 0; 
} 
 
Um funcionário de uma empresa recebe aumento salarial anualmente. Sabe-se que: 
•Esse funcionário foi contratado em 1995, com salario inicial de R$1.000,00; 
 
•Em 1996 recebeu aumento de 15% sobre o seu salário inicial; 
•A partir de 1997 (inclusive), os aumentos salariais sempre corresponderam ao dobro do percentual do ano anterior. 
 
Faça um programa que determine o salário atual desse funcionário. 
 
#include <stdio.h> #include <math.h> 
 
int main(){ 
 
double sal=1000,per; int ano,a,cont; 
 
printf("Digite o ano atual: "); scanf("%d",&ano); 
 
if(ano == 1995) 
 
 
printf("\n\nSalario atual: %.2lf",sal); 
 
 
else if(ano == 1996) 
 
printf("\n\nSalario atual: %.2lf",sal+sal*0.15); 
 
 
else{ 
 
cont= ano-1996; 
 
 
per=0.15; 
 
 
for (a=1;a<=cont;a++){ 
 
 
per= per*2; 
 
//printf(" \n%.2lf",per);dobro do percenti 
 
} 
 
 
printf("\n\nSalario atual: %.2lf",sal+sal*per); //printf("\n\n%d",cont);contador 
} 
 
return 0; 
 
} 
 
 
 
Faça um programa que carregue: 
•Um vetor com oito posições com os nomes das lojas; 
•Um outro vetor com quatro posições com os nomes dos produtos; 
•matriz com os preços de todos os produtos em cada loja. 
 
O programa deve mostrar todas as relações (nome do produto – nome da loja) nas quais o preço não ultrapasse R$ 120,00. 
 
R. #include<stdafx.h> #include<stdio.h> #include<stdlib.h> #define 
QTDLOJAS 8 #define QTDPROD 4 int main () 
 
{ 
 
char loja[QTDLOJAS][20], produto[QTDPROD][20]; float mat[QTDLOJAS][QTDPROD]; 
int i, j; 
 
for (i=0;i<QTDLOJAS;i++) 
 
{ 
 
printf ("Loja %d: ",i+1); gets(loja[i]); 
 } 
 
for (i=0;i<QTDPROD;i++) 
 
{ 
 
printf ("Produto %d: ",i+1); gets(produto[i]); 
 } 
 
for (j=0;j<QTDPROD;j++) 
 
{ 
 
printf ("\nProduto %s\n",produto[j]);for (i=0;i<QTDLOJAS;i++) 
{ 
 
printf (" - Loja %s: R$ ",loja[i]); scanf("%f",&mat[i][j]); 
} 
 
} 
 
for (i=0;i<QTDLOJAS;i++) for (j=0;j<QTDPROD;j++) 
if (mat[i][j]<120) 
 
printf("\nNa loja %s - Produto %s - Custa R$ %.2f", loja[i],produto[j], mat[i][j]); 
 
printf("\n\n"); 
 
system("pause"); 
 
return(0); 
 
} 
 
Faça um programa que receba as vendas semanais (de cada mês) de cinco vendedores de uma loja e armazene essas vendas em uma 
matriz. Calcule e mostre: 
 
•O total de vendas do mês de cada vendedor; 
•O total de vendas de cada semana (tosos os vendedores juntos); 
•O total de vendas do mês. 
#include<stdafx.h> #include<stdio.h> #include<stdlib.h> #define MAXL 5 
 
#define MAXC 5// qtd semanas+1 | total do mes do vendedor int main() 
 { 
 
int mat[MAXL][MAXC], somasem[MAXC-1], total; int i, j; 
 
for (i=0;i<MAXL;i++) 
 
for (j=0;j<(MAXC-1);j++) scanf("%d",&mat[i][j]); 
 
/*printf("\nMatriz:\n"); for (i=0;i<MAXL;i++) 
{ 
 
printf("\n"); 
 
for (j=0;j<MAXC-1;j++) printf("%4d",mat[i][j]); 
} 
 
printf("\n");*/ 
 
 
for (i=0;i<MAXL;i++) 
 
{ 
 
mat[i][MAXC-1]=0; 
 
for (j=0;j<(MAXC-1);j++) 
 
{ 
 
mat[i][MAXC-1]=mat[i][MAXC-1]+mat[i][j]; 
 
} 
 
printf("\nO vendedor %d vendeu %d no mes",i+1,mat[i][MAXC-1]); 
 
} 
 
printf("\n"); 
 
total=0; 
 
for (j=0;j<(MAXC-1);j++) 
 
{ 
 
somasem[j]=0; 
 
for (i=0;i<MAXL;i++) 
 
{ 
 
somasem[j]=somasem[j]+mat[i][j]; 
 
} 
 
printf("\nA semana %d fechou com %d vendas",j+1,somasem[j]); total=total+somasem[j]; 
 } 
 
printf("\n\nO Total vendido no mes foi %d",total); printf("\n\n"); 
 
system("pause"); return 0; 
} 
 
 
rintf("\n\nMaior elemento: %d\n", maior); 
 
 
for (i=0;i<2;i++){ 
 
 
printf(" \nLinha %d: ",i+1); 
 
 
for (j=0;j<2;j++) 
 
 
printf(" %d",(matriz[i][j]*maior)); 
 
} 
 
 
return 0; 
 
} 
 
 
 
 
Faça um programa que carregue uma matriz 10x3 com as notas de dez alunos em três provas. Mostre um relatório com o número do 
aluno (número da linha) e aprova em que cada aluno obteve menor nota. Ao final do relatório, mostre quantos alunos tiveram menor 
nota na prova 1, quantos alunos tiveram menor nota na prova 2 e quantos alunos tiveram menor nota na prova 3. 
#include<stdafx.h> #include<stdio.h> #include<stdlib.h> 
 
#define MAXL 10//qtd alunos 
 
#define MAXC 5 //qtd notas+2 | prova | menor int main() 
 { 
 
float mat[MAXL][MAXC], menor, cont; int i, j, val, qtd[3], temp; 
 
for (i=0;i<MAXL;i++) 
 
for (j=0;j<(MAXC-2);j++) scanf("%f",&mat[i][j]); 
for (i=0;i<MAXL;i++) 
 
{ 
 
val=1; 
 
cont=0; 
 
for (j=0;j<MAXC;j++) 
 
{ 
 
switch(j) 
 
{ 
 
case (MAXC-2): mat[i][j]=cont+1; break; 
 
case (MAXC-1): mat[i][j]=menor; break; default: 
 
if(val==1) 
 
{ 
 
menor=mat[i][j]; 
 
val=0; 
 
cont=j; 
 
} 
 
else 
 
{ 
if (mat[i][j]<menor) 
{ 
 
menor=mat[i][j]; 
 
cont=j; 
 
} 
 
} 
 
} 
 
} 
 
} 
 
qtd[0]=0; 
 
qtd[1]=0; 
 
qtd[2]=0; 
 
for (i=0;i<MAXL;i++) 
 
{ 
 
printf("\nAluno: %d - Menor nota: %.2f ref a prova: %.0f ",i+1, mat[i][MAXC-1], mat[i][MAXC-2]); temp=mat[i][MAXC-2]; 
 
qtd[temp-1]++; 
 
} 
printf("\nQuantidade de menores notas - Prova 1: %d - Prova 2: %d - Prova 3: %d",qtd[0], qtd[1], qtd[2]); printf("\n\n"); 
 
/*printf("\nMatriz:\n"); for (i=0;i<MAXL;i++) 
{ 
 
printf("\n"); 
 
for (j=0;j<MAXC;j++) printf("%2.f",mat[i][j]); 
} 
 
printf("\n\n");*/ 
 
 
system("pause"); return 0; 
} 
 
Construa um programa que leia salário, idade e sexo de 3 funcionários de uma empresa. Determine e escreva: 
 quantos destes que possui o sexo masculino, com idade inferior a 25 anos, ganham salário inferior a R$ 1200,00 reais. 
 quantos d 
 estes com o sexo feminino, com idade superior a 30 anos, ganham salário superior a R$ 5000,00 reais. 
 
 #include <stdio.h> 
#include <stdlib.h> 
 
int main(){ float sal; char sexo; 
int idade,c,ca=0,cb=0; 
 
for (c=1;c<=3;c++){ 
 
printf("Salario do funcionario %d: ",c); scanf("%f",&sal); 
 
printf("Sexo(f-m): "); scanf("%s",&sexo); printf("Idade: "); scanf("%d",&idade); 
if((sal<1200)&&(idade<25)&&(sexo=='m')){ 
 
ca++; 
 
} 
 
if((sal>5000)&&(idade>30)&&(sexo=='f')){ 
 
cb++; 
 
} 
 
 
} 
 
printf("\na)Homens com menos de 25 anos e que recebem menos de R$1200,00: %d",ca); printf("\na)Mulheres com mais de 30 anos e que recebem mais 
de R$5000,00: %d",cb); 
} 
 
Faça um programa que carregue: 
•Um vetor com oito posições com os nomes das lojas; 
•Um outro vetor com quatro posições com os nomes dos produtos; 
•Uma matriz com os preços de todos os produtos em cada loja. 
O programa deve mostrar todas as relações (nome do produto – nome da loja) nas quais o preço não ultrapasse R$ 120,00. 
R. #include<stdafx.h> #include<stdio.h> #include<stdlib.h> #define 
QTDLOJAS 8 #define QTDPROD 4 int main () 
 
{ 
 
char loja[QTDLOJAS][20], produto[QTDPROD][20]; float mat[QTDLOJAS][QTDPROD]; 
int i, j; 
 
for (i=0;i<QTDLOJAS;i++) 
 
{ 
 
printf ("Loja %d: ",i+1); gets(loja[i]); 
 } 
 
for (i=0;i<QTDPROD;i++) 
 
{ 
 
printf ("Produto %d: ",i+1); gets(produto[i]); 
 } 
 
for (j=0;j<QTDPROD;j++) 
 
{ 
 
printf ("\nProduto %s\n",produto[j]); for (i=0;i<QTDLOJAS;i++) 
{ 
 
printf (" - Loja %s: R$ ",loja[i]); scanf("%f",&mat[i][j]); 
} 
 
} 
 
for (i=0;i<QTDLOJAS;i++) for (j=0;j<QTDPROD;j++) 
if (mat[i][j]<120) 
 
printf("\nNa loja %s - Produto %s - Custa R$ %.2f", loja[i],produto[j], mat[i][j]); 
 
printf("\n\n"); 
 
system("pause"); 
 
return(0); 
 
} 
 
 
 
Um funcionário de uma empresa recebe aumento salarial anualmente. Sabe-se que: 
•Esse funcionário foi contratado em 1995, com salario inicial de R$1.000,00; 
•Em 1996 recebeu aumento de 15% sobre o seu salário inicial; 
•A partir de 1997 (inclusive), os aumentos salariais sempre corresponderam ao dobro do percentual do ano anterior. 
 
Faça um programa que determine o salário atual desse funcionário. 
 
#include <stdio.h> #include <math.h> 
int main(){ 
 
double sal=1000,per; int ano,a,cont; 
printf("Digite o ano atual: "); scanf("%d",&ano); 
 
if(ano == 1995) 
 
 
printf("\n\nSalario atual: %.2lf",sal); 
 
 
else if(ano == 1996) 
 
printf("\n\nSalario atual: %.2lf",sal+sal*0.15); 
 
 
else{ 
 
cont= ano-1996; 
 
 
per=0.15; 
 
 
for (a=1;a<=cont;a++){ 
 
 
per= per*2; 
 
//printf(" \n%.2lf",per);dobro do percenti 
 
} 
 
 
printf("\n\nSalario atual: %.2lf",sal+sal*per); //printf("\n\n%d",cont);contador 
} 
 
return 0; 
 
} 
 
 
 
Um supermercado deseja reajustar os preços de seus produtos usando o seguinte critério: o produto poderá ter seu preço 
aumentado ou diminuído. Para alterar o preço o produto deve preencher pelo menos um dos requisitos a seguir: 
 
 
 
 
 
 
Faça um programa que receba o preço atual e a venda mensal média do produto, calcule e mostre o novo preço. 
#include <stdio.h> 
int main(){ int vm; 
float preco; 
 
printf("Insira o preco do produto: "); scanf("%f",&preco); 
 
printf("Insira a venda media mensal do produto: "); scanf("%d",&vm); 
if((vm<500)&&(preco<30)) 
 
printf("Aumento de 10 por cento: %.2f ", preco*1.10); 
 
else{ 
 
if((vm>=500)&&(vm<1200)&&(preco>=30)&&(preco<80)) 
 
 
printf("Aumento de 15 por cento: %.2f ",preco*1.15); 
 
 
else if((vm>=1200)&&(preco>=80)) 
 
printf("Diminuicao de 20 por cento: %.2f ",preco-preco*0.20); 
 
else 
 
printf("Sem reajuste: %.2f ",preco); 
 
} 
return 0; 
 
} 
 
Construa umprograma que leia salário, idade e sexo de 3 funcionários de uma empresa. Determine e 
escreva: 
 quantos destes que possui o sexo masculino, com idade inferior a 25 anos, ganham salário inferior a R$ 1200,00 reais. 
 quantos destes com o sexo feminino, com idade superior a 30 anos, ganham salário superior a R$ 5000,00 reais. 
#include <stdio.h> #include <stdlib.h> 
int main(){ float sal; char sexo; 
int idade,c,ca=0,cb=0; 
 
for (c=1;c<=3;c++){ 
 
printf("Salario do funcionario %d: ",c); scanf("%f",&sal); 
 
printf("Sexo(f-m): "); scanf("%s",&sexo); printf("Idade: 
"); scanf("%d",&idade); 
if((sal<1200)&&(idade<25)&&(sexo=='m')){ 
 
ca++; 
 
} 
 
if((sal>5000)&&(idade>30)&&(sexo=='f')){ 
 
cb++; 
 
} 
 
} 
 
printf("\na)Homens com menos de 25 anos e que recebem menos de R$1200,00: %d",ca); printf("\na)Mulheres com mais 
de 30 anos e que recebem mais de R$5000,00: %d",cb); 
} 
 
 
Faça um programa que receba o número sorteado em um dado durante 20 jogadas, mostre os números 
sorteados e a frequência com que apareceram. 
 
#include <stdio.h> #include <stdlib.h> #include <time.h> 
int main(){ 
 
int c1=0,c2=0,c3=0,c4=0,c5=0,c6=0; int i,x; 
 
srand(( unsigned )time(NULL));//alimenta o random com tempo printf("Numeros rolados"); 
 
for(i=0 ; i <= 19 ; i++){ 
 
x=1+rand()%6; 
 
printf("\n Numero %d: %d",i+1,x); 
 
switch(x){ 
 
case 1: c1++; break; case 2: c2++; break; case 3: c3++; 
break; case 4: c4++; break; case 5: c5++; break; case 6: 
c6++; break; 
} 
 
} 
 
printf(" \n\nFrequencia de aparicoes"); 
 
printf("\n (1) -> %d vez(es): %d%%\n",c1,c1*5,137);//relacionado a 100% ser 20 printf(" (2) -> %d vez(es): 
%d%%\n",c2,c2*5); 
 
printf(" (3) -> %d vez(es): %d%%\n",c3,c3*5); printf(" (4) -> %d vez(es): 
%d%%\n",c4,c4*5); printf(" (5) -> %d vez(es): %d%%\n",c5,c5*5); printf(" (6) -> %d 
vez(es): %d%%\n",c6,c6*5); 
 
 return 1; 
 
 
Faça um programa que leia um código numérico inteiro e um vetor de cinco posições de números reais. Se o código for zero, termine o 
programa. Se o código for 1, mostre o vetor na ordem direta. Se o código for 2, mostre o vetor na ordem inversa. 
#include <stdio.h> #include <stdlib.h> 
int main(){ int cod,a; 
float vet[5]={5.9,4.34,90.8,2,0.1}; 
 
printf("\nDigite uma opcao:\n\n 0 Terminar o programa\n 1 Vetor direto\n 2 Vetor invertido"); printf("\n\nInsira o codigo: "); 
 
scanf("%d",&cod); 
 
printf("\n\n\n\n"); 
 
if(cod==0){ 
 
printf("Programa encerrado..."); exit(0); 
}else if(cod==1){ 
for (a=0;a<=4;a++){ 
 
printf(" %.2f",vet[a]); 
 
} 
 
}else if(cod==2){ 
 
for (a=4;a>=0;a--){ 
 
printf(" %.2f",vet[a]); 
 
} 
 
}else 
 
printf("Opcao invalida"); 
 
return 0; 
 
} 
 
 
Construa um programa que leia salário, idade e sexo de 3 funcionários de uma empresa. Determine e escreva: 
 
 quantos destes que possui o sexo masculino, com idade inferior a 25 anos, ganham salário inferior a R$ 1200,00 reais. 
 
 quantos destes com o sexo feminino, com idade superior a 30 anos, ganham salário superior a R$ 5000,00 reais. 
#include <stdio.h> #include <stdlib.h> 
int main(){ float sal; char sexo; 
int idade,c,ca=0,cb=0; 
 
for (c=1;c<=3;c++){ 
 
printf("Salario do funcionario %d: ",c); scanf("%f",&sal); 
 
printf("Sexo(f-m): "); scanf("%s",&sexo); printf("Idade: "); scanf("%d",&idade); 
if((sal<1200)&&(idade<25)&&(sexo=='m')){ 
 
ca++; 
 
} 
 
if((sal>5000)&&(idade>30)&&(sexo=='f')){ 
 
cb++; 
 
} 
 
} 
 
printf("\na)Homens com menos de 25 anos e que recebem menos de R$1200,00: %d",ca); printf("\na)Mulheres com mais de 30 anos e que recebem mais 
de R$5000,00: %d",cb); 
} 
Você foi encarregado de fazer um programa que gere números aleatórios, para simular um dado durante 20 
jogadas. O seu programa deverá mostrar os números sorteados e a frequência com que apareceram. Depois 
de muito pesquisar sem grandes resultados, um dos seus colegas de tabalho lhe enviou o seguinte código: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Infelizmente falta uma parte deste código. 
 
Você deverá escrever as linhas que faltam para que o programa funcione. 
Seu gerente lhe encarregou de fazer um programa que receba salário, idade e sexo de 3 funcionários da sua empresa e determine e 
escreva no console do Windows as sequintes informações: 
a) quantos destes que possui o sexo masculino, com idade inferior a 25 anos, ganham salário inferior a R$ 1200,00 
reais. 
b) b) quantos destes com o sexo feminino, com idade superior a 30 anos, ganham salário superior a R$ 
 
5000,00 reais. A primeira versão do seu programa, mostrado a seguir, não funcionou. 
Resposta: 
 
if ((sal<1200) && (idade<25) && (sexo == 
'm')) { ca++; 
 
} 
 
if ((sal>5000) && (idade>30) && (sexo == 
'f')) { cb++; 
 
} 
 
 
Seu professor pediu para que você fizesse o código, em C/C++, para uma calculadora capaz de realizar 
as quatro operações. O código que você entregou pode ser visto a seguir: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Você foi encarregado de fazer um programa que carregue uma matriz de ordem 4x5 e uma segunda matriz de 
ordem 5x2, calcule e mostre a matriz resultante do produto matricial entre as matrizes carregadas garantido 
que este resultado estará carregado em uma terceira matriz 4X2. O resultado dos seus esforços pode ser visto 
 
no código a seguir e, infelizmente o código não funciona. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Resposta: 
 
for (i=0; i<5; i++) { for (j=0; 
j<2; j++) { 
 
printf("Digite o item [%d][%d] da matriz: ", i, j ); 
scanf_s("%d", &valor); 
 
mat2[i][j] = valor; 
 
} 
 
} 
 
 
 
Você foi encarregado de fazer um programa que receberá quantos números o usuário quiser digitar e devolverá 
o maior e o menor entre eles. Para isso você recebeu o seguinte código:
D FILE *fopen(char *nome_do_arquivo, char *modo 
 
Conforme abordado nas aulas, o escopo de uma variável representa a área do programa onde a variável pode ser utilizada. 
Dentro deste contexto, assinale a alternativa correta que corresponde respectivamente a definição de variáveis globais: 
 
E Variáveis declaradas fora das funções, sendo visível por todas as funções do sistema. 
 
 
 
As Strings podem ser definidas como vetores de chars. Desta forma, as strings são o uso mais comum para os vetores, tendo a 
biblioteca padrão do C diversas funções que as manipulam. 
 
Com relação as funções de Strings, analise atentamente o código em C apresentado abaixo: 
 
 
 
 
 
 
 
 
 
 
 
 
 
Como paradigmas classificar um grupo de linguagens. Várias são as classificações dos paradigmas de linguagem de programação, porém 
a mais conhecida é a que divide estes em imperativo, estruturado, orientado a objetos, funcional e lógico. 
Com base nos paradigmas de linguagem de programação, assinale a alternativa correta que corresponde a definição do 
paradigma orientado a objetos: 
de linguagem de programação chamamos um conjunto de características que serve para 
O principal objetivo é utilizar os conceitos de objetos no desenvolvimento dos programas para torná-los mais rápidos e 
confiáveis. 
 
printf (“expressão de controle”, argumento1, argumento 2, ....); 
 Com base no conteúdo abordado comrelação as funções de entrada e saída de linguagem de programação C, assinale a 
alternativa correta que corresponde a definição da função scanf(): 
 
Esta função lê do teclado os dados digitados e coloca os valores digitados pelos usuários nas variáveis utilizadas como 
parâmetros da função; 
Analise o Diagrama de Casos de Uso abaixo, referente a um módulo de matrícula e construa um diagrama de Atividades para 
demonstrar a modelagem dos processos de negócio. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Professora Cristina decidiu criar uma classe que permita mover um boneco na tela, Esse boneco deve ter nome, posição da 
coordenada X, posição da coordenada Y e direção atual (cima, baixo, direita, esquerda). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Para que o boneco se mova, cabe ao ator informar a nova coordenada. Isso é feito por meio de parâmetros do método Mover. Após 
mover o boneco, os atributos coordenadaX e coordenadaY são atualizados com os valores dos parâmetros novaCoordenadaX e 
novaCoordenadaY, respectivamente. 
 
Para alterar a direção, basta antes de chamar o método mover, mudar o valor do atributo direcaoAtual. 
 
Resposta: 
elação aos conceitos apresentados acima e a modelagem de sistemas orientados a objetos, assinale a alternativa 
correta que corresponde a definição da UML: 
É uma linguagem visual independente de linguagem de programação e independente de processo de 
desenvolvimento; 
Questão 2/10 
 
A Engenharia de Software se preocupa em sistematizar o desenvolvimento através de modelos, técnicas e 
ferramentas para o produto e para o processo. 
 
Com essa afirmação podemos dizer então que a Engenharia de Software é: 
C É uma disciplina da engenharia dedicada a todos os aspectos da produção de software. 
 
Questão 5/10 
 
Como se defne a implementação de um sistema orientado a objetos? 
 
A Implementa-se um conjunto de classes que defne os objetos presentes no sistema 
Questão 3/5 
 
Analise o Diagrama de Casos de Uso abaixo, referente a um módulo de matrícula e construa um diagrama de tividades 
para demonstrar a modelagem dos processos de negócio. 
 
 Traçam-se duas linhas verticais e duas linhas horizontais, de modo a criar nove quadrados de tamanhos iguais. 
 Um jogador joga desenhando um círculo e o seu adversário uma cruz. 
 O objetivo é cada jogador desenhar seu símbolo num quadrado vazio, tentando marcar uma linha de três símbolos 
iguais na horizontal, vertical ou diagonal; ou evitar que o adversário consiga essa linha de símbolos. 
Desenhe o diagrama de Caso de Uso. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Questão 5/5 
 
Qual é a notação da UML para um caso de uso? Qual é a notação da UML para um ator? Qual a notação utilizada 
na UML para o relacionamento de generalização entre casos de uso? 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Baseado principalmente em decisões de prosseguir / não prosseguir, de acordo com a avaliação, seja do cliente ou do 
desenvolvedor, tal modelo tende à uma trajetória que ruma para o modelo mais completo do sistema. Essa afirmação 
refere-se a qual modelo de desenvolvimento de software. 
Resposta: Modelo Clássico Espiral. 
 
Questão 2/5 
 
Qual a diferença de interpretação entre os relacionamentos livro-sobrecapa e livro-páginas no diagrama de classes 
abaixo: 
Resposta: 
 
Livro-página é uma agregação por composição, logo se destruirmos o livro, 
somem as páginas e os parágrafos. Representamos um livro como algo 
fisicamente constituído de páginas. 
 
Na agregação livro-sobrecapa representamos que um livro pode ser constituído 
por uma sobrecapa mas que a sobrecapa é um objeto que existe 
independentemente do livro. Os tempos de vida dos objetos não são 
semelhantes. 
 
 
 
 
 
 
 
Questão 3/5 
 
No diagrama de sequencia abaixo, qual a ordem das mensagens enviadas (m1 e m2): 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Resposta: m, m2, m2, m2 , m, m2, m2, m2 
 
 
Questão 4/5 
 
Considere os seguintes elementos da UML: classes, associações, mensagem, estado e transição, quais desses elementos 
fazem parte de um diagrama de ciasses: 
 
Resposta: Classes e Associações. 
 
Questão 5/5 
 
Considere o exemplo de relacionamento de extensão entre casos de uso apresentado a seguir, que descreve o 
relacionamento de extensão entre os casos de uso Editar Documento e o extensor Corrigir Ortografia. Complemente o 
diagrama de casos de uso para incluir dois novos requisitos, a saber: 
 Permitir que o editor de textos possibilite a criação de um índice remissivo sobre um documento sendo editado. 
 Permitir que o editor de textos possibilite a substituição de Texto. 
 
Questão 1/10 
 
O Diagrama de Casos de Uso da UML descreve o que o sistema faz do ponto de vista do observador 
externo, ajudando a esclarecer os 
 requisitos do sistema e a dividir o desenvolvimento do sistema em tarefas. 
De acordo com a definição apresentada acima, assinale a alternativa correta que corresponde 
aos componentes de um diagrama de casos de uso: 
E Caso de Uso, Atores, Associação, Relacionamento entre casos de uso. 
 
Questão 3/10 
 
Conforme abordado nas Aulas, o tratamento da informação é um requisito que fundamenta o 
processo de desenvolvimento de software antes da solução de tecnologia a ser aplicada. Para isso é 
necessário gerenciá-lo de forma eficiente. 
 
Com base nesta definição, assinale a alternativa correta que corresponde a definição de Requisitos: 
 
E Descrições dos principais recursos de um produto de software, seu 
fluxo de informações, comportamento e atributos. 
 
Questão 4/10 
 
Conforme visto nas aulas, Requisito é uma condição cuja exigência deve ser satisfeita. 
Com relação aos requisitos, assinale a alternativa correta que corresponde a definição de Requisitos 
Funcionais: 
A Listagem de todas as coisas que o sistema deve fazer; 
 
Questão 5/10 
 
A Orientação a Objetos surgiu no final da década de 60, quando dois cientistas dinamarqueses 
criaram a linguagem Simula (Simulation Language), sendo assim introduzido os conceitos de classe 
e herança. 
 
Com relação a esta definição, assinale a alternativa correta que corresponde a definição de Herança 
na orientação a objetos: 
D É o mecanismo pelo qual uma subclasse herda todas as propriedades da 
superclasse e acrescenta suas próprias e exclusivas características; 
 
Questão 6/10 
 
Conforme abordado nas Aulas, o tratamento da informação é um requisito que fundamenta o 
processo de desenvolvimento de software antes da solução de tecnologia a ser aplicada. Para isso 
é necessário gerenciá-lo de forma eficiente. 
 
Com base nesta definição, assinale a alternativa correta que corresponde aos aspectos 
fundamentais da Engenharia de Requisitos: 
A Controle de mudanças, Gerência da configuração, Rastreabilidade e Garantia da 
qualidade; 
 
Conforme abordado na aulas, a Crise do Software refere-se a um conjunto de 
problemas encontrados no desenvolvimento de software. 
Com relação à Crise do Software, analise atentamente as afirmativas abaixo: 
I. As estimativas de custo e prazo na maioria das vezes são precisas; 
 
II. A qualidade de software geralmente é adequada; 
 
III. A produtividade das pessoas da área de software não tem acompanhado a demanda por seus 
serviços; 
 
IV. O software existente é muito difícil de manter. 
 
Com base nas afirmativas acima, assinale a alternativa correta: 
 
C As afirmativas III e IV referem-se a problemas relacionados à Crise do Software; 
 
Questão 4/10 
 
Considereas seguintes informações sobre diagramas de classes e diagramas de objetos da 
UML, utilizados na modelagem orientada a objetos: 
I - Um diagrama de objetos possui apenas dois compartimentos (nome e atributos). 
II - Um diagrama de classes possui três compartimentos (nome, atributos e operações). 
III. O formato para o nome de um objeto é nome-objeto:nome-classe. 
D I, II e III. 
Sobre as afirmações, está correto o contido em: 
 
Questão 6/10 
 
O Gerenciamento de Requisitos estabelece quais funções são requeridas pelo sistema e as restrições sobre a operação e o 
desenvolvimento do sistema. 
 
Para implementar uma gerência de requisitos eficaz é necessário: 
 
A Definir um conjunto de políticas. 
B Definir um conjunto de objetivos para o processo de gerência. 
C Que todos os artefatos (documentos) produzidos durante o desenvolvimento do software tornem a gerência dos 
requisitos visível e transparente. 
 
D Todas as alternativas estão corretas. 
 
Questão 7/10 
 
 
 
 
 
 
 
 
 
 
 
 Questão 9/10 
Considere que você trabalhe em uma empresa de desenvolvimento de software e que a empresa tenha decidido desenvolver 
um novo editor de texto para colocar no mercado. Esse editor deve ser um software que forneça recursos adicionais de apoio 
à autoria, embasado no estilo de escrita do usuário, o que o torna um software de funcionalidade mais complexa. Considere 
que a empresa deseje disponibilizar o produto no mercado em versões que agreguem esse suporte de forma gradativa, 
fazendo análise de risco para avaliar a viabilidade de desenvolvimento de uma nova versão. Tendo de escolher um modelo de 
processo para desenvolver esse editor, e conhecendo as características dos modelos existentes, entre os modelos abaixo, 
qual é o modelo apropriado para esse caso? 
B Espiral 
 
Questão 10/10 
 
Engloba as melhores características do ciclo de vida Clássico e da Prototipação, adicionando um novo elemento: a Análise de 
Risco. Segue a abordagem de passos sistemáticos do Ciclo de Vida Clássico incorporando-os numa estrutura iterativa que 
reflete mais realisticamente o mundo real e usa a Prototipação, em qualquer etapa da evolução do produto, como mecanismo 
de redução de riscos. Este modelo é: 
 
B Espiral. 
 
Questão 1/10 
 
Representam um conjunto de informações, ou seja, elementos de dados que caracterizam um objeto. 
 
Na análise orientada a objetos esta descrição correspode a: 
A Atributos. 
Questão 2/10 
 
O Gerenciamento de Requisitos é uma importante atividade do processo de desenvolvimento de 
 
software. Quanto ao objetivo do gerencimento de requisitos é correto afirmar que: 
 
A Estabelece quais funções são requeridas pelo sistema e as restrições sobre a operação e o 
desenvolvimento do sistema. 
Questão 4/10 
 
Analise a figura abaixo e responda. 
 
Qual o tipo de relacionamento existente entre os atores? 
 
 
Qual o tipo de relacionamento existente entre os atores? 
Generalização. 
Questão 5/10 
 
O Gerenciamento de Requisitos estabelece quais funções são requeridas pelo sistema e as restrições sobre a operação e o 
desenvolvimento do sistema. 
Para implementar uma gerência de requisitos eficaz é necessário: 
A Definir um conjunto de políticas. 
B Definir um conjunto de objetivos para o processo de gerência. 
C Que todos os artefatos (documentos) produzidos durante o desenvolvimento do software tornem a gerência dos 
requisitos visível e transparente. 
D Todas as alternativas estão corretas. 
Questão 6/10 
 
Podemos dividir a Engenharia de Software em algumas categorias. 
Assinale a alternativa que contempla a separação correta: 
B Métodos, Ferramentas e Procedimentos. 
Questão 8/10 
 
Análise Essencial é o modelo do que o sistema tem que fazer, de forma a satisfazer os requisitos do utilizador, com o mínimo 
possível de informação sobre como o sistema deve ser implementado. 
C Fluxograma 
Questão 2/10 
 
Conforme visto nas aulas, três tipos de análises podem ser utilizadas durante o desenvolvimento de um projeto de 
software, sendo elas, Análise Estruturada, Análise Essencial e Análise Orientada a Objetos: 
Com base nestes conceitos, assinale a alternativa correta que corresponde às ferramentas utilizadas na Análise 
 
Essencial: 
E Lista de Eventos, DFD, DER, DTE, Normalização, Miniespecificações e Dicionário de Dados. 
Questão 3/10 
 
O Diagrama de Casos de Uso da UML descreve o que o sistema faz do ponto de vista do observador externo, ajudando a 
esclarecer os requisitos do sistema e a dividir o desenvolvimento do sistema em tarefas. 
De acordo com a definição apresentada acima, assinale a alternativa correta que corresponde aos tipos de relacionamento 
entre os casos de uso: 
D Include, Extend, Generalization; 
Questão 6/10 
 
A Prototipação é o processo que possibilita que o desenvolvedor crie um modelo do software que deve ser construído. 
Com relação à Prototipação, analise atentamente as afirmativas abaixo: 
I. Entrega do protótipo; 
 
II. Projeto rápido; 
 
III. Obtenção dos requisitos; 
 
IV. Refinamento dos requisitos e construção do produto; 
 
V. Testes do protótipo. 
Com base nas afirmativas acima, assinale a alternativa que correspondem a atividades da Prototipação: 
A São atividades relacionadas à Prototipação as atividades apresentadas nas afirmativas I, II e V; 
B São atividades relacionadas à Prototipação as atividades apresentadas nas afirmativas II, III e IV; 
Conforme apresentado nos slides 45/56 ao 47/56 da Aula 01, as seguintes atividades fazem parte da Prototipação: 
 Obtenção de requisitos; 
 
 Projeto rápido; 
 
 Construção do protótipo; 
 
 Avaliação do protótipo; 
 
 Refinamento dos requisitos; 
 Construção do protótipo. 
 
Questão 7/10 
 
Diagramas de Sequência da UML descrevem as interações entre as classes através das trocas de mensagens ao logo do 
tempo. 
De acordo com a definição apresentada acima, assinale a alternativa correta que corresponde aos componentes de um 
diagrama de sequência: 
E Objetos, Mensagens e Tipos de Mensagens. 
Questão 8/10 
 
Diagramas de Estado da UML mostram uma máquina contendo estados, transições, eventos e atividades. Estes diagramas 
são usados para modelar o comportamento de objetos. 
De acordo com a definição apresentada acima, assinale a alternativa correta que corresponde aos componentes de um 
diagrama de estado: 
A Estado Inicial, Estado Final e Estado Intermediário; 
Questão 9/10 
 
O surgimento de sistemas de software complexos resultou na necessidade de reavaliar a forma de desenvolver sistemas. As 
técnicas têm evoluído de forma impressionante, notavelmente no que tange à modelagem de sistemas. 
Questão 10/10 
 
A Orientação a Objetos surgiu no final da década de 60, quando dois cientistas dinamarqueses criaram a linguagem Simula 
(Simulation Language), sendo assim introduzido os conceitos de classe e herança. 
Com relação a esta definição, assinale a alternativa correta que corresponde a definição de Classe na orientação a objetos: 
E É um tipo definido pelo usuário que contém o molde, a especificação para os objetos. 
Questão 1/10 
 
Uma das atividades primordiais do processo de desenvolvimento de software em geral - e da Análise de Sistemas 
em particular - diz respeito à especificação de Requisitos do software, conforme apresentado na aula 04.Com 
relação a requisistos é correto afirmar que: 
 
São descrições dos principais recursos de um produto de 
 A software, seu fluxo de informações, comportamento e 
atributos. 
 
B Fornecem uma estrutura básica para o desenvolvimento de um produto de software. 
 
Estabelecem quais funções são requeridas pelo sistema e 
 
 D As alternativas A e B estão corretas 
Questão 2/10 
 
O Gerenciamento de Requisitos é uma importante atividade doprocesso de desenvolvimento de software.Quanto ao 
objetivo do gerencimento de requisitos é correto afirmar que: 
Estabelece quais funções são requeridas pelo sistema e as 
A restrições sobre a operação e o desenvolvimento do 
sistema. 
Questão 3/10 
O Gerenciamento de Requisitos estabelece quais funções são requeridas pelo sistema e as restrições sobre a 
operação e o desenvolvimento do sistema. 
Para implementar uma gerência de requisitos eficaz é necessário: 
 A Definir um conjunto de políticas. 
 
B Definir um conjunto de objetivos para o processo de gerência. 
 
Que todos os artefatos (documentos) produzidos durante o 
 C desenvolvimento do software tornem a gerência dos 
requisitos visível e transparente. 
 
 D Todas as alternativas estão corretas. 
 
Questão 4/10 
 
O rastreamento de requisitos é indispensável para o processo de revisão dos requisitos e dos documentos da Análise 
de Sistemas.Quais são os tipos de Rastreamento geralmente utilizados na Gerência de Requisitos? 
Rastreamento de origem, Associação entre requisitos 
 dependentes e Associação dos requisitos com o projeto. 
Questão 5/10 
 
A Gerência de Configuração está comumente associada a dois tipos de tarefas de grande importância. São estas 
tarefas: 
 
 B Controle de versões e controle de configuração. 
Questão 6/10 
 
A evolução do processo de análise de sistemas resultou no surgimeno de vários modelos. Um destes modelos criou o 
conceito de um tipo de dado com uma estrutura e operações para manipular esta estrutura.Este modelo de análise de 
sistemas é conhecido como: 
 D Análise Orientada a Objetos. 
 
Questão 7/10 
 
Representam um conjunto de informações, ou seja, elementos de dados que caracterizam um objeto. 
Na análise orientada a objetos esta descrição correspode a: 
A Atributos. 
 
 
Questão 4/10 
O estudo de viabilidade é o que indica se o esforço em desenvolver a ideia vale a pena. 
 
A Visa tanto a tomada de decisão e também a sugestão de possíveis alternativas de solução. 
 
Questão 5/10 
Requisito é uma sentença identificando uma capacidade, uma característica física ou um fator de qualidade que limita 
um produto ou um processo. 
 A Correspondem à lista de todas as coisas que o sistema deve fazer. 
 
Questão 6/10 
Requisito é uma sentença identificando uma capacidade, uma característica física ou um fator de qualidade que limita 
um produto ou um processo. 
 
 São descrições dos principais recursos de um produto de software, seu fluxo de informações, comportamento e 
atributos.
 
 
Questão 7/10 
Estabelece quais funções são requeridas pelo sistema e as restrições sobre a operação e o desenvolvimento do 
sistema. Objetiva fornecer métodos para compreender a natureza de um problema e estabelecer com exatidão o que 
um sistema deve fazer. 
 
 C Gerenciamento de Requisitos. 
 
Questão 8/10 
Rastreamento de Requisitos é responsável por dependências entre requisitos, suas origens e projeto do sistema. 
 D Todas as alternativas apresentadas. 
 
 
 
 
Prova Analise de Sistemas Corrigida 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Questão 1/10 - Análise de Sistemas 
Conforme abordado na Aula 06, a Unified Modelling Language (UML) é uma linguagem ou notação de diagramas 
para especificar, visualizar e documentar modelos de software orientados por objetos. Com relação aos diagramas 
da UML, analise atentamente a definição apresentada abaixo: 
 
Uso obrigatório: Toda vez que o caso de uso A for executado, obrigatoriamente o caso de uso B também deve ser 
executado. 
Assinale a alternativa correta que se refere a esta afirmação, no que tange a casos de uso: 
 
A Include; 
Questão 2/10 - Análise de Sistemas 
A Engenharia de Software se preocupa em sistematizar o desenvolvimento através de modelos, técnicas e 
ferramentas para o produto e para o processo, de modo que podemos dividi-la em algumas categorias. 
Assinale a alternativa correta que apresenta estas divisões da Engenharia de Software: 
 
D Métodos, Ferramentas e Procedimentos; 
Questão 3/10 - Análise de Sistemas 
Conforme abordado na Aula 03, a Engenharia de Software se preocupa em sistematizar o desenvolvimento através 
de modelos, técnicas e ferramentas para o produto e para o processo. 
Sobre a engenharia de software, analise atentamente as afirmativas abaixo: 
 
I. Atualmente todos os problemas na construção de software de alta qualidade no prazo e dentro do orçamento foram 
solucionados; 
II. Ao longo dos últimos 50 anos, o software evoluiu de um produto de indústria para um ferramental especializado 
em solução de problemas e análise de informações específicas; 
III. Todo projeto de software é iniciado por alguma necessidade do negócio; 
IV. O intuito da engenharia de software é fornecer uma estrutura para a construção de software com alta qualidade. 
Com base nas afirmativas acima, assinale a alternativa correta: 
 
A Estão corretas somente as afirmativas III e IV; 
Questão 4/10 - Análise de Sistemas 
Com relação a Análise Orientada a Objetos, abordada na Aula 5, análise atentamente a definição apresentada 
abaixo: 
 
Foi apresentada em 1996 como a melhor candidata para ser a linguagem unificadora de notações. Foi aprovada 
como padrão pela OMG e desde então tem tido grande aceitação. Atualmente está na versão 2.0. 
Assinale a alternativa correta que corresponde a qual conceito a definição apresentada acima se refere: 
 
E Unified Modeling Language – UML. 
Questão 5/10 - Análise de Sistemas 
Com relação ao conteúdo abordado na Aula 04, analise atentamente as definições apresentadas abaixo. 
 
Estabelece quais funções são requeridas pelo sistema e as restrições sobre a operação e o desenvolvimento do 
sistema. Objetiva fornecer métodos para compreender a natureza de um problema e estabelecer com exatidão o que 
um sistema deve fazer. 
Com base nos conceitos apresentados acima, assinale a alternativa correta que corresponde à qual fase da 
Engenharia de Software que eles correspondem: 
 
A Gerenciamento de Requisitos; 
Questão 6/10 - Análise de Sistemas 
Conforme abordado na Aula 03, a Engenharia de Software se preocupa em sistematizar o desenvolvimento através 
de modelos, técnicas e ferramentas para o produto e para o processo. 
Com base nos conceitos apresentados acima, assinale a alternativa correta que corresponde a como um Ferramenta 
CASE pode ser utilizada na Engenharia de Software: 
 
D apoio automatizado aos processos de software e fornecimento de informações sobre o software que está sendo desenvolvido;
Questão 7/10 - Análise de Sistemas 
Conforme abordado na Aula 1, em Projetos de Software há ferramentas e frameworks que integram todo o processo 
de desenvolvimento de software. 
Dentre estes frameworks, assinale a alternativa correta que corresponde a um dos frameworks mais utilizados hoje 
como forma de padronização e qualidade: 
 
E UML. 
Questão 8/10 - Análise de Sistemas 
Em um ambiente real de desenvolvimento de software mudanças são inevitáveis. Em muitos dos casos os requisitos 
do sistema mudam enquanto o sistema ainda está sendo desenvolvido. 
Com base na situação apresentada acima, assinale a alternativa correta, que corresponde ao tipo de controle utilizado 
para gerenciamento deste tipo de situação: 
 
B Controle de Mudança; 
Questão 9/10 - Análise de Sistemas 
Uma das atividades primordiais do processo de desenvolvimento de software em geral e da Análise de Sistemas em 
particular, diz respeito à especificação de Requisitos do software, conforme apresentado na aula 04, e o 
Gerenciamento de Requisitos é uma importante atividade do processo de desenvolvimento de software. 
Quanto ao objetivo do gerenciamento de requisitos écorreto afirmar: 
 
B Estabelece quais funções são requeridas pelo sistema e as restrições sobre a operação e o desenvolvimento do sistema;
Questão 10/10 - Análise de Sistemas 
De acordo com o que foi abordado na Aula 03, o estudo de viabilidade é o que indica se o esforço em desenvolver 
a ideia vale a pena. 
Com relação ao estudo de viabilidade, assinale a alternativa correta: 
 
B Visa tanto a tomada de decisão e também a sugestão de possíveis alternativas de solução;

Outros materiais