Linguagem C
Exames: Linguagem C. Pesquise 862.000+ trabalhos acadêmicosPor: brunolpg • 29/4/2013 • 1.101 Palavras (5 Páginas) • 621 Visualizações
LINGUAGEM C - NOTAS DE AULA
Jorge Surian
Apresentação (Aula 01T)
Estas Notas de Aula, visam aumentar a produtividade dos alunos nas aulas teóricas, evitando a cópia das teorias expostas. Grande parte dos exemplos analisados em sala de aula e enunciados de exercícios constam nesta apostila, além da resolução de alguns destes. Os EC (exercícios de classe), serão normalmente baseados nos exercícios complementares de cada Aula a serem desenvolvidos preferencialmente no laboratório.
Habitualmente antes de resolvermos exemplos ou exercícios, elaboraremos o algoritmo, que nada mais é que uma seqüência de operações cuja execução produz um resultado que é a resposta de um problema proposto.
Um programa de computador nada mais é que a codificação de um algoritmo numa linguagem de programação. Linguagens como C, Pascal, BASIC, ALGOL, Clipper, COBOL, etc., são chamadas de procedurais, devido ao fato das instruções serem executadas de forma seqüencial, enquanto que as linguagens baseadas no conceito de eventos como C++, Visual BASIC, Visual Objects, utilizam outra estratégia de programação (Programação Orientada ao Objeto), a ser vista em outro módulo do curso (OOP), em C utilizaremos a metodologia estruturada.
Os algoritmos podem ser estruturados ou não, conforme exemplificamos a seguir no cálculo do máximo divisor comum entre dois números inteiros positivos, com operações elementares:
Linear
Leia m,n
(1) se n = 0 então
imprima m
pare
k <- m - Int(m / n) * n
m <- n
n <- k
vá para (1)
Em Quick BASIC teríamos Em BASICA teríamos
input m : input n 10 input m : input n
10 if n = 0 then 20 if n <> 0 then 50
print m 30 imprima m
end if 40 end
k = m - Int(m / n) * n 50 k = m - Int(m / n) * n
m = n 60 m = n
n = k 70 n = k
goto 10 80 goto 20
O Algoritmo de Euclides anteriormente apresentado , apesar de muito simples, executado normalmente por qualquer criança de primeiro grau, ganha contornos de aparente dificuldade quando transcrito para o GW-BASIC, um dialeto BASIC, que exige numeração de linhas, que nos obrigou a alterar um pouco a estratégia de resolução do problema. Já a versão em Quick BASIC, poderia ser transcrita por qualquer pessoa com um mínimo de conhecimento em algoritmos e BASIC.
Estruturado
Inteiros m,n
Leia m,n
enquanto n <> 0 faça
k <- m - Int(m / n) * n
m <- n
n <- k
imprima m
pare
Em C teríamos Em Clipper teríamos
main() input to a
{ input to b
int m,n,k; do while n <> 0
scanf(“%d”,&m); k = m - Int(m / n) * n
scanf(“%d”,&n); m = n
while (n != 0) { n = k
...