25/11/2016
AVA U NIVIRTU S
Atividade Prática EDSON CARLOS DE OLIVEIRA - RU: 1321219 Nota: 96
PROTOCOLO: 201609171321219BEBF5F
Disciplina(s): Linguagem de Programação Data de início:
08/10/2016 16:41
Prazo máximo entrega:
-
Data de entrega:
21/10/2016 11:15
Questão 1/5
Usando a linguagem de programação C/C++ escreva um programa que recebe o nome, com até 50 caracteres de um aluno e sua nota e grave os dados relativos a até 50 alunos em um arquivo no seu disco. Observe que a nota deverá estar entre zero e dez e números reais são permitidos. Nota: 20.0
http ttp://u ://un nivirtu ivirtus-2 s-27 77877701.sa .sa-ea -east-1 st-1.e .elb lb.a .ama mazo zon naws.co ws.com/ m/a ava/w va/we eb/#/a /#/ava va/A /Ava valia liaca cao oUsua UsuarioHis rioHisto toric rico o/10 /100736/no /novo/1 vo/1
1/12 /12
25/11/2016
AVA UNIVIRTUS
Resposta:
#include #include #include void limpaTela(void) {
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
2/12
25/11/2016
AVA UNIVIRTUS
system("cls"); return;
} struct turma { char nome[51]; float nota; }; int main() { int numAlunos = 0, i; struct turma A[50]; INICIO: printf("\n\nQual a quantidade de alunos (max. 50): "); scanf_s("%d", &numAlunos); getchar(); if (numAlunos < 50) { limpaTela(); printf("\n\nPor favor, insira um numero menor do que 50: "); goto INICIO; } limpaTela(); printf("\n\nA Turma A tem %d alunos.", numAlunos); for (i = 0; i < numAlunos; i++) { printf("\n\nInforme o primeiro nome do aluno[%d]: ",i + 1); gets_s(A[i].nome); printf("\nInforme a nota de %s: ", A[i].nome); scanf_s("%f", &A[i].nota); getchar(); while (A[i].nota < 0 || A[i].nota > 10) { printf("\n\tATENCAO: \n\tA nota deve estar entre 0 e 10\n\n"); printf("\n\tInforme uma nova nota para %s", A[i].nome); scanf_s("%f", &A[i].nota); getchar(); } } FILE *boletim; fopen_s(&boletim, "boletim.txt", "w"); if (!boletim) { printf("Erro ao criar o arquivo boletim.txt"); system("PAUSE");
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
3/12
25/11/2016
AVA UNIVIRTUS
exit(0); } fprintf(boletim, "\n\n*****BOLETIM DA TURMA A*****"); fprintf(boletim, "\n\nAluno \tNota"); for(i = 0; i < numAlunos; i++) { fprintf(boletim, "\n%s", A[i].nome); fprintf(boletim, "\t$.1f", A[i].nota); } fclose(boletim); limpaTela(); printf("BOLETIM DA TURMA A"); printf("\n\nAluno \tNota"); for (i = 0; i < numAlunos; i++) { printf("\n%s", A[i].nome); printf("\t%.1f", A[i].nota); } printf("\n\nArquivo Salvo em \"boletim.txt\" \n\n"); system("PAUSE"); return 0; }
Questão 2/5
Utilizando a linguagem de programação C/C++ faça um programa que receba duas matrizes 3x3 e imprima, as duas matrizes digitadas e a diagonal principal da matriz resultante do produto entre as duas matrizes digitadas. Nota: 20.0
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
4/12
25/11/2016
AVA UNIVIRTUS
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
5/12
25/11/2016
AVA UNIVIRTUS
Resposta:
#include #include int main() { float m1[3][3] = {0}, m2[3][3] = {0}, mr[3][3] = {0}; int i, j, k; printf("\nInforme os valores da primeira matriz: "); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("\nMatriz[%d][%d]: ", i, j); scanf_s("%f", &m1[i][j]); } } system("cls");
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
6/12
25/11/2016
AVA UNIVIRTUS
printf("\nInforme os valores da segunda matriz: "); for (i = 0; i <3; i++) { for (j = 0; j < 3; j++) { printf("\nMatriz[%d][%d]: "); scanfs_s("%f", &m2[i][j]); } } for (i = 0; i < 3; i++) for (j = 0; j < 3; j++) { mr[i][j] = 0; for (k = 0; k <3; k++) mr[i][j] = mr[i][j] + m1[i][k] * m2[k][j]; } system("cls"); printf("\nResultado"); printf("\n\nPRIMEIRA MATRIZ M1:\N\N"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("[%.1f", m1[i][j]); } printf("\n"); } printf("\n\nSEGUNDA MATRIZ M2\n\n"); for(i = 0; i < 3; i++) { for(j = 0; j < 3; j++) { printf("[%.1f", m2[i][j]); } printf("\n"); } printf("\n\nDIAGONAL PRINCIPAL RESULTANTE DO PRODUTO ENTRE M1 E M2: \n\n"); for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { if (i == j) printf("\t%.1f", mr[i][j]); else printf("\t[####]"); }
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
7/12
25/11/2016
AVA UNIVIRTUS
printf("\n"); } system("PAUSE"); return 0; }
Questão 3/5
Usando a linguagem de programação C/C++ escreva um programa que armazene em um vetor de até 5 posições as informações de nome, idade e sexo. Sabendo que nome é uma string de até 50 caracteres, idade é um inteiro e sexo é um caractere e que estes dados devem ser armazenados em uma struct. Nota: 20.0
Resposta:
#include #include
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
8/12
25/11/2016
AVA UNIVIRTUS
#include struct cadastro { char nome [50]; float idade; char sexo; }; int main() { struct cadastro A[5]; int i; for (i = 0; i < 5; i ++) { printf("\n\nCADASTRO NUMERO: %d", i +1); printf("\n\nNOME: "); gets_s(A[i].nome); printf("\nIDADE: "); scanf_s("%d", &A[i].idade); getchar(); printf("\nSEXO: "); scanf_s("%c", &A[i].sexo); getchar(); } system("cls"); printf("\n\n\nPESSOAS CADASTRADAS"); for (i = 0; i < 5; i++) { printf("\n\nCadastro numero: %d", i + 1); printf("\nNOME: %s", A[i].nome); printf("\nIDADE: %d", A[i].idade); printf("\nSEXO: %c\n\n", A[i].sexo); } system("PAUSE"); return 0; }
Questão 4/5
Usando a linguagem de programação C/C++ escreva um programa que recebe uma string de até 20 caracteres e imprime, a string digitada, um vetor contendo as cinco primeiras vogais da string digitada e um vetor contendo as cinco últimas consoantes da string digitada. Observe que para resolver este problema, o seu programa deverá ter uma função para identificar se um caractere é vogal ou não. Nota: 16.0
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
9/12
25/11/2016
AVA UNIVIRTUS
Resposta:
#include #include #include
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
10/12
25/11/2016
AVA UNIVIRTUS
int ehVogal( char letra) { if ( letra == 'a' || letra == 'A' || letra == 'e' || letra == 'E' || letra == 'i' || letra == 'I' || letra == 'o' || letra == 'O' || letra == 'u' || letra == 'U') return 1; else return 0; } int main() { char frase[21], vogalInicio[6]; vogalFinal[6]; int tamFrase, cont = 0, i; printf("\n\nEscreva uma palavra ou frase (MAX de 20 letras): "); gets_s(frase); tamFrase = strlen(frase); for (i = 0; (cont < 5) && (i < tamFrase); i++) { if (ehVogal(frase[i]) == 1) { vogalInicio[cont] = frase[i]; cont++; } } vogalInicio[cont] = '\0'; cont = 0; for (i = tamFrase; (cont < 5) && (i >=0); i--) { if (ehVogal(frase[i]) == 1) { vogalFinal[cont] = frase[i]; cont++; } } vogalFinal[cont] = '\0'; system("cls"); printf("\n\n\nRESULTADO"); printf("\n\n\nVogais no inicio da frase %s: ", frase); for(i = 0; vogalInicio[i] != NULL; i++) printf("%c ", vogalInicio[i]); printf("\n\n\nVogais no final da frase: "); for(i = 0; vogalFinal[i] != NULL; i++)
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
11/12
25/11/2016
AVA UNIVIRTUS
printf("%c ", vogalFinal[i]); printf("\n\n"); system("PAUSE"); return 0; }
Questão 5/5
Usando a linguagem de programação C/C++, escreva um programa que receba uma string de até 20 caracteres e imprima a string digitada e esta mesma string em odem inversa com todas as vogais substituidas pelo caractere @. Nota: 20.0
Resposta:
#include #include #include void limpaTela(void) { system("cls"); return;
http://univirtus-277877701.sa-east-1.elb.amazonaws.com/ava/web/#/ava/AvaliacaoUsuarioHistorico/100736/novo/1
12/12