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 externos
Leia(x1, x2, .., xn)
Atribui valor as variáveis
 scanf(“%d”, &variavel);
Mostrar saída gerada pelo algoritmo
Mostre(x1, x2, ..., xn)
Mostra o valor associado as variáveis
 printf(“%d”, variavel);
Mostre(“Resultado da operação”)
Mostra uma cadeia de caracteres
Estrutura do algoritmo
Endentação
Bloco (sequência de instruções)
x 1;
enquanto (x <10) faça
{
x = 1;
while ( x < 10) {
x = x + 1;
x  x + 1;
printf(“%d”, x);
escreva(x);
escreva("Bye, bye");
}
printf(“Bye, bye”);
}
Em C um bloco é delimitado pelos caracteres { e }
Estruturas de controle
Estrutura condicional
se <condição> então <ação 1> senão <ação 2>
Exemplo:
leia(x);
If ( ......){
se (x < 0) então
escreva("O número é negativo")
......
}else{
senão
escreva("O número não é negativo")
.......
}
Estruturas de controle
Estrutura de repetição 1
enquanto <condição> faça <ação>
Exemplo:
leia(x);
while ( .... ) {
enquanto (x <10) faça
x  x + 1;
}
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;
for ( .... ; .... ; .... ) {
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.
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...
Download

x = 1