Programação Estruturada ATPs
Pesquisas Acadêmicas: Programação Estruturada ATPs. Pesquise 862.000+ trabalhos acadêmicosPor: Shooty • 10/5/2014 • 2.006 Palavras (9 Páginas) • 293 Visualizações
SUMÁRIO
Funções 3
Passagens por Parâmetros 3
Passagem de Parâmetros por Valor 4
Passagem por Referência 4
Conclusão 5
Structs em C: O que são, para que servem e onde são usadas 6
Para que serve uma struct em C 6
Onde as Structs são Usadas 7
Exemplo de Programas Usando STRUCT 8
1. Desafio
De acordo com Deitel (2011), a Linguagem C foi desenvolvida nos laboratórios Bell, por Denis Ritchie, e implementada em computador em 1972. A Linguagem C se tornou mundialmente conhecida por ser a linguagem utilizada para desenvolver o sistema operacional UNIX e hoje, a grande maioria dos sistemas operacionais são escritos em linguagem C ou C++.
Dada a importância da Linguagem C para a área de programação, a Editora SABER, responsável edição de livros da área de computação e tecnologia, necessita reestruturar um novo livro para linguagem C, a ser lançado em breve, com novos e modernos capítulos e exercícios, que facilitem o aprendizado dos alunos de graduação, pós graduação e interessados em aprender a linguagem C.
Neste desafio, deverá ser realizado a construção de capítulos deste novo livro e a proposta e resolução de problemas computacionais, através da linguagem C, que possam ser incorporados ao livro. Os capítulos e os problemas, no formato de exercícios, devem ser didáticos, práticos e que sirvam como boa ferramenta de aprendizagem da linguagem C.
2. Etapa 1
Funções
Para começarmos, vamos entender um pouco sobre funções. Uma função é um conjunto de instruções desenhadas para cumprir uma tarefa particular e agrupadas numa unidade com um nome para referenciá-la.
As funções têm o papel de dividir granes tarefas de computação em tarefas menores, permitindo que as pessoas trabalhem sobre o que outras já fizeram, ao invés de começarem um projeto do “zero”.
A existência de funções evita que o programador tenha de escrever o mesmo código repetidas vezes. Sendo assim, qualquer sequência de instruções que apareça mais de uma vez no programa é candidata a ser uma função.
Passagens por Parâmetros
Parâmetros são variáveis que a função recebe. O número e tipo de parâmetros são pré estabelecidos na declaração da função.
E essa declaração, do(s) tipo(s) e nome(s) da(s) variável(eis), acontece dentro dos parêntesis.
Por exemplo, se formos criar uma função que recebe e soma dois números, declaramos a função com os tipos de variáveis (inteiro ou float, por exemplo) e o nome dessas variáveis
Pronto, declaramos uma função com dois parâmetros.
Agora, dentro dessa função, podemos usar 'a' e 'b'. É como se elas tivessem sido declaradas entre parêntesis.
E quais os valores desses parâmetros?
São os que você vai passar. Esses valores são os argumentos.
Por exemplo, se você invocar a função: soma(1,2)
Os argumentos são 1 e 2, onde os parâmetros 'a' e 'b' vão receber os valores 1 e 2, respectivamente.
Ou seja, o valor que você colocar primeiro, vai pra primeira variável, e o segundo valor dentro dos parêntesis serão o segundo parâmetros, e assim vai.
Passagem de Parâmetros por Valor
Na passagem de parâmetro por valor, ao iniciar a execução, a função faz uma cópia dos valores passados para serem utilizados nas operações. Supondo que o valor passado para a função fosse uma variável criada por você, uma cópia deste valor seria criada durante a execução da função, não alterando em nada o valor original de sua variável.
A função teste cria uma variável do tipo numérica e atribui o valor. Em seguida, é chamada a função valor que recebe o valor da variável var e o multiplica por 2. Por mais que tenhamos passado o valor por parâmetro para a função Dobro, a variável var permaneceu com seu valor original. Isso aconteceu porque como explicado, ao iniciar sua execução, a função cria uma cópia em memória do valor da variável passado por parâmetro, deixando seu valor original intacto.
Passagem por Referência
Quando passamos um valor, a função copia esse valor e trabalhar somente em cima da cópia dessa variável, e não na variável em si. Por isso nossas variáveis nunca eram alteradas quando passadas para funções. Porém, é muito importante e útil que algumas funções alterem valores de variáveis. Para fazer isso, usaremos um artifício chamado Passagem por Referência. Por referência entenda endereço, um local.
No caso, em vez de passar o valor da variável, na passagem por referência vamos passar o endereço da variável para a função. Para fazer isso, basta colocar o operador & antes do argumento que vamos enviar, e colocar um asterisco * no parâmetro da função, no seu cabeçalho de declaração, para dizer a função que ela deve esperar um endereço de memória, e não um valor.
Para que uma função altere o valor de uma variável, é necessário que essa função atue no endereço de memória, e não na copilar do valor. Para isso, temos que passar o endereço da variável para a função (usando &), e a função tem que ser declarada de modo a esperar um ponteiro
Conclusão
Passagem de parâmetros por valor: A função recebe uma cópia da variável que é fornecida quando é invocada. Todas as alterações feitas dentro da função não vão afectar os valores originais.
Passagem de parâmetros por referência: Neste caso o que é enviado para a função é uma referência às variáveis utilizadas, e não uma simples cópia, pelo que as alterações realizadas dentro da função irão certamente alterar os valores contidos nessas variáveis.
Exemplo 1 – Passagem
...