MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLÓGIA DE SANTA CATARINA COMPUS JOINVILLE CURSO TÉCNICO EM ELETROELETRÔNICA Correção 02 – PRG34 Professor: Edson Hiroshi Watanabe Conceito Aluno: _________________________________________ Data: ___/___/2013 1. Assinale (V) Verdadeiro ou (F) Falso para responder as seguintes questões: (F) Em C, variáveis com nomes abc e Abc representam a mesma variável (V) A instrução #include <stdio.h> no programa anterior é colocada para que possamos utilizar as funções scanf e printf (F) Os comentários na linguagem C só podem ter uma linha de comprimento (V) Uma string, é uma seqüência de caracteres terminada com um '\0'. Uma string pode ser armazenada em um vetor de caracteres (V) Sendo i uma variável inteira, a seguinte chamada a scanf é válida: scanf("%d", i); (V) Uma string, é uma seqüência de caracteres terminada com um '\0'. Uma string pode ser armazenada em um vetor de caracteres (V) O programa abaixo lê uma variável pelo teclado e a imprime na tela: #include <stdio.h> main() { int x; scanf("%d",&x); printf("%d",x); } (V) O que faz o seguinte programa em C, pula para a próxima linha e imprime: O valor de i = 2 #include <stdio.h> main() { int i =2; printf ("\n O valor de i = %d ", i); } (V) A função em C é um bloco de código que pode ser utilizado diversas vezes na execução de um programa. (F) O comando printf ("%s%d%%","Juros de ",10); imprime Juros de 10%. (V) O laço for de uma única instrução termina com virgula. (F) A expressão de inicialização de um laço for é executada uma única vez a cada iteração. (F) O resultado das variáveis x, y e z depois da seguinte seqüência de operações: x = 4.66666, y = 2, z = 0.4286 int x,y; int a = 14, b = 3; float z; x = a/b; y = a%b; z = y/x; 2. Encontre, corrija e descreva os erros encontrados no programa abaixo. void main void { #include <stdio.h> int A = 10; float B = 10.0, Total = 0.0; #include <stdlib.h> while A-- do { puts ('Digite um valor qualquer'); main(){ scanf ("%f",&C); int A = 10, n=A; float B = 10.0; float Total = 0.0; float C; Total == total + C; do { } puts ("Digite um valor qualquer"); printf ("A média dos %d números que você digitou scanf ("%f",&C); foi:", A, Total/B); Total = Total + C; } n--; }while(n>0); printf ("A media dos %d numeros que voce digitou foi: %5.2f\n", A, Total/B); system("pause"); } 3. Comente e Simule a execução dos programas abaixo destacando a sua saída: - Programa 1 int main( ){ int a, b, total, soma, termo, i; printf("Digite um par de numeros: "); scanf("%d %d", &a, &b); printf("(%d, %d)\n", a, b); total = 0; soma = 0; while (a != 0) { total = total + 1; termo = 1; for (i = 1; i <= b; i++) termo = termo * a; printf("Resp = %d\n", termo); soma = soma + termo; printf("Soma = %d\n", soma); printf("Digite um par de numeros: "); scanf("%d %d", &a, &b); printf("(%d, %d)\n", a, b); } printf("Total de pares: %d\n", total); return 0; } // Dados de simulação ‘a’ e ‘b’: 2 3 (resp.=8 e soma=8) 5 2 (resp.=25 e soma=25) 7 1 (resp.=7 e soma=7) 0 5 (total de pares 0) 3 2(resp.=9 e soma=9) - Programa 2 #include <stdio.h> void main( ){ int i,j, num, cont; char flag; printf(“Informe um nº inteiro:”); scanf(“%d”,&num); i=2; flag=’V’; while((i < num/2) && (flag==’V’)) { if((num%i) == 0) flag=’F’; else ++i; } if (flag==’V’) printf(“%d “,num); } // Após testar para os números: 8,10,12, 13,15,17,18,20,27,12 responder quais os números serão impressos e o que faz o programa acima? 13 e 17 são números primos, outros números primos abaixo de 1000 são: (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991 e 997.) - Programa 3 #include <stdio.h> #define TAMANHO 50 #define OUTRO ' ' void main( ){ char original[TAMANHO]; int i; printf("\n\nDigite uma frase: "); gets(original); printf("\n\nFrase digitada:\n%s", original); for (i=0; original[i] != '\0'; i++) { if ((original[i] == 'c')||(original[i] == 'C')) original[i] = OUTRO; } printf("\n\nFrase alterada:\n%s\n", original); } // Entre com os dados de sua escolha.