Upload
internet
View
105
Download
2
Embed Size (px)
Citation preview
Linguagem de programação I A
Carlos Oberdan Rolim
Ciência da Computação
Sistemas de Informação
Versão: 11032014_01
Revisão algoritmos
Definição
Um algoritmo é um procedimento computacional bem definido que recebe algum(ns) valor(es) como entrada (input) e produz algum(ns) valor(es) como saída (output).
Portanto, um algoritmo é uma seqüência de passos computacionais que transformam uma dada entrada na saída desejada.
Analogia:
Receita culinária
Definição
Um algoritmo é correto, quando para cada caso
de entrada, o programa pára com a saída correta.
Um algoritmo incorreto pode não parar quando um
dado caso de entrada é introduzido, ou ele pode
parar com uma saída que não é correta.
Abordagem Dividir-e-conquistar
Divide-se sucessivamente o problema dado em
subproblemas cada vez menores até que estes
possam ser resolvidos (conquistados)
Esta abordagem também é conhecida como
abordagem de refinamentos sucessivos
Exemplo: algoritmo troca de pneu
Linguagem algorítmica
Linguagem algorítmica
Uma linguagem para descrição de algoritmos em
linguagem natural e que usa certas convenções
próximas de uma linguagem de programação
Pseudocódigo
São os algoritmos escritos nesta linguagem
Variáveis
Representa, através de símbolos, o conteúdo (simbólico) de uma posição (célula) de memória.
Assim, quando se diz que uma variável x assume um valor 5, se quer na realidade dizer que existe uma posição de memória, representada simbolicamente por x, que contém o valor 5.
Atribuição de valores
x y + 2
x x + 2 x = y + 2
x = x + 2
Expressões
expressões aritméticas - aquelas que utilizam operações aritméticas (por exemplo, soma) e resultam em valores numéricos;
expressões relacionais - aquelas que utilizam operadores relacionais de comparação (por exemplo, “>”, “<=“, “>=“) e que resultam num valor verdadeiro ou falso; e
expressões lógicas - aquelas que utilizam conectivos lógicos (por exemplo, ou lógico) e resultam num valor verdadeiro ou falso.
E, OU, Não E, Não OU
Entrada e saída
Necessidade de obtenção de dados externosLeia(x1, x2, .., xn)
Atribui valor as variáveis
Mostrar saída gerada pelo algoritmoMostre(x1, x2, ..., xn)
Mostra o valor associado as variáveis
Mostre(“Resultado da operação”)
Mostra uma cadeia de caracteres
printf(“%d”, variavel);
scanf(“%d”, &variavel);
Estrutura do algoritmo
EndentaçãoBloco (sequência de instruções)
x 1;
enquanto (x <10) faça {
x x + 1;
escreva(x);
escreva("Bye, bye"); }
Em C um bloco é delimitado pelos caracteres { e }
x = 1;
while ( x < 10) {
x = x + 1;
printf(“%d”, x);
printf(“Bye, bye”);
}
Estruturas de controle
Estrutura condicional
se <condição> então <ação 1> senão <ação 2>
Exemplo:
leia(x);
se (x < 0) então
escreva("O número é negativo")
senão
escreva("O número não é negativo")
If ( ......){
......
}else{
.......
}
Estruturas de controle
Estrutura de repetição 1
enquanto <condição> faça <ação>
Exemplo:
leia(x);
enquanto (x <10) faça
x x + 1;
while ( .... ) {
}
Estruturas de controle
Estrutura de repetição 2
faça<ação> até que <condição>
Exemplo:
leia(x);
faça
x x + 1
até que (x > 10);
do {
.....
} while ( .... );
Estruturas de controle
Estrutura condicional 3
para <valor inicial>; até <valor final> ;<incremento> faça <ação>
Exemplo:
x 1;
para i 1, até 10, incremento 1 faça
x x + 1;
Ao contrário das estruturas de repetição 1 e 2, a estrutura de repetição 3 deve ser utilizada quando se sabe de antemão quantas vezes a ação correspondente deverá ser executada.
for ( .... ; .... ; .... ) {
....
}
Comentários
A boa prática de programação recomenda comentar seus códigos.
Facilidades para outros compreenderem
Facilidade para você lembrar o que fez
Em C comentários são feitos usando /* para iniciar e */ para encerrar um comentário
/* Comentario de uma linha */
/* Comentário de várias linhas Comentário de várias linhas Comentário de várias linhas */
Dicas
Programar é algo pessoal
Cada programa criado por você possui seu toque pessoal
Utilize a sua criatividade para resolver os problemas
Com o tempo você verá que os problemas se tornam simples de resolver
Acostume-se a usar boas práticas de programação
O que diferencia um bom programador de um mal são as “gambiarras”
Dicas
Utilize variáveis com nomes que façam algum sentido
X = 5 não quer dizer nada contador = 5 diz muito mais
Utilize comentários ao longo do código
O compilador é seu melhor amigo, não insulte-o...
Dicas
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Dicas
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Dicas
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...
Programe... Programe.. Programe... Programe.. Programe...