Por que devemos utilizar funções em programação? Elas são importantes na resolução de problemas específicos que podem vir a ser utilizados várias vezes no código. Explique o conceito de variáveis “locais” e “globais” utilizadas em funções comuns, assim como a utilização de variáveis em funções recursivas. Variáveis locais São aquelas declaradas dentro do bloco de uma função. Não podem ser usadas ou modificadas por outras funções. Somente existem enquanto a função onde foi declarada estiver sendo executada. Variáveis Globais São declaradas fora de todos os blocos de funções. São acessíveis em qualquer parte do programa, ou seja, podem ser usadas e modificadas por todas as- outras funções. Existem durante toda a execução do programa. Descreva como que uma função retorna valores e como definir o tipo a ser retornado. O comando utilizado para retornar valores de uma função, é o “return()”. Este comando pode retornar valores do mesmo tipo da função, ou seja, do tipo que a função foi declarada. Se a função foi declarada como sendo do tipo “Inteira”, os valores retornados somente podem ser valores inteiros, se a função for declarada com sendo do tico “caracter”, somente pode retornar caracteres. Se a função for declarada do tipo “void” (nada), ela não pode retornar nada. Sendo que os valores são valores são retornados para a exata posição onde a função foi chamada. Explique o que é recursividade em programação. Ocorre a recursividade quando, dentro do bloco das rotinas a serem executadas dentro de uma determinada função, existe uma chamada a ela mesma. Cite dois tipos de ordenação de vetores. Ordenação por seleção e ordenação por inserção. Descreva o que são registros em programação São novos tipos de variáveis criados pelo programador, as quais podem conter outros tipos diferentes de variáveis. Ex.: Podemos criar uma variável registro que contenha campos “strings”, “inteiros” e “vetores”. Qual a diferença entre a utilização de estruturas de decisão do tipo “if” com relação a estruturas tipo “switch”? Estruturas tipo “if” executam uma determinada tarefa se a condição “lógica” for verdadeira. Ex.: if( A > B). No caso de estruturas “switch”, é colocada uma variável em evidência (switch (A)), e pode ser verificado “N” valores para esta mesma variável, conforme o valor pode executar determinadas tarefas, neste caso não há limites. Quais são os passos necessários e na ordem correta para armazenar novos registros em uma Pilha e não perder a referência dos registros da Pilha? 1° alocar novo espaço de memória; 2º armazenar os dados no espaço alocado; 3° conectar o novo registro na Pilha; 4° atualizar as variáveis de controle da Pilha. Diferencie Estrutura Pilha de Estrutura Fila. Pilha - O último registro que entra é o primeiro que sai da pilha. Utiliza o conceito LIFO (last in, first out). Fila - O primeiro registro que entra sai da fila primeiro. Utiliza o conceito FIFO (first in, first out). Qual a principal diferença na passagem de parâmetros para as funções. A principal diferença está na forma da passagem dos parâmetros. Estes podem ser por valor,onde é passado apenas o valor de uma variável. E se está variável que receber este valor na função for alterada, não altera o valor original. Se a passagem for por referência, é passado o endereço da variável de origem, neste caso se a variável que recebeu o endereço for alterada, também é alterado o valor da variável original. Descreva como você faria a declaração de uma variável matriz com 10 linhas e 10 colunas de registros que possui os campos nome, endereço, idade, peso e altura. Struct Dados { char nome[45], endereço[70]; int idade;float peso, altura;} matriz[10][10]; Para realizar pesquisas em Listas, utilizamos pesquisa Binária ou Sequencial? Justifique sua resposta. Pesquisa Sequencial. Pois como não temos como saber previamente o tamanho da lista e como os dados podem não estar armazenados em sequência, não temos como fazer a pesquisa Binária.