Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de...
Transcript of Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de...
![Page 1: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/1.jpg)
Linguagem de programação I A
Carlos Oberdan Rolim
Ciência da Computação
Sistemas de Informação
Versão: 11032014_01
![Page 2: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/2.jpg)
Revisão algoritmos
![Page 3: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/3.jpg)
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
![Page 4: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/4.jpg)
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.
![Page 5: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/5.jpg)
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
![Page 6: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/6.jpg)
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
![Page 7: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/7.jpg)
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
![Page 8: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/8.jpg)
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
![Page 9: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/9.jpg)
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);
![Page 10: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/10.jpg)
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”);
}
![Page 11: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/11.jpg)
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{
.......
}
![Page 12: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/12.jpg)
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 ( .... ) {
}
![Page 13: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/13.jpg)
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 ( .... );
![Page 14: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/14.jpg)
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 ( .... ; .... ; .... ) {
....
}
![Page 15: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/15.jpg)
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 */
![Page 16: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/16.jpg)
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”
![Page 17: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/17.jpg)
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...
![Page 18: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/18.jpg)
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...
![Page 19: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/19.jpg)
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...
![Page 20: Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: 11032014_01.](https://reader036.fdocumentos.tips/reader036/viewer/2022062700/552fc13b497959413d8d9318/html5/thumbnails/20.jpg)
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...