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? Usam menos memória do que se repetirmos o mesmo código várias vezes; Rodam mais rápido; Fornecem um meio de encapsular alguma computação em uma caixa preta, que pode ser usada sem preocupação quanto a seus detalhes internos; 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
num É O ARGUMENTO(PARÂMETRO). 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. 6
CONSEGUIMOS RETORNAR MAIS DE UM VALOR UTILIZANDO STRUCTS. 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
O CORRETO É IDENTIFICAR O TIPO DO RETORNO ANTES DO NOME DA FUNÇÃO. 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
Para indicar à função onde localizar ela mesma na memória; 11 – Quais das seguintes razões são válidas para o uso de argumentos em funções? Para indicar à função onde localizar ela mesma na memória; Transmitir informações à função para que ela possa operá-las. Para retornar informações provenientes da função ao programa que chama. Para especificar o tipo da função. 13
Variáveis contendo algum valor; Diretivas do pré-processador; 12 – Quais dos seguintes itens podem ser passados para uma função como argumentos(parâmetros)? Constantes; Variáveis contendo algum valor; Diretivas do pré-processador; Expressões que depois de avaliadas assumem algum valor; 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: Somente em main(); Na primeira função que a use; Em qualquer função que a use; Fora de qualquer função; 16
Na primeira função que a use; Em qualquer função que a use; 15 – Uma variável externa(global) pode ser referenciada numa instrução: Somente em main(); Na primeira função que a use; Em qualquer função que a use; Fora de qualquer função; 17