Baixe o app para aproveitar ainda mais
Prévia do material em texto
goo.gl/bMuAz5 Bubble sort - Santo Amaro - 10/04/2018 - noite #include<stdio.h> #include<stdlib.h> #include<conio.h> main(){ int vetor[5], i, j; for(i=0;i<=4;i++){ printf("Vetor[%d] = ",i); scanf("%d",&vetor[i]); } for(j=3;j>=0;j--){ for(i=0;i<=j;i++){ if(vetor[i]>vetor[i+1]){ int aux = vetor[i]; vetor[i] = vetor[i+1]; vetor[i+1] = aux; } } } printf("\nVetor Ordenado:\n\n"); for(i=0;i<=4;i++){ printf("Vetor[%d] = %d\n",i,vetor[i]); } getch(); } Endereço dos exercícios = goo.gl/bMuAz5 Endereço do material de apoio - goo.gl/8HoXcd Sala 727 D - Barra Funda - Terça-Feira - Manhã - dia 10/04/2018 54) Faça um programa no qual o usuário digite um número e o programa faz a soma e exibe o resultado. Crie três variáveis criadas dinamicamente, sendo uma para o primeiro número, outra para o segundo número e uma terça para o resultado. #include<stdio.h> #include<conio.h> main(){ int *num1, *num2, *result; num1 = (int *) malloc(sizeof(int)); num2 = (int *) malloc(sizeof(int)); result = (int *) malloc(sizeof(int)); printf("Digite um numero: "); scanf("%d",num1); printf("Digite outro numero: "); scanf("%d",num2); *result = (*num1) + (*num2); printf("Resultado => %d",*result); getch(); } 55) Faça um programa para calcular a área de um quadrado utilizando variáveis criadas dinamicamente. 56) Faça um programa para informar o IMC de uma pessoa com variáveis criadas dinamicamente. 57) Faça um programa que informe se um aluno está aprovado ou reprovado com base na média. Para ser aprovado a média deve ser maior ou igual a 6. A média é calculada com base em duas notas informadas pelo usuário. Utilize variáveis criadas dinamicamente. 58) (Desafio) Faça um programa que peça para o usuário digitar um número em uma variável criada dinamicamente . Caso o valor digitado pelo usuário seja diferente de “0” (zero), o programa deve criar outra variável e o usuário digitará novamente um valor. O processo se repetirá até que seja digitado o número zero. O programa deverá informar quantas variáveis foram criadas e quais endereços foram alocados. (OBS: O endereço das variáveis poderão ser alocados em um vetor de ponteiros para inteiros com 100 posições). Sala 233 B - Santo Amaro - Segunda-Feira - Noite- dia 09/04/2018 27) Faça um algoritmo no qual o usuário digite 5 números em um vetor depois peça para o usuário pesquisar se o número existe ou não no vetor. O programa deve informar em qual índice do vetor o número foi localizado. #include<stdio.h> #include<conio.h> #include<locale.h> main(){ setlocale(LC_ALL,"Portuguese"); int vetor[5],i,npesquisa; printf("Digite 5 números em no vetor!!!\n\n"); for(i=0;i<=4;i++){ printf("Digite vetor[%d] = ",i); scanf("%d",&vetor[i]); } printf("Digite um número para pesquisar: "); scanf("%d",&npesquisa); for(i=0;i<=4;i++){ if(vetor[i]==npesquisa) { break; } } if(i>4){ printf("Não encontrou!"); }else{ printf("Encontrou no indice %d!",i); } getch(); } 28) Crie um programa com uma estrutura chamada aluno com os seguintes campos: RA, Nome, Curso, CPF. O usuário realizará o cadastro de um aluno e o sistemas simplesmente exibirá os dados cadastrados. #include<stdio.h> #include<conio.h> struct aluno{ int ra; char nome[20]; } main(){ struct aluno a; printf("Digite o RA do aluno: "); scanf("%d",&a.ra); printf("Digite o NOME do aluno: "); fflush(stdin); gets(a.nome); printf("\nO seguinte aluno foi cadastrado:\n"); printf("RA...: %d\n",a.ra); printf("NOME.: %s",a.nome); getch(); } Sala 726 D - Barra Funda - Quinta-Feira - Manhã - dia 29/03/2018 54) Faça desenhar um “zig zag” na tela contínuo em linguagem C. #include<stdio.h> #include<conio.h> #include<locale.h> main(){ setlocale(LC_ALL,"Portuguese"); for(;;){ usleep(100000); printf("#\n"); usleep(100000); printf(" #\n"); usleep(100000); printf(" #\n"); usleep(100000); printf(" #\n"); usleep(100000); printf(" #\n"); usleep(100000); printf(" #\n"); usleep(100000); printf(" #\n"); usleep(100000); printf(" #\n"); usleep(100000); printf(" #\n"); usleep(100000); printf(" #\n"); usleep(100000); printf(" #\n"); usleep(100000); printf(" #\n"); usleep(100000); printf("#\n"); usleep(100000); } getch(); } Sala 727 D - Barra Funda - Terça-Feira - Manhã - dia 03/04/2018 53) Faça um programa no qual o usuário digite um número e o programa informa se o número é primo ou não. #include<stdio.h> #include<locale.h> #include<conio.h> main(){ setlocale(LC_ALL,"Portuguese"); int num,i,qtd_divisores=0; printf("Digite um número: "); scanf("%d",&num); if( num%2==0 && num!=2){ printf("Número não é primo!!!"); }else{ for(i=num; i>=1; i--){ if(num % i==0){ qtd_divisores++; if (qtd_divisores==3){ break; } } } if(qtd_divisores==2){ printf("É primo!!!"); }else{ printf("Não é primo!!!"); } } getch(); } Sala 726 D - Barra Funda - Quinta-Feira - Manhã - dia 29/03/2018 53) Faça o jogo do batalha naval em linguagem C. For para exibir os caracteres da tabela ASCII. for(i=0;i<=255;i++) printf("%d - %c\n",i,i); #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ int oceano[5][4],i,j; int qtd_tentativas=2; int barco=1, qtd_barcos=3; setlocale(LC_ALL,"Portuguese"); for(i=0;i<=4;i++){ for(j=0;j<=3;j++){ oceano[i][j]=0; } } printf("### Jogador 1 ###\n\n"); printf("Cadastrado dos barcos:\n"); do{ printf("\nBarco %d\n",barco); printf("Linha...:"); scanf("%d",&i); printf("Coluna..:"); scanf("%d",&j); oceano[i][j]=1; barco++; }while(barco<=qtd_barcos); printf("Cadastrado com sucesso!\n\n"); system("pause"); system("cls"); printf("### Jogador 2 ###\n\n"); barco = 0; do{ printf("* Resta(m) %d tentativa(s)\n",qtd_tentativas); printf("Linha...: "); scanf("%d",&i); printf("Coluna..: "); scanf("%d",&j); if(oceano[i][j]==1){ printf("Você acertou!\n"); barco++; if (barco==qtd_barcos){ break; }else{ printf("Falta encontrar mais %d barco(s)\n\n",qtd_barcos-barco); } }else{ printf("Você errou!\n\n"); qtd_tentativas--; } }while(qtd_tentativas>0); if(qtd_tentativas>0){ printf("Jogador 2 ganhou!\n\n"); }else{ printf("Jogador 2 perdeu!\n\n"); } system("pause"); } 54) Faça o jogo da forca em linguagem C. Sala 727 D - Barra Funda - Terça-Feira - Manhã - dia 27/03/2018 47) Faça um programa que receba 4 números em um vetor e exiba os dados do último para o primeiro. #include<stdio.h> #include<conio.h> main(){ int vet[4],i; for(i=0;i<=3;i++){ printf("Digite vet[%d] = ",i); scanf("%d",&vet[i]); } printf("\nOs números digitados foram:\n"); for(i=3;i>=0;i--){ printf("Vet[%d] = %d\n",i,vet[i]); } getch(); } 48) Faça um programa no qual o usuário cadastre 5 números em um vetor de inteiros. Depois o usuário digite um número para pesquisar se existe no vetor ou não. #include<stdio.h> #include<conio.h> main(){ int vet[5],i,num; for(i=0;i<=4;i++){ printf("Digite vet[%d] = ",i); scanf("%d",&vet[i]);} printf("\nDigite o número para pesquisar:"); scanf("%d",&num); i=0; do{ if(vet[i]==num){ printf("Encontrado no indice %d\n",i); break; } i++; }while(i<=4); if(i==5){ printf("Não encontrou!"); } getch(); } 49) Faça um programa no qual o usuário cadastre 5 números em um vetor de inteiros. Depois o programa deve informar qual é o maior número do vetor. #include<stdio.h> #include<conio.h> main(){ int vet[5],i,maior; for(i=0;i<=4;i++){ printf("Digite vet[%d] = ",i); scanf("%d",&vet[i]); } i=0; maior = vet[0]; do{ if(vet[i]>maior){ maior = vet[i]; } i++; }while(i<=4); printf("O maior número é %d",maior); getch(); } 50) Faça um programa no qual o usuário cadastre 5 números em um vetor de inteiros. Depois o programa deve informar qual é a média aritméticas simples dos números presentes no vetor. #include<stdio.h> #include<conio.h> main(){ float vet[5],soma=0; int i; for(i=0;i<=4;i++){ printf("Digite vet[%d] = ",i); scanf("%f",&vet[i]); } i=0; do{ soma = soma + vet[i]; i++; }while(i<=4); printf("A media é %f",soma/5); getch(); } 51) Faça o programa que o usuário digite 3 números inteiros em um vetor e depois mais 3 números inteiros e outros vetor. O programa deve criar um terceiro vetor pegando o maior número de cada posição comparando o vetor 1 com o vetor 2. Exemplo: Vetor 1 => [ 5 , 9, 3] Vetor 2 => [ 1, 10, 7 ] Vetor 3 (resultado) = [ 5, 10, 7] #include<stdio.h> #include<stdlib.h> main(){ int i, vetor1[3],vetor2[3],vetor3[3]; printf("Digite os dados do vetor 1\n"); for(i=0;i<3;i++){ printf("Vetor1[%d] = ",i); scanf("%d",&vetor1[i]); } printf("\nDigite os dados do vetor 2\n"); for(i=0;i<3;i++){ printf("Vetor2[%d] = ",i); scanf("%d",&vetor2[i]); } for(i=0;i<=2;i++){ if (vetor1[i]>vetor2[i]){ vetor3[i]=vetor1[i]; }else{ vetor3[i]=vetor2[i]; } } printf("\nDados do vetor 3\n"); for(i=0;i<=2;i++){ printf("Vetor3[%d]= %d\n",i,vetor3[i]); } printf("\n\n"); system("pause"); } 52) Faça um programa no qual o usuário digite os dados em um vetor com 5 variáveis e depois apresente a soma dos números pares presente no vetor. #include<stdio.h> #include<conio.h> main(){ int vet[5],soma=0, i; for(i=0;i<=4;i++){ printf("Digite vet[%d] = ",i); scanf("%d",&vet[i]); } i=0; do{ if (vet[i]%2==0){ soma = soma + vet[i]; } i++; }while(i<=4); printf("A soma é %d",soma); getch(); } Sala 726 D - Barra Funda - Segunda-Feira - Manhã - dia 26/03/2018 51) Faça um programa que receba 4 números em um vetor e exiba os dados do último para o primeiro. #include<stdio.h> #include<conio.h> main(){ int numeros[4],i=0; do{ printf("Digite o número[%d]: ",i); scanf("%d",&numeros[i]); i++; }while(i<=3); for(i=3;i>=0;i--){ printf("%d ",numeros[i]); } getch(); } 52) Faça um programa no qual o usuário cadastre 5 números em um vetor de inteiros. Depois o usuário digite um número para pesquisar se existe no vetor ou não. #include<stdio.h> #include<conio.h> main(){ int numeros[5],i=0,num; do{ printf("Digite o número[%d]: ",i); scanf("%d",&numeros[i]); i++; }while(i<=4); printf("Pesquisar: "); scanf("%d",&num); for(i=0;i<=4;i++){ if(numeros[i]==num){ printf("Encontrado no indice %d",i); break; } } if(i==5){ printf("Não encontrado!",i); } getch(); } ----------------------------------------------------------------------------------------------------------- Sala 727 D - Barra Funda - Sexta-Feira - manhã - dia 23/03/2018 42) Faça um algoritmo utilizando "se" encadeado que informe o dia da semana com base em números. Exemplo: 2-segunda, 3-terça, 4-quarta, 5-quinta, 6-sexta, qualquer coisa diferente disso será exiba a mensagem "Inválido. (Faça em diagrama de blocos e português os seguintes exercícios.) 43) Faça o exercício 42 utilizando o comando de seleção "caso". Represente em diagrama de blocos e português estruturado. 44) Faça um algoritmo para exibir os números de 0 a 100 utilizando o laço de repetição repita. Faça em diagrama de blocos e português os seguintes exercícios. 45) Faça um algoritmo para exibir os números de 0 a 100 utilizando o laço de repetição enquanto. Faça em diagrama de blocos e português os seguintes exercícios. 46) Faça um algoritmo para exibir os números de 0 a 100 utilizando o laço de repetição for. Faça em diagrama de blocos e português os seguintes exercícios. ------------------------------------------------------------------------------------------------------ Sala 726 D - Barra Funda - Quinta-Feira - Noite - dia 20/03/2018 46) Faça um algoritmo utilizando "se" encadeado que informe o dia da semana com base em números. Exemplo: 2-segunda, 3-terça, 4-quarta, 5-quinta, 6-sexta, qualquer coisa diferente disso será exiba a mensagem "Inválido. (Faça em diagrama de blocos e português os seguintes exercícios.) 47) Faça o exercício 46 utilizando o comando de seleção "caso". Represente em diagrama de blocos e português estruturado. 48) Faça um algoritmo para exibir os números de 0 a 100 utilizando o laço de repetição repita. Faça em diagrama de blocos e português os seguintes exercícios. 49) Faça um algoritmo para exibir os números de 0 a 100 utilizando o laço de repetição enquanto. Faça em diagrama de blocos e português os seguintes exercícios. 50) Faça um algoritmo para exibir os números de 0 a 100 utilizando o laço de repetição for. Faça em diagrama de blocos e português os seguintes exercícios. ----------------------------------------------------------------------- Sala 232 B - Santo Amaro - Terça-Feira - Noite- dia 20/03/2018 21) Faça um programa que leia o nome de uma pessoa e depois simplesmente exiba o nome lido. #include<stdio.h> #include<stdlib.h> main(){ char nome[20]; printf("Digite um nome: "); fflush(stdin); gets(nome); printf("O nome digitado foi %s\n",nome); system("pause"); } 22) Faça um programa que leia o nome de uma pessoa e informe a quantidade de letras. #include<stdio.h> #include<stdlib.h> main(){ char nome[20]; int i=0; printf("Digite um nome: "); fflush(stdin); gets(nome); while(nome[i]!='\0'){ i++; } printf("O nome digitado tem %d letras\n",i); system("pause"); } 23) Faça um programa que leia o nome de uma pessoa e apresente o nome de trás para frente. #include<stdio.h> #include<stdlib.h> #include<string.h> main(){ char nome[20]; int i=0; printf("Digite um nome: "); fflush(stdin); gets(nome); for(i=strlen(nome)-1;i>=0;i--){ printf("%c",nome[i]); } printf("\n\n"); system("pause"); } 24) Faça um programa que leia o nome de uma pessoa e depois substitua as vogais por asterisco. #include<stdio.h> #include<stdlib.h> #include<string.h> main(){ char nome[20]; int i=0; printf("Digite um nome: "); fflush(stdin); gets(nome); for(i=0;i<=strlen(nome)-1;i++){ if(nome[i]=='a' ||nome[i]=='e' ||nome[i]=='i' ||nome[i]=='o' ||nome[i]=='u'){ nome[i] = '*'; } } printf("O nome e %s\n\n",nome); system("pause"); } ####Opção 2 de resposta##### #include<stdio.h> #include<stdlib.h> #include<string.h>main(){ char nome[20]; int i=0; printf("Digite um nome: "); fflush(stdin); gets(nome); for(i=0;i<=strlen(nome)-1;i++){ switch(nome[i]){ case 'a': case 'e': case 'i': case 'o': case 'u': nome[i] = '*'; } } printf("O nome e %s\n\n",nome); system("pause"); } 25) Faça o jogo da forca. O primeiro jogador castrada um nome e o segundo jogador informa as letras. Caso o segundo jogador comenta 4 erros será exibida a mensagem “Jogador 2 perdeu!”, caso complete a palavra será exibida a mensagem “jogador 2 venceu”. A resposta deste exercício não está completa, será dada em sala de aula #include<stdio.h> #include<stdlib.h> #include<string.h> main(){ char nome[20], letra, letrasTentadas[20]; int i=0,j=0; letrasTentadas[j]='\0'; printf("### Jogador 1 ###\n\n"); printf("Digite um nome: "); fflush(stdin); gets(nome); for(i=4;i>=1;i--){ system("cls"); printf("### Jogador 2 ###\n\n"); printf("Palavra: _ , _ , _ , _ , _\n"); printf("Nao tem: %s\n\n",letrasTentadas); printf("Digite digite uma letra (restam %d tentativas): ",i); scanf(" %c",&letrasTentadas[j]); j++; letrasTentadas[j] = '\0'; printf("\nNao encontrado!\n\n"); printf("\n\n"); system("pause"); } printf("\nVocê perdeu!\n\n"); system("pause"); } 26) Faça um programa que aborde os conceitos de ponteiros. #include<stdio.h> #include<stdlib.h> main(){ int *a, b=5; a = &b; *a = 8; printf("Conteudo de B = %d\n",b); printf("Endereco de B = %p\n",&b); printf("Conteudo de A = %p\n",a); printf("Endereco de A = %p\n",&a); printf("Resultado *A = %d\n",*a); *a = 10; printf("Conteudo de B = %d\n",b); system("pause"); } 27) Crie um programa em C no qual o usuário digite a idade de duas pessoas e apresente a soma. Crie as variáveis usando malloc. Exemplo #include<stdio.h> #include<stdlib.h> main(){ int *n; n = (* int) malloc(sizeof(int)); printf("Digite um numero:"); scanf("%d",n); system("pause"); } --------------------------------------------------------------------------------------------------------------------------- Sala 727 D - Barra Funda - Segunda-Feira - manhã - dia 20/03/2018 Exercícios propostos pelos grupos 40) (proposto pelo grupo A) Faça um programa em C que mostre o signo da pessoa com base no dia e mês do seu nascimento. Utilize o if/else. #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ int dia, mes; setlocale(LC_ALL,"Portuguese"); printf("### Programa Signo ###\n\n"); printf("Digite o dia/mes de nascimento: "); scanf("%d/%d",&dia,&mes); if(dia>=21 && mes==3 || dia<=20 && mes==4){ printf("Áries de 21/03 a 20/04"); }else if(dia>=21 && mes==4 || dia<=20 && mes==5){ printf("Touro de 21/04/ a 20/05"); }else if(dia>=21 && mes==5 || dia<=20 && mes==6){ printf("Gêmeos de 21/05 a 20/06"); }else if(dia>=21 && mes==6 || dia<=21 && mes==7){ printf("Câncer de 21/06 a 21/07"); }else if(dia>=22 && mes==7 || dia<=22 && mes==8){ printf("Leão de 22/07 a 22/08"); }else if(dia>=23 && mes==8 || dia<=22 && mes==9){ printf("Virgem de 23/08 a 22/09"); }else if(dia>=23 && mes==9 || dia<=22 && mes==10){ printf("Libra de 23/09 a 22/10"); }else if(dia>=23 && mes==10 || dia<=21 && mes==11){ printf("Escorpião de 23/10 a 21/11"); }else if(dia>=22 && mes==11 || dia<=21 && mes==12){ printf("Sagitário de 22/11 a 21/12"); }else if(dia>=22 && mes==12 || dia<=21 && mes==1){ printf("Capricórnio de 22/12 a 21/01"); }else if(dia>=22 && mes==1 || dia<=19 && mes==2){ printf("Aquário de 22/01 a 19/02"); }else if(dia>=20 && mes==2 || dia<=20 && mes==3){ printf("Peixes de 20/02 a 20/03"); }else{ printf("Data invalida!"); } printf("\n\n"); system("pause"); } 41) (proposto pelo grupo E) Faça um programa em C que informe a média escolar de 4 pessoas com base em duas notas. Utilize o while. #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ setlocale(LC_ALL,"Portuguese"); float nota1, nota2; int i=1; while(i<=4){ printf("Digite a nota1 da %dª pessoa: ",i); scanf("%f",¬a1); printf("Digite a nota2 da %dª pessoa: ",i); scanf("%f",¬a2); printf("A media foi %.2f\n\n",(nota1+nota2)/2); i++; } system("pause"); } 42) (proposto pelo grupo D) Faça um programa em C, que monte um quadrado de asteriscos de lado e comprimento 10, onde o meio tem que ser vazio, usando o loop for. #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ setlocale(LC_ALL,"Portuguese"); int i, j, tamQuad; printf("Digite o tamanho do quadrado: "); scanf("%d",&tamQuad); for(i=0;i<tamQuad;i++){ for(j=0;j<tamQuad;j++){ if(i==0 || i==tamQuad-1){ printf("*"); }else if (j==0 || j==tamQuad-1){ printf("*"); }else{ printf(" "); } } printf("\n"); } system("pause"); } 43) (proposto pelo grupo C) Criar um programa utilizando o comando Switch/Case que: Fornece ao usuário, logo no início do programa, duas possibilidades: verificar a cotação de três moedas (Real, Dólar e Euro) & realizar a conversão de valores usando a cotação destas moedas. O programa deve conter menu de entrada e tratativa de erro para opções inválidas. #include<stdio.h> #include<stdlib.h> #include<locale.h> float cotDolar, contEuro, valorReais; main(){ int opc; setlocale(LC_ALL,"Portuguese"); do{ system("cls"); printf("#### Casa de Cambio ####\n\n\n"); printf("O que deseja fazer:\n"); printf("1 - Atualizar valores de contacao\n"); printf("2 - Converter reais para dolares\n"); printf("3 - Converter reais para euros\n"); printf("4 - Sair\n\n"); printf("Opcao: "); scanf("%d",&opc); switch(opc){ case 1:{ system("cls"); printf("Digite o valor do dolar em reais: R$ "); scanf("%f",&cotDolar); printf("Digite o valor do euro em reais.: R$ "); scanf("%f",&contEuro); printf("Valores atualizados!\n"); break; } case 2:{ system("cls"); printf("### Reais para Dolares ###\n\n"); printf("Digite o valor em reais: $ "); scanf("%f",&valorReais); printf("R$ %.2f reais = $ %.2f dolares",valorReais,valorReais*cotDolar); break; } case 3:{ system("cls"); printf("### Reais para Euros ###\n\n"); printf("Digite o valor em reais: $ "); scanf("%f",&valorReais); printf("R$ %.2f reais = %.2f euros",valorReais,valorReais*cotDolar); break; } case 4:{ printf("Saindo...."); } } printf("\n\n"); system("pause"); }while(opc!=4); } 44) (proposto pelo grupo F) faça um programa da mega-sena em linguagem c que gere números aleatórios usando FOR . Usar função rand e biblioteca time.h #include<stdio.h> #include<stdlib.h> #include<locale.h> #include<conio.h> #include<time.h> main(){ int n1, n2, n3, n4, n5, n6, i, n, j=0; do{ for(i=1;i<=6;i++){ do{ n = rand()%60; }while(n==n1||n==n2||n==n3||n==n4||n==n5||n==n6); switch(i){ case 1: n1 = n; break; case 2: n2 = n; break; case 3: n3 = n; break; case 4: n4 = n; break; case 5: n5 = n; break; case 6: n6 = n; break; } } printf("Números sorteados: %d - %d - %d - %d - %d - %d\n\n",n1,n2,n3,n4,n5,n6); getch(); j++; }while(j<=5); } 45) (proposto pelo grupo B) Escreva um aplicativo em C mostra todos os números ímpares de 1 até 100. --------------------------------------------------------------------------------------------------------------------------- Sala 233 B - Santo Amaro - Segunda-Feira - Noite- dia 19/03/2018 21) Faça um programa queleia o nome de uma pessoa e depois simplesmente exiba o nome lido. #include<stdio.h> #include<stdlib.h> main(){ char nome[20]; printf("Digite um nome: "); fflush(stdin); gets(nome); printf("O nome digitado foi %s\n",nome); system("pause"); } 22) Faça um programa que leia o nome de uma pessoa e informe a quantidade de letras. #include<stdio.h> #include<stdlib.h> main(){ char nome[20]; int i=0; printf("Digite um nome: "); fflush(stdin); gets(nome); while(nome[i]!='\0'){ i++; } printf("O nome digitado tem %d letras\n",i); system("pause"); } 23) Faça um programa que leia o nome de uma pessoa e apresente o nome de trás para frente. #include<stdio.h> #include<stdlib.h> #include<string.h> main(){ char nome[20]; int i=0; printf("Digite um nome: "); fflush(stdin); gets(nome); for(i=strlen(nome)-1;i>=0;i--){ printf("%c",nome[i]); } printf("\n\n"); system("pause"); } 24) Faça um programa que leia o nome de uma pessoa e depois substitua as vogais por asterisco. #include<stdio.h> #include<stdlib.h> #include<string.h> main(){ char nome[20]; int i=0; printf("Digite um nome: "); fflush(stdin); gets(nome); for(i=0;i<=strlen(nome)-1;i++){ if(nome[i]=='a' ||nome[i]=='e' ||nome[i]=='i' ||nome[i]=='o' ||nome[i]=='u'){ nome[i] = '*'; } } printf("O nome e %s\n\n",nome); system("pause"); } ####Opção 2 de resposta##### #include<stdio.h> #include<stdlib.h> #include<string.h> main(){ char nome[20]; int i=0; printf("Digite um nome: "); fflush(stdin); gets(nome); for(i=0;i<=strlen(nome)-1;i++){ switch(nome[i]){ case 'a': case 'e': case 'i': case 'o': case 'u': nome[i] = '*'; } } printf("O nome e %s\n\n",nome); system("pause"); } 25) Faça o jogo da forca. O primeiro jogador castrada um nome e o segundo jogador informa as letras. Caso o segundo jogador comenta 4 erros será exibida a mensagem “Jogador 2 perdeu!”, caso complete a palavra será exibida a mensagem “jogador 2 venceu”. A resposta deste exercício não está completa, será dada em sala de aula #include<stdio.h> #include<stdlib.h> #include<string.h> main(){ char nome[20], letra, letrasTentadas[20]; int i=0,j=0; letrasTentadas[j]='\0'; printf("### Jogador 1 ###\n\n"); printf("Digite um nome: "); fflush(stdin); gets(nome); for(i=4;i>=1;i--){ system("cls"); printf("### Jogador 2 ###\n\n"); printf("Palavra: _ , _ , _ , _ , _\n"); printf("Nao tem: %s\n\n",letrasTentadas); printf("Digite digite uma letra (restam %d tentativas): ",i); scanf(" %c",&letrasTentadas[j]); j++; letrasTentadas[j] = '\0'; printf("\nNao encontrado!\n\n"); printf("\n\n"); system("pause"); } printf("\nVocê perdeu!\n\n"); system("pause"); } 26) Faça um programa que aborde os conceitos de ponteiros. #include<stdio.h> #include<stdlib.h> main(){ int *a, b=5; a = &b; *a = 8; printf("Conteudo de B = %d\n",b); printf("Endereco de B = %p\n",&b); printf("Conteudo de A = %p\n",a); printf("Endereco de A = %p\n",&a); printf("Resultado *A = %d\n",*a); *a = 10; printf("Conteudo de B = %d\n",b); system("pause"); } --------------------------------------------------------------------------------------------------------------------------- Sala 726 D - Barra Funda - Segunda-Feira - Manhã- dia 19/03/2018 Exercícios propostos pelos grupos 37) (proposto pelo grupo A) Com base na programação em C, crie um algoritmo que realize operações matemáticas tal como uma calculadora, onde a mesma deve realizar adição, subtração, divisão e multiplicação, fazendo também o uso do comando “while”, onde após o término de uma atividade o programa não se encerre. #include<stdio.h> #include<stdlib.h> main(){ float n1,n2; char op; for(;;){ printf("Digite a operação (P/sair digite \"!\"): "); scanf(" %c",&op); if(op=='!')break; printf("Digite o primeiro numero: "); scanf("%f",&n1); printf("Digite o segundo numero.: "); scanf("%f",&n2); switch(op){ case '+':{printf("Res: %.2f",n1+n2);break;} case '-':{printf("Res: %.2f",n1-n2);break;} case '*':{printf("Res: %.2f",n1*n2);break;} case '/':{printf("Res: %.2f",n1/n2);break;} default :{printf("Inválido");} } printf("\n\n"); } system("pause"); } 38) ( proposto pelo grupo C) Faça uma tabuada utilizando o laço de repetição for. #include<stdio.h> #include<stdlib.h> main(){ int num,i; do{ printf("Digite um número para a tabuada:"); scanf("%d",&num); if(num==0) break; for(i=1;i<=10;i++){ printf("%d X %d = %d\n",num,i,num*i); } }while(1); system("pause"); } 39) ( proposto pelo grupo E) Desenvolva um programa em linguagem C que informa se um número digitado é par ou ímpar, porém digitando 0 ele deverá sair do programa, utilize do while #include<stdio.h> #include<stdlib.h> main(){ int n; for(;;){ printf("Digite um numero (P/sair digite \"0\"): "); scanf("%d",&n); if(n==0)break; if(n%2==1){ printf("Impar"); }else{ printf("Par"); } printf("\n\n"); } system("pause"); } 40) ( proposto pelo grupo G) Desenvolva um algoritmo em C analisando o caso abaixo: A professora de Joãozinho estava com dificuldades para tirar a média geral da sala e informar quantos alunos estavam retidos e quantos foram aprovados no final de cada semestre, porém ela também precisava da média de cada aluno para informar em sua ficha final também se aquele aluno estava aprovado ou reprovado. Para resolver seu problema, foi sugerido que ela utilizasse um programa que iria informar todos os dados no qual ela precisava, sabendo que serão utilizadas duas notas (AV1,AV2) para tirar a média dos alunos. Desenvolva esse programa levando em consideração que ela irá utilizá-lo também com outras salas e as salas possuem quantidades diferentes de alunos. #include<stdio.h> #include<stdlib.h> main(){ int i; float n1, n2, qtdAluno, qtdReprovado=0.0; printf("Digite a quantidade de alunos: "); scanf("%f",&qtdAluno); for(i=1;i<=qtdAluno;i++){ printf("\n\nDigite a nota1 do aluno %d:",i); scanf("%f",&n1); printf("Digite a nota2 do aluno %d:",i); scanf("%f",&n2); if((n1+n2)/2<6){ printf("Reprovado!"); qtdReprovado++; } } printf("\n\nHouve %.2f %% de reprovação na sala\n\n",(qtdReprovado/qtdAluno)*100); system("pause"); } 41) ( proposto pelo grupo H) Faça um código que determine os dias da semana, utilizando o Switch e Case. #include<stdio.h> #include<stdlib.h> main(){ int dia; printf("Digite o dia da semana: "); scanf("%d",&dia); switch(dia){ case 2: printf("Segunda!");break; case 3: printf("Terça!");break; case 4: printf("Quarta!");break; case 5: printf("Quinta!");break; case 6: printf("Sexta!");break; case 7: printf("Sábado!");break; case 8: printf("Domingo!");break; default: printf("Opção inválida!"); } printf("\n\n"); system("pause"); } ------------------------------------------------------------------------------------------------------------------------------ Sala 232 B - Santo Amaro - Segunda-Feira - noite - dia 12/03/2018 20) Faça um programa no qual o usuário digite um nome e o programa informe quantas vogais o nome tem. ---------------------------------------------------------Sala 727 D - Barra Funda - Sexta-Feira - Manhã - dia 09/03/2018 38) Programa banco. Faça um programa no qual o usuário digite o valor do saldo na sequência o sistema pede para o usuário escolher uma das seguintes opções: 1 - Depósito 2 - Sacar 3 - Exibir saldo O programa deve permitir realizar o saque ou depósito e depois exibir o saldo atualizado. #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ setlocale(LC_ALL,"Portuguese"); int opcao; float saldo,saque,deposito; printf("Bem vindo ao Banco da China!\n\n"); printf("Digite o valor do saldo: "); scanf("%f",&saldo); printf("\n\nO que deseja fazer:\n"); printf("1 - Depósito\n"); printf("2 - Sacar\n"); printf("3 - Exibir saldo\n\n"); printf("Opção: "); scanf("%d",&opcao); switch(opcao){ case 1: { printf("Digite o valor do depósito: "); scanf("%f",&deposito); saldo = saldo + deposito; printf("Seu novo saldo é: %.2f",saldo); break; } case 2: { printf("Digite o valor do saque: "); scanf("%f",&saque); saldo = saldo - saque; printf("Seu novo saldo é: %.2f",saldo); break; } case 3: { printf("Seu saldo é: %.2f",saldo); break; } default:{ printf("Opção inválida!"); } } printf("\n\n\n"); system("pause"); } 39) Faça um programa utilizando switch/case para o menu de uma calculadora. Deverá ser exibido um menu com as seguintes opções: Programa calculadora Digite dois números: _4_ , _5_ O que deseja fazer: 1 - Somar 2 - Subtrair 3 - Multiplicar 4 - Dividir Opção:______ #include<stdio.h> #include<stdlib.h> main(){ float n1, n2, resultado; int opcao; printf("Programa calculadora\n\n\n"); printf("Digite dois números:\n"); scanf("%f %f",&n1,&n2); printf("O que deseja fazer:\n"); printf("1 - Somar\n"); printf("2 - Subtrair\n"); printf("3 - Multiplicar\n"); printf("4 - Dividir\n\n"); printf("Opção:"); scanf("%d",&opcao); switch(opcao){ case 1: { resultado = n1 + n2; printf("O resultado da soma é %.2f\n",resultado); break; } case 2: { resultado = n1 - n2; printf("O resultado da subtração é %.2f\n",resultado); break; } case 3: { resultado = n1 * n2; printf("O resultado da multiplicacão é %.2f\n",resultado); break; } case 4: { resultado = n1 / n2; printf("O resultado da divisão é %.2f\n",resultado); break; } default:{ printf("Opção invalida!"); } } system("pause"); } goo.gl/bMuAz5 Sala 726 D - Barra Funda - Quinta-Feira - Manhã - dia 08/03/2018 Exercícios 32) Faça um programa para calcular o IMC e informa se uma pessoas está abaixo do peso, no peso ideal , ou acima do peso. Resposta: #include<stdio.h> #include<stdlib.h> #include<math.h> main(){ float imc,altura,peso; printf("Digite seu peso...: "); scanf("%f",&peso); printf("Digite sua altura.: "); scanf("%f",&altura); imc = peso/pow(altura,2); if(imc>=0 && imc<18.5){ printf("Abaixo do peso!"); }else if(imc>=18.5 && imc<25.0){ printf("Peso ideal!"); }else if(imc>=25.0 && imc<30.0){ printf("Levemente acima do peso!"); }else if(imc>=30.0 && imc<35.0){ printf("Obesidade grau I!"); }else if(imc>=35.0 && imc<40.0){ printf("Obesidade grau II!"); }else if(imc>=40){ printf("Obesidade grau III!"); } printf("\n\n"); system("pause"); } 33) Faça um programa que informe se uma pessoa é criança, adolescente, adulto ou idoso com base na idade da pessoa. Resposta: #include<stdio.h> #include<stdlib.h> main(){ int idade; printf("Digite sua idade: "); scanf("%d",&idade); if(idade>=0 && idade<12){ printf("Criança"); }else if(idade>=12 && idade<18){ printf("Adolescente"); }else if(idade>=18 && idade<65){ printf("Adulto"); }else if(idade>=65){ printf("Idoso"); } printf("\n\n"); system("pause"); } 34) Faça um programa que informe se o aluno está aprovado ou reprovado, com base na nota e nas faltas. O programa deve informar se aluno está reprovado por falta ou por nota. Critério aprovado: nota>=6 e faltas<=18. Resposta: #include<stdio.h> #include<stdlib.h> main(){ int faltas; float nota; printf("Digite sua nota....: "); scanf("%f",¬a); printf("Digite suas faltas.: "); scanf("%d",&faltas); if(nota>=6 && faltas<=18){ printf("Aluno aprovado!"); }else{ printf("Aluno reprovado!"); } printf("\n\n"); system("pause"); } 35) Faça um programa que informe se uma pessoa pode ou não participar de um processo seletivo para a vaga se segurança particular. Critérios para participar: A pessoa deve ser maior de idade, ter peso entre 90kg e 110kg e altura maior 1.80 metros. Resposta: #include<stdio.h> #include<stdlib.h> main(){ int idade; float peso,altura; printf("Digite a idade..: "); scanf("%d",&idade); printf("Digite o peso...: "); scanf("%f",&peso); printf("Digite a altura.: "); scanf("%f",&altura); if (idade>=18 && (peso>=90 && peso<=110) && altura>1.80){ printf("Pode participar do processo seletivo!"); }else{ printf("Não atende os pré-requisitos da vaga!"); } printf("\n\n"); system("pause"); } 36) Faça um programa que o usuário informe o valor de sua poupança no banco e depois peça para o usuário digitar o valor do saque. Se houver saldo o programa informe “saque efetuado! O novo saldo é X”, caso contrário o programa informa “Valor indisponível para salque”. Resposta: #include<stdio.h> #include<stdlib.h> main(){ float saldo, saque; printf("Digite o seu saldo...: "); scanf("%f",&saldo); printf("\n\n------- Bem vindo ao banco XYZ ------\n\n"); printf("Informe o valor do saque: "); scanf("%f",&saque); if (saldo>=saque){ saldo = saldo - saque; printf("\nSaque efetuado! seu novo saldo é %.2f",saldo); }else{ printf("\nVocê não possui saldo suficiente para realizar a operação!"); } printf("\n\n\n\n"); system("pause"); } ------------------------------ Sala 232 prédio B - Santo Amaro - Terça-Feira - dia 06/03/2018 Exercicios 14) Faça um programa no qual o usuário digite 4 números em vetor e depois o programa exibe a soma dos números digitados. 15) Faça um programa que o usuário digite 4 números em um vetor e depois apresente os números digitados em ordem invertida.Exemplo: Digitou 1,5,3,6 o programa exibe 6,3,5,1. 16) Faça um programa que o usuário digite 4 números em um vetor e depois pesquise se existe um determinado número no vetor. 17) Faça um programa no qual o usuário digite número inteiros em uma matriz 3X2 e depois exiba os dados inseridos na matriz. 18)Faça um programa no qual o usuário digite os dados em uma matriz 3X2, o programa deve informar qual é o maior número digitado pelo usuário. 19) Faça um programa no qual o usuário digite 2 matrizes no tamanho 2x2. O programa exibe o resultado da multiplicação das duas matrizes. 20) Faça um programa para ler o nome de uma pessoa e depois apresentar o nome lido. Exemplo: Digite um nome: Maria O nome digitado foi: Maria Sala 727 - memorial 30)Faça um programa que converta o número que o usuário digita para positivo e exiba o resultado. (IF simples) Resposta: //Positivo ou negativo #include<stdio.h> #include<stdlib.h> int numero; main(){ printf("Digite o número: "); scanf("%d",&numero); if (numero<0){ numero = numero * (-1); } printf("O número é %d\n\n",numero); system("pause"); } 31)Faça um programa que peça para o usuário digitar o número da conta bancária e a senha.O programa deve informar se está correto ou não. A conta deve ser 12345 e a senha deve ser 789.(If composto) Resposta: //Positivo ou negativo #include<stdio.h> #include<stdlib.h> int conta,senha; main(){ printf("Digite a conta: "); scanf("%d",&conta); printf("Digite a senha: "); scanf("%d",&senha); if (conta==12345 && senha==789){ printf("Acesso autorizado!\n\n"); }else{ printf("Acesso negado!\n\n"); } system("pause"); } 32) Faça um programa que exiba a nota de um aluno no formato de A, B, C, D e E, com base em um valor numérico digitado pelo usuário. Siga a tabela abaixo: (if encadeado) Conceito Intervalo A >=9 B >=7 && <9 C >=5 && <7 D >2 && <5 E >=0 && <=2 //Positivo ou negativo #include<stdio.h> #include<stdlib.h> float nota; main(){ printf("Digite a nota: "); scanf("%f",¬a); if(nota>=9 && nota<=10){ printf("Conceito A"); }else if(nota>=7 && nota<9){ printf("Conceito B"); }else if(nota>=5 && nota<7){ printf("Conceito C"); }else if(nota>2 && nota<5){ printf("Conceito D"); }else if(nota>=0 && nota<=2){ printf("Conceito E"); } puts("\n\n\n"); system("pause"); } 33) Faça um programa que calcule o IMC de uma pessoa e informe se ela está obesa, no peso, ou abaixo do peso. 34) Faça um programa que receba a idade de uma pessoa e informe se ela é criança, jovem, adulto ou idoso. 35) Faça um programa que informe se uma pessoa é maior de idade ou não. 36) Faça um programa que informe o sexo de uma pessoa com base no número digitado. Sendo 1 - feminino, 2 - masculino, qualquer ou número informar sexo inválido. 37) Informar o campus que o aluno estuda com base no código do campus. Considere a seguinte tabela. Memorial - cod 1342 Vila Maria - cod 5673 Santo Amaro - cod 7384 Vila Prudente - cod 5922 Qualquer outro campus informar campus inválido. //Correção trabalho //Exercício 24) Quantidade de dias que viveu #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ setlocale(LC_ALL,"Portuguese"); int total_dias,dias_ano,dias_mes,dias_dia; int ano_a,ano_n,mes_a,mes_n,dia_a,dia_n; printf("Digite o dia, mês e ano de nascimento (dd/mm/aaaa):"); scanf("%d/%d/%d",&dia_n,&mes_n,&ano_n); printf("Digite o dia, mês e ano atual (dd/mm/aaaa):"); scanf("%d/%d/%d",&dia_a,&mes_a,&ano_a); dias_ano = (ano_a - ano_n) * 365; dias_mes = (mes_a - mes_n) * 30; dias_dia = dia_a - dia_n; total_dias = dias_ano + dias_mes + dias_dia; printf("Total de dias: %d\n\n",total_dias); system("pause"); } //Exercicio 25) hora:minuto:segundo para segundos #include<stdio.h> #include<stdlib.h> #include<locale.h> int horas, minutos, segundos,total_segundos; main(){ setlocale(LC_ALL,"Portuguese"); printf("Digite o tempo em horas:minutos:segundos\n"); scanf("%d:%d:%d",&horas,&minutos,&segundos); total_segundos = (horas*3600) + (minutos*60) + segundos; printf("\nO tempo em segundos é %d\n\n",total_segundos); system("pause"); } //Exercicio 26) Aulas dadas X aula assistidas #include<stdio.h> #include<stdlib.h> #include<locale.h> float aulas_ministradas, aulas_assistidas, porcentagem; main(){ setlocale(LC_ALL,"Portuguese"); printf("Digite o numero de aulas ministradas e assistidas:\n"); scanf("%f %f",&aulas_ministradas,&aulas_assistidas); porcentagem = aulas_assistidas/aulas_ministradas*100; printf("Houve %.2f %% de frequência nas aulas\n\n",porcentagem); system("pause"); } //Exercicio 27) Segundos para horas:minutos:segundos #include<stdio.h> #include<stdlib.h> int seg,horas,minutos,segundos; main(){ printf("Informe o tempo em segundos: "); scanf("%d",&seg); horas = seg / 3600; minutos = (seg - (horas*3600)) / 60; segundos = seg - ((horas*3600)+(minutos*60)); printf("Resp: %d segundos equivalem a %dh:%dm:%ds\n\n",seg,horas,minutos,segundos); system("pause"); } //Exercicio 28) Celsius para Fahrenheit. #include<stdio.h> #include<stdlib.h> float celsius, fahrenheit; main(){ printf("Digite a temperatura em graus celsius: "); scanf("%f",&celsius); fahrenheit = celsius * 1.8 + 32; printf("Resp: %.2f graus Celsius sao %.2f graus fahrenheits\n\n",celsius,fahrenheit); system("pause"); } //Exercício 29) Multiplicação de matriz #include<stdio.h> #include<stdlib.h> int mA1,mA2,mA3,mA4,mB1,mB2,mB3,mB4,mR1,mR2,mR3,mR4; main(){ printf("Digite os dados para a matriz ""A"": "); scanf("%d %d %d %d",&mA1,&mA2,&mA3,&mA4); printf("Digite os dados para a matriz ""B"": "); scanf("%d %d %d %d",&mB1,&mB2,&mB3,&mB4); mR1 = (mA1 * mB1 + mA2 * mB3); mR2 = (mA1 * mB2 + mA2 * mB4); mR3 = (mA3 * mB1 + mA4 * mB3); mR4 = (mA3 * mB2 + mA4 * mB4); printf("A matriz resultante é: \n[ %d, %d ]\n[ %d, %d ]\n",mR1,mR2,mR3,mR4); system("pause"); } /* //Exercício 11 #include<stdio.h> #include<stdlib.h> main(){ int vet[4],i; printf("Digite 4 valores:\n"); for(i=0;i<=3;i++){ scanf("%d",&vet[i]); } printf("Resultado:\n"); for(i=0;i<=3;i++){ printf("%d ",vet[i]+1); } printf("\n\n"); system("pause"); } */ //Exercício 12 #include<stdio.h> #include<stdlib.h> main(){ int mat[3][2],i,j,soma=0; for(i=0;i<3;i++){ for(j=0;j<2;j++){ printf("Matriz[%d][%d] = ",i,j); scanf("%d",&mat[i][j]); soma += mat[i][j]; } } printf("Resultado: A soma deu %d\n",soma); system("pause"); } 13) #include<stdio.h> #include<stdlib.h> main(){ int v[4],i,pesquisa; for(i=0;i<=3;i++){ printf("Vetor[%d] = ",i); scanf("%d",&v[i]); } printf("Digite um número para pesquisar: "); scanf("%d",&pesquisa); for(i=0;i<=3;i++){ if (v[i]==pesquisa) { printf("Numero encontrado no indice %d!\n",i); break; } } if(i==4) { printf("Numero não encontrado!\n"); } system("pause"); } Exercícios turma TADS sala 232 - dia 27-02-2018 9) Faça um programa para calcular a área de um triângulo. Resposta: #include<stdio.h> #include<stdlib.h> #include<locale.h> float area, base, altura; main(){ setlocale(LC_ALL,"Portuguese"); printf("Digite a base..: "); scanf("%f",&base); printf("Digite a altura: "); scanf("%f",&altura); area = (base*altura)/2; printf("A área do triangulo é %.2f\n\n",area); system("pause"); } 10) Faça um programa para converter dólares em reais. O usuário informa o valor em dólares e a cotação do dia. Resposta: #include<stdio.h> #include<stdlib.h> #include<locale.h> float cotacao,dolares,reais; main(){ setlocale(LC_ALL,"Portuguese"); printf("Digite o valor em dolares.................:"); scanf("%f",&dolares); printf("Digite a cotação (preço do dolar em reais):"); scanf("%f",&cotacao); reais = cotacao * dolares; printf("\nResposta: %.2f dolares equivalem a %.2f reais\n\n",dolares,reais); system("pause"); } 11) Faça um programa para converter segundos em horas:minutos:segundos. Exemplo: Usuário digitou 3600 segundos Programa informa: 01h:00m:00s #include<stdio.h> #include<stdlib.h> #include<locale.h> int segundos,h,m,s; main(){ setlocale(LC_ALL,"Portuguese"); printf("Digite o valor em segundos: "); scanf("%d",&segundos); if (segundos>=3600){ h = segundos/3600; segundos = segundos - (h*3600); } if (segundos>=60){ m = segundos/60; segundos = segundos- (m*60); } s = segundos; printf("Resposta: %d segundos equivalem a %d:%d:%d\n\n",segundos,h,m,s); system("pause"); } 12) Faça um programa para informar se um número digitado pelo usuário é par ou ímpar. #include<stdio.h> #include<stdlib.h> #include<locale.h> int numero; main(){ setlocale(LC_ALL,"Portuguese"); printf("Digite um número: "); scanf("%d",&numero); if (numero%2==1){ printf("O número é impar\n"); }else{ printf("O número é par\n"); } system("pause"); } 13) Faça um programa para autenticar o usuário e a senha de um funcionário, se estiver correto será informada a mensagem “acesso liberado”, se estiver errado será informado “Usuário ou senha inválidos”. Os dados corretos seriam: Usuário: Aluno Senha: Uni9 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<locale.h> char usuario[20],senha[20]; main(){ setlocale(LC_ALL,"Portuguese"); printf("Digite o usuário.: "); gets(usuario); printf("Digite a senha...: "); gets(senha); if(strcmp(usuario,"Aluno")==0 && strcmp(senha,"Uni9")==0){ printf("Acesso liberado!!!\n\n"); }else{ printf("Acesso negado!!!\n\n"); } system("pause"); } ---------------------------------------------------------- Exercícios 7) Faça um programa em que o usuário digite 3 números em um vetor e depois exiba a soma dos dados digitados no vetor. 8) Faça um programa em que o usuário digite 6 números em uma matriz 2 linhas por 3 colunas e depois exiba a soma dos dados digitados no vetor. 9) Faça um programa em que o usuário digite 3 números em um vetor e depois peça para o usuário digitar um número para pesquisar no vetor. O programa deve informar se existe ou não o valor pesquisado. 10) Faça um programa em que o usuário digite 6 números em uma matriz 2 linhas por 3 colunas e depois peça para o usuário digitar um número para pesquisar na vetor. O programa deve informar se existe ou não o valor pesquisado. Abaixo seguem as respostas dos exercícios anteriores. Na sequência foram propostos mais 5 exercícios. //Resposta da questão 3) #include<stdio.h> #include<stdlib.h> #include<locale.h>//para aarrumar acentos main(){ int area,lado; setlocale(LC_ALL,"Portuguese");//para arrumar acentos printf("Digite o lado do quadrado: "); scanf("%d",&lado); area = lado*lado; printf("A area do quadrado é %d\n\n",area); system("pause"); } //Resposta da questão 4) #include<stdio.h> #include<stdlib.h> #include<locale.h>//para aarrumar acentos main(){ float nota1, nota2, media; setlocale(LC_ALL,"Portuguese");//para arrumar acentos printf("Digite a nota 1: "); scanf("%f",¬a1); printf("Digite a nota 2: "); scanf("%f",¬a2); media = (nota1+nota2)/2; printf("Sua média é %.2f\n\n",media); system("pause"); } Resposta questão 5) #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ float valorAtualizado, valorPrestacao, taxaDeJurosAoDia; int qtdDias; setlocale(LC_ALL,"Portuguese"); printf("Digite o valor da prestação..........: R$ "); scanf("%f",&valorPrestacao); printf("Digite o valor da taxa de juros......: "); scanf("%f",&taxaDeJurosAoDia); printf("Digite a quantidade de dias em atraso: "); scanf("%d",&qtdDias); valorAtualizado = (valorPrestacao * (taxaDeJurosAoDia/100) * qtdDias) + valorPrestacao; printf("\n\nValor atualizado da prestação: R$ %.2f\n\n",valorAtualizado); system("pause"); } Resposta questão 6 #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ setlocale(LC_ALL,"Portuguese"); float grausCelsius, grausKelvin; printf ("Digite a temperatura em graus celsius: "); scanf("%f",&grausCelsius); grausKelvin = grausCelsius + 273; printf ("\n\nResultado: \n\n%.2f graus celsius equivalem a %.2f graus kelvin\n\n\n",grausCelsius,grausKelvin); system("pause"); } Resposta questão 7 #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ float km, horas, km_horas; setlocale(LC_ALL,"Portuguese"); printf("Este programa calcula a velocidade média de qualquer meio de transporte!!!\n\n"); printf("Digite a quantidade de KM percorrido........: "); scanf("%f",&km); printf("Digite a quantidade de TEMPO gasto em horas.: "); scanf("%f",&horas); km_horas = km/horas; printf("\nA velocidade média é de %.2f km/h \n\n",km_horas); system("pause"); } Resposta questão 8 #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ float km, horas, km_horas; setlocale(LC_ALL,"Portuguese"); printf("Este programa calcula a velocidade média de qualquer meio de transporte!!!\n\n"); printf("Digite a quantidade de KM percorrido........: "); scanf("%f",&km); printf("Digite a quantidade de TEMPO gasto em horas.: "); scanf("%f",&horas); km_horas = km/horas; printf("\nA velocidade média é de %.2f km/h \n\n",km_horas); system("pause"); } Resposta questão 2 #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ float media, n1, n2; setlocale(LC_ALL,"Portuguese"); printf("Digite a primeira nota:"); scanf("%f",&n1); printf("Digite a segunda nota:"); scanf("%f",&n2); media = (n1 + n2)/2; printf("Sua média é %.2f\n\n",media); system("pause"); } ------------------- Resposta questão 3 #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ float valorAtualizado, valorPrestacao, taxaDeJurosAoDia; int qtdDias; setlocale(LC_ALL,"Portuguese"); printf("Digite o valor da prestação..........: R$ "); scanf("%f",&valorPrestacao); printf("Digite o valor da taxa de juros......: "); scanf("%f",&taxaDeJurosAoDia); printf("Digite a quantidade de dias em atraso: "); scanf("%d",&qtdDias); valorAtualizado = (valorPrestacao * (taxaDeJurosAoDia/100) * qtdDias) + valorPrestacao; printf("\n\nValor atualizado da prestação: R$ %.2f\n\n",valorAtualizado); system("pause"); } -------- Resposta questão 4 #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ setlocale(LC_ALL,"Portuguese"); float grausCelsius, grausKelvin; printf ("Digite a temperatura em graus celsius: "); scanf("%f",&grausCelsius); grausKelvin = grausCelsius + 273; printf ("\n\nResultado: \n\n%.2f graus celsius equivalem a %.2f graus kelvin\n\n\n",grausCelsius,grausKelvin); system("pause"); } ------ Resposta questão 5 #include<stdio.h> #include<stdlib.h> #include<locale.h> main(){ float km, horas, km_horas; setlocale(LC_ALL,"Portuguese"); printf("Este programa calcula a velocidade média de qualquer meio de transporte!!!\n\n"); printf("Digite a quantidade de KM percorrido........: "); scanf("%f",&km); printf("Digite a quantidade de TEMPO gasto em horas.: "); scanf("%f",&horas); km_horas = km/horas; printf("\nA velocidade média é de %.2f km/h \n\n",km_horas); system("pause"); } ------------- Resposta questão 6 #include<stdio.h> #include<stdlib.h> #include<locale.h> #include<math.h> main(){ float delta,a,b,c,x1,x2; setlocale(LC_ALL,"Portuguese");printf("Este programa calcula os valores de X1 e X2 de uma equação de segundo grau.\n\n"); printf("Informe o valor de A: "); scanf("%f",&a); printf("Informe o valor de B: "); scanf("%f",&b); printf("Informe o valor de C: "); scanf("%f",&c); delta = pow(b,2) - 4 * a * c;//exemplo a=1,b=-5,c=6 x1 = (-b + sqrt(delta)) / (2 * a); x2 = (-b - sqrt(delta)) / (2 * a); printf("\n\nO valor de Delta é %f.\n",delta);//Resultado 3 printf("\n\nO valor de X1 é %f....\n",x1);//Resultado 3 printf("\nO valor de X2 é %f......\n\n\n",x2);//Resultado 2 system("pause"); } Exercícios - Estrutura de Dados - 4º TADS 1) Faça um programa em C para calcular a soma das idades de duas pessoas. 2) Faça um programa em C que calcule a média de um aluno em uma disciplina com base em 2 notas inseridas. 3) Faça um programa em C que calcule o valor de uma prestação em atraso de algum bem seguindo a fórmula: valorAtualizado = (valorPrestacao * taxaDeJurosAoDia * qtdDias) + valorPrestacao Exemplo: Valor da prestação = R$ 100,00 Taxa de juros ao dia = 3% Quantidade de dias em atraso = 2 ValorAtualizado = (R$ 100 * 0,03 * 2) + R$ 100 ValorAtualizado = R$ 106,00 4) Faça um programa em C que converta de graus celsius para graus Kelvin usando a fórmula: K=C+273 5) Faça um programa em C que calcule a velocidade média de um carro com base no tempo e na distância percorrida informada pelo usuário. 6) Faça um programa em C que calcule uma equação de 2º grau e informe o valor de bhaskara, de x1 e x2. Obs: Para calcular a raiz quadrada deve se utilizar a função sqtr() da biblioteca math.h Algoritmos e Prática de Programação 9) Represente em diagrama de bloco e português estruturado um algoritmo para somar o peso de duas pessoas. 10) Represente em diagrama de bloco e português estruturado um algoritmo para somar o valor que uma pessoa possui na conta corrente com o valor que ela possui na poupança. goo.gl/bMuAz5 <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost/faculdade?zeroDateTimeBehavior=convertToNull </property> <property name="hibernate.connection.username">root</property> <property name="hibernate.current_session_context_class">thread</property> <mapping resource="entidade/Aluno.hbm.xml"/> </session-factory> </hibernate-configuration> Vídeo aula Hibernate com PhpMyadmin no net Beans https://www.youtube.com/watch?v=FvNc1tNLd7o Links para as videoaulas para montar o projeto com JSF Aula 1 - https://www.youtube.com/watch?v=4jwVZCJ7L4U&t=16s Aula 2 - https://www.youtube.com/watch?v=ULqq87Ac6X0 Aula 3 - https://www.youtube.com/watch?v=48ziUGDQ9ZM Aula 4 - https://www.youtube.com/watch?v=oVTn6YucDmM Aula 5 - https://www.youtube.com/watch?v=bymiRartvSs Aula 6 - https://www.youtube.com/watch?v=b1H5ffraefY Aula 7 - https://www.youtube.com/watch?v=elg-7hHDHgM Aula 8 - https://www.youtube.com/watch?v=f89ZMey12Y0 Aula 9 - https://www.youtube.com/watch?v=Dqkg80sxyAg&t=1022s PROVA DE DESENVOLVIMENTO ORIENTADO A OBJETOS Questão 1) Considere as seguintes afirmações sobre a arquitetura cliente-servidor: I - Os clientes enviam requisições para o servidor. O servidor processa e responde às requisições efetuadas pelo cliente. II - O módulo servidor e o módulo cliente podem estar em um mesmo dispositivo. III - O módulo servidor e o módulo cliente podem ser alocados em máquinas diferentes. IV - Os códigos em linguagem java rodam no browser, ou seja, lado do cliente, e os códigos em linguagem html são exibidos no lado do servidor. Com base nas afirmações anteriores, é possível afirma que: a) Todas as afirmações estão corretas. b) Apenas as afirmações I, II, IV estão corretas. c) Apenas as afirmações I, III, IV estão corretas. d) Apenas as afirmações I, II, III estão corretas. e) Todas as afirmações estão erradas. ---------------------------------------------------------------------------------------------- Questão 2) (0,5 ponto) Considere as seguintes afirmações relacionadas ao modelo MCV: I - Model é a camada responsável por se comunicar com o banco de dados. II - View compreende as funcionalidades responsáveis pela iteração entre o sistema e o usuário. III - Controller é responsável por traduzir a regra de negócio do sistema e prover a iteração eficiente entre a camada de visualização e a camada de dados. IV - A ideia é permitir que uma mesma lógica de negócios possa ser acessada e visualizada através de várias interfaces. Com base nas afirmações anteriores, é possível afirma que: a) Apenas as afirmações I, II, III estão corretas. b) Apenas as afirmações I, II, IV estão corretas. c) Apenas as afirmações I, III, IV estão corretas. d) Todas as afirmações estão corretas. e) Apenas as afirmações II, III, IV estão corretas. ---------------------------------------------------------------------------------------------- Questão 3) (0,5 ponto) Considere as seguintes afirmações relacionadas ao Drive JDBC: I - JDBC é um conjunto de interfaces que fica dentro do pacote java.sql II - Descarta a necessidade de se criar um conjunto de classes e métodos e API própria para cada banco. Sendo assim basta que cada fabricante de banco disponibilize um drive, com classes concretas, cotendo as implementações das interfaces JDBC. III - Drive JDBC são desnecessários quando trabalhamos com Java EE, pois neste caso usamos o Tomcat para conectar ao banco de dados. IV - As classes implementadas dentro do drive sabem se comunicar através do protocolo proprietário do banco de dados fazendo uma ponte entre o código cliente que usa a API JDBC e o banco de dados. Com base nas afirmações anteriores, é possível afirma que: a) Apenas as afirmações I, II, IV estão corretas. b) Todas as afirmações estão corretas. c) Apenas as afirmações I, II, III estão corretas. d) Apenas as afirmações I, III, IV estão corretas. e) Apenas as afirmações II, III, IV estão corretas. ---------------------------------------------------------------------------------------------- Questão 4) (0,5 ponto) Considere as seguintes afirmações relacionadas a design patterns: I - É uma linguagem de programação utilizada em JAVA EE. II - Não é código pronto para reaproveitar em sua aplicação e sim um modelo para resolver um problema sendo soluções. III - É uma maneira de organizarmos nossas classes diante de uma determinada circunstância. IV - São considerados modelos de estruturação do sistema no que diz respeito a código Com base nas afirmações anteriores, é possível afirma que: a) Todas as afirmações estão corretas. b) Apenas as afirmações I, II, III estão corretas. c) Apenas as afirmações I, II, IV estão corretas. d) Apenas as afirmações II, III, IV estão corretas. e) Apenas as afirmações I, III, IV estão corretas. ---------------------------------------------------------------------------------------------- Questão 5) (0,5 ponto) Considere as seguintes afirmações relacionadas ao DAO: I - A ideia a seguir é remover o código de acesso ao banco de dados de suas classes de lógica e colocá-lo em uma classe responsável pelo acesso aos dados. II - É o nome do Drive utilizado para conectar o java com o mysql. III - O código de acesso ao banco de dados �fica em um lugar só, tornando mais fácil a manutenção. IV - É um objetoresponsável por acessar os dados, significa Data Access Object ou simplesmente DAO, é um dos mais famosos padrões de projeto (design pattern). Com base nas afirmações anteriores, é possível afirma que: a) Todas as afirmações estão corretas. b) Apenas as afirmações I, II, III estão corretas. c) Apenas as afirmações I, II, IV estão corretas. d) Apenas as afirmações II, III, IV estão corretas. e) Apenas as afirmações I, III, IV estão corretas. ---------------------------------------------------------------------------------------------- Questão 6) (0,5 ponto) Considere as seguintes afirmações relacionadas a Java EE: I - Java EE é uma linguagem de programação paralela ao java. II - Consiste de uma série de especificações bem detalhadas. Com java EE o programador não precisará se preocupar com grande parte de código de infraestrutura, pois já vem pronto. III - Ajuda a reduzir o trabalho de programação relacionado a, por exemplo, persistência em banco de dados, transação, acesso remoto, web services, gerenciamento de threads, gerenciamento de conexões HTTP e de sessão web, etc. IV - Java EE significa Java Enterprise Edition Com base nas afirmações anteriores, é possível afirma que: a) Todas as afirmações estão corretas. b) Apenas as afirmações I, II, III estão corretas. c) Apenas as afirmações II, III, IV estão corretas. d) Apenas as afirmações I, II, IV estão corretas. e) Apenas as afirmações I, III, IV estão corretas. ---------------------------------------------------------------------------------------------- Questão 7) (0,5 ponto) Considere as seguintes afirmações relacionadas a servidores de aplicação: I - É um software que fornece um ambiente para a execução das aplicações. II - Provê uma API padronizada para acesso a recursos Java EE. III - O Apache Tomcat implementam apenas uma parte das especificações do Java EE. Só implementa JSP e Servlets. Portanto não é totalmente correto chamá-lo de servidor de aplicação. IV - O Apache Tomcat é considerado um servlet container. Este é indicado a quem não precisa de tudo do Java EE e está interessado apenas na parte web. Com base nas afirmações anteriores, é possível afirma que: a) Apenas as afirmações I, II, III estão corretas. b) Apenas as afirmações I, II, IV estão corretas. c) Todas as afirmações estão corretas. d) Apenas as afirmações I, III, IV estão corretas. e) Apenas as afirmações II, III, IV estão corretas. ---------------------------------------------------------------------------------------------- Questão 8) (0,5 ponto) Considere as seguintes afirmações relacionadas a servlet e a JSP: I - O objetivo da servlet é receber chamadas HTTP, processá-las e devolver uma resposta ao cliente. II - Uma servlet é representada como um objeto a partir de uma classe Java, que recebe requisições (request) e produz algo (response), como uma página HTML dinamicamente gerada para o cliente . III - O comportamento das servlets é definido na classe HttpServlet do pacote javax.servlet. IV - Dentro de um arquivo JSP podemos escrever código HTML e também código Java, para que possamos adicionar comportamento dinâmico em nossas páginas. Com base nas afirmações anteriores, é possível afirma que: a) Apenas as afirmações I, II, III estão corretas. b) Apenas as afirmações I, II, IV estão corretas. c) Apenas as afirmações I, III, IV estão corretas. d) Todas as afirmações estão corretas. e) Apenas as afirmações II, III, IV estão corretas. PROVA AV1 - PESQUISA E ORDENAÇÃO RA:____________ NOME: _____________________________________CAMPUS: ___________ RA:____________ NOME: _____________________________________ CAMPUS:___________ RA:____________ NOME: _____________________________________ CAMPUS:___________ QUICK SORT Considere o seguinte algoritmo quicksort e responda as perguntas abaixo : #include<stdio.h> #include<stdlib.h> int v[]={4,7,2,5,1,3,6}; int particionar(int i, int j){ int aux, pivo = v[i]; while(i<j){ while(v[i]<pivo) i++; while(v[j]>pivo) j--; aux = v[i]; v[i] = v[j]; v[j] = aux; } return i; } void quick_sort(int i, int j){ if(i<j){ int indice_pivo = particionar(i,j); quick_sort(i,indice_pivo-1); quick_sort(indice_pivo+1,j); } } main(){ int i; quick_sort(0,6); for(i=0;i<=6;i++) printf("%d ",v[i]); system("pause"); } 1) (3 pontos) O algoritmo ordenou corretamente? (___) Sim (___) Não 2) (3 pontos) Troque os dados do vetor para {7,7,2,5,1,3,6}. O algoritmo ordenou corretamente? Identifique o que gerou erro no algoritmo e descreva com suas palavras que tipo de erro ocorreu e o que causou o erro. Qual o valor da variável “i” e da variável “j” no momento do erro. Resposta:____________________________ 3) (4 pontos) Discuta com seu grupo estratégias para alterar o algoritmo de forma que funcione corretamente. Faça as devidas alterações no código e apresente para o professor validar. Após o professor validar copie o algoritmo para o campo resposta. Obs: Será avaliada a quantidade de alterações realizadas e o tipo de alteração. O primeiro índice de cada subvetor deverá ser mantido como pivo. Resposta: ____________________________ Dúvidas? Pergunte ao professor!!! https://goo.gl/bMuAz5 Atividade valendo 3 pontos na AV1 (em grupo - 3 pessoas) 1º passo - Crie um "Dynamic Web Project" no eclipse 2º passo - Defina o nome de seu projeto 3º passo - Adicione o tomcat 7 4º passo - Next->Next-> Generate Web.xml 5º passo - Dentro da pasta WebContent crie um arquivo chamado Cadastro.jsp 6º Dentro do Cadastro.jsp monte com html uma pequena tela de cadastro, 3 ou 4 campos e um botão salvar. 7º Crie um pacote em src -> br.com.uninove 8º Adicione no pacote uma servlet para receber os dados e salvar no banco. O nome da servlet será “ServletCad” 9º Faça o mapeamento da servlet no web.xml goo.gl/bMuAz5 2º atividade para AV1 - Em grupo 3 Analise o algoritmo abaixo e monte uma tabela semelhante a que está no AVA na aula sobre QuickSort Considere os seguintes dados de entrada 23, 4, 67, -8, 90, 54, 21 Considere o seguinte algoritmo: # include <stdio.h> # include <conio.h> # define MAX 7 void quick ( int v [ MAX ], int primeiro, int ultimo ) { int inicio, fim, meio, pivo, aux ; inicio = primeiro ; fim = ultimo ; meio = ( inicio + fim ) / 2 ; pivo = v [ meio ] ; while ( inicio < fim ) { while ( v [ inicio ] < pivo ) inicio++ ; while ( v [ fim ] > pivo ) fim-- ; if ( inicio < fim ) { aux = v [ inicio ] ; v [ inicio++ ] = v [ fim ] ; v [ fim-- ] = aux ; } } if ( inicio == fim ) { inicio++ ; fim-- ; } if ( fim > primeiro ) quick ( v, primeiro, fim ) ; if ( inicio < ultimo ) quick ( v, inicio, ultimo ) ; } int main ( ) { int i, vetor [ MAX ] = {23, 4, 67, -8, 90, 54, 21}; quick ( vetor, 0, MAX-1 ) ; printf ( "\n\nVetor Ordenado:\n" ) ; for ( i = 0; i < MAX; i++ ) printf ( "%d ", vetor [ i ] ) ; getch ( ) ; return 0 ; }
Compartilhar