PROGRAMAÇÃO ESTRUTURADA II Profª. Noeli Ciência da Computação 1 EXERCÍCIOS REVISÃO Ciência da Computação 2 1 – Qual das seguintes razões são válidas para o uso de funções? a) Usam menos memória do que se repetirmos o mesmo código várias vezes; b) Rodam mais rápido; c) Fornecem um meio de encapsular alguma computação em uma caixa preta, que pode ser usada sem preocupação quanto a seus detalhes internos; d) Mantêm variáveis protegidas das outras partes do programa. 3 2 – Uma função pode ainda ser útil mesmo se você não enviar nada a ela e ela não lhe devolver qualquer informação. VERDADEIRO. EXISTEM FUNÇÕES QUE SÓ EXECUTAM ALGUMA APERAÇÃO, MESMO NÃO RETORNANDO NADA À FUNÇÃO PRINCIPAL main(). 4 3 – A instrução abaixo é uma chamada correta à função abs() que necessita de um argumento? Por quê?. ans = abs(num) SIM. num É O ARGUMENTO(PARÂMETRO). 5 4 – Verdadeiro ou falso: Para retornar de uma função, você deve usar o comando return. VERDADEIRO 6 5 – Verdadeiro ou falso: Você pode retornar quantos dados desejar, de uma função, ao programa que chama, usando o comando return. FALSO. CONSEGUIMOS RETORNAR MAIS DE UM VALOR UTILIZANDO STRUCTS. 7 6 – A função abaixo é correta? Por quê? abs(num); { int num; if(num < 0) num = -num; return num; } O CORRETO É IDENTIFICAR O TIPO DO RETORNO ANTES DO NOME DA FUNÇÃO. 8 7 – A função abaixo é correta? Por quê? void acha() { int proximo; if(num < 0) procura(proximo++); imprima(); } NÃO. A ESTRUTURA ESTÁ CORRETA, PORÉM PROXIMO NÃO FOI INICIALIZADA. 9 8 – A função abaixo é correta? Por quê? main() { float x, y; scanf(“%f%f”,&x,&y); printf(“%f\n”,mult(x,y)); } float mul(a,b) float a, b; { return (a*b)} NÃO, POR NÃO POSSUIR PROTÓTIPO DA FUNÇÃO MUL ACIMA DE MAIN() 10 9 – Verdadeiro ou falso: Funções podem ser definidas dentro de outras funções, conforme as necessidades do programa. VERDADEIRO. 11 10 – Verdadeiro ou falso: As variáveis habitualmente usadas em funções C são acessíveis a todas as outras funções. FALSO. 12 11 – Quais das seguintes razões são válidas para o uso de argumentos em funções? a) Para indicar à função onde localizar ela mesma na memória; b) Transmitir informações à função para que ela possa operá-las. c) Para retornar informações provenientes da função ao programa que chama. d) Para especificar o tipo da função. 13 12 – Quais dos seguintes itens podem ser passados para uma função como argumentos(parâmetros)? a) Constantes; b) Variáveis contendo algum valor; c) Diretivas do pré-processador; d) Expressões que depois de avaliadas assumem algum valor; e) Funções que retornam algum valor. 14 13 – O programa seguinte é correto? main() { int tres = 3; tipo(tres); } tipo(num) { float num printf(“%f”,num); } NÃO, POR NÃO POSSUIR O PROTÓTIPO DA FUNÇÃO TIPO ACIMA DO MAIN() 15 14 – Uma variável externa(global) é definida numa declaração: a) Somente em main(); b) Na primeira função que a use; c) Em qualquer função que a use; d) Fora de qualquer função; 16 15 – Uma variável externa(global) pode ser referenciada numa instrução: a) Somente em main(); b) Na primeira função que a use; c) Em qualquer função que a use; d) Fora de qualquer função; 17