INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE PERNAMBUCO
Curso: Tecnologia em Análise e Desenvolvimento de Sistemas NOTA
Disciplina: Introdução à programação Avaliação Final Data: 16/01/2024 Aluno (a): Matrícula:
Questões (10 pontos)
Insira as suas respostas no formulário - https://forms.gle/p1nz9dPwBvenzwDb7
1. (1 ponto). Quais as saídas do programa da
figura ao lado se as entradas forem #include <stdio.h> respectivamente X=100 e Y=2? #include <stdlib.h> #include <math.h> (a) ( ) Cuidado, O resultado eh 26; #define LIMITE 30 (b) ( ) Parabéns, O resultado eh 50; int main(int argc, char *argv[]) { (c) ( ) O resultado é 12.5, Cuidado; float X, Y, RESULT; (d) ( ) O resultado é 30, Parabéns; system ("CLS"); (e) ( ) Parabéns, O resultado é 25; printf("\n Insira o valor de X e Y? "); scanf("%f %f", &X, &Y); RESULT = X/pow(Y,3); printf("\n O Resultado eh %.1f", RESULT); if( RESULT <= LIMITE ) printf("\n Cuidado!"); else printf("\n Parabéns!"); getch(); return(0); }
2. (1 ponto). Das opções abaixo escolha quais #include <stdio.h>
as duas possíveis entradas do programa (x e #include <stdlib.h> y) da figura ao lado para que a saída seja int main(int argc, char *argv[]) { “Lascou-se” float x, y; (a) ( ) x = 800, y = 300; scanf("%f %f", &x, &y); (b) ( ) x = 700, y = 400; if( !(( (x+y)/2) >= 70.0 )) printf("\n Beleza"); (c) ( ) y = 500, x = 900; else printf("\n Lascou-se"); (d) ( ) x = 10, y = 1300; return(0); (e) ( ) y = 500, x = y; } 3. (2.5 pontos). O perfil de uma pessoa pode ser determinado a partir da sua data de nascimento, conforme exemplificado a seguir. Faça um programa para informar o perfil correspondente tendo sido fornecido uma data de nascimento no formato dd (int) mm (int) aaaa (int). O operador “%” retorna o resto de uma divisão.
4. (2.5 pontos). Qual a saída do programa abaixo se a entrada for 3456?
(a) ( ) 34 56; (b) ( ) 3 4 5 6; #include <stdio.h> (c) ( ) 65 43; #include <stdlib.h> (d) ( ) 6.5 4.3; int main(int argc, char *argv[]) { (e) ( ) 6 5 4 3. unsigned n, d; printf("\n Digite um número: "); scanf("%u", &n); printf("\n Os seus dígitos são: "); while( n != 0 ) { d = n % 10; n /= 10; printf("%u ", d); } 1 return(0); } 5. (3 pontos). Você foi encarregado de implementar uma função em C chamada soma_pares. Esta função deve receber um array de inteiros e o seu tamanho como argumentos, e retornar a soma de todos os números pares contidos no array. Qual das seguintes implementações da função soma_pares está correta e efetivamente retorna a soma dos números pares do array? Marque uma das opções.
int soma_pares(int arr[], int tamanho);
A)
int soma_pares(int arr[], int tamanho) {
int soma = 0; for (int i = 0; i < tamanho; i++) { if (arr[i] % 2 == 0) { soma += arr[i]; } } return soma; } B)
int soma_pares(int arr[], int tamanho) {
int soma = 0; for (int i = 0; i <= tamanho; i++) { if (arr[i] % 2) { soma += arr[i]; } } return soma; } C)
int soma_pares(int arr[], int tamanho) {
int soma = 0, i = 0; while (i < tamanho) { soma += arr[i]; i += 2; } return soma; } D)
int soma_pares(int arr[], int tamanho) {
int soma = 0; for (int i = 1; i < tamanho; i += 2) { soma += arr[i]; } return soma; }
2 E)
int soma_pares(int arr[], int tamanho) {
int soma = 0; for (int i = 0; i < tamanho; i++) { if ((arr[i] & 1) == 0) { soma += arr[i]; } } return soma; }