Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Algoritmos e Programação
Ederson Luiz da SilvaCiência da Computação
_______________________________
_______________________________
Conteúdo
ALGORITMOS
Conceitos e características;
Formas de representação;
Diretrizes para criação de algoritmos;
Fluxogramas;
Pseudocódigo – Visualg. versão 2.5
Conteúdo
PROGRAMAÇÃO
Conceitos e características;
Paradigmas de programação;
Linguagem de alto nível C.
Sintaxe e Semântica;
Entrada e saída de dados;
Estruturas de controle e repetição;
Resolução de problemas utilizando a linguagem de programação.
Introdução
•Lógica• 1.Coerência de raciocínio, de ideias;
• 2.Modo de raciocinar peculiar a alguém, ou a um grupo;
• 3.Sequência coerente, regular e necessária, de acontecimentos, de coisas;
• 4.Filosofia. A ciência dos princípios normativos e formais do raciocínio.
Introdução
• Instruções: • São um conjunto de regras ou normas definidas para
a realização ou emprego de algo.
•Algoritmo: • Conjunto finito de instruções com o objetivo de
realizar determinada tarefa;
• Deve ser objetivo e claro nas instruções, não conter ambiguidade;
• Algoritmos não servem somente para computadores, são utilizados na vida real.
Introdução
•Representação;• Narração descritiva, Fluxograma/Diagrama de Blocos,
Pseudocódigo e Linguagem de programação
Representação• Narração Descritiva: Algoritmos representados na linguagem natural
• Algoritmo para trocar o pneu de um carro:
1: estacionar o carro
2: desligar o carro
3: pegar as ferramentas (chave e macaco)
4: pegar o estepe
5: suspender o carro com o macaco
6: desenroscar os 4 parafusos do pneu furado
7: retirar o pneu furado
8: colocar o estepe
9: enroscar os 4 parafusos
10: baixar o carro com o macaco
11: guardar as ferramentas
Narração Descritiva•Problema de Lógica: Três garrafas de água• Existem três garrafas: a grande, com capacidade para 8 litros; a média,
para 5 litros; a pequena, para 3 litros. A de 8 litros está cheia de água eas outras duas vazias. Como fazer para deixar quatro litros na grande equatro litros na média apenas movimentando a água entre as garrafas?
Narração Descritiva
•Algoritmo para encher garrafas representado descrição narrativa:
• Situação inicial
• Despejar a água da grande até encher a pequena
• Despejar toda a água da pequena na média
• Despejar a água da grande até encher a pequena
• Despejar a água da pequena até encher a média
• Despejar toda a água da média na grande
• Despejar toda a água da pequena na média
• Despejar a água da grande até encher a pequena
• Despejar toda a água da pequena na média
8 0 0
5 0 3
5 3 0
2 3 3
2 5 1
7 0 1
7 1 0
4 1 3
4 4 0
G M P
Narração Descritiva
•Desenvolver um algoritmo na forma de narração descritiva.
Fluxograma / Diagrama de Blocos
• Os fluxogramas são uma representação do algoritmo em formato gráfico;
• Cada ação ou situação é representada por uma forma geométrica pré-estabelecida;
• Linhas com setas são utilizadas para indicar o fluxo do algoritmo.
Fluxograma / Diagrama de Blocos
http://nizzola.com.br/
Fluxograma / Diagrama de Blocos
Decisão: indica desvios na sequência lógica deexecução do programa.
Linhas de fluxo: indicam a sequência das etapas ea direção do fluxo.
Fluxograma / Diagrama de Blocos•Verificar se acadêmico está aprovado:
Fluxograma / Diagrama de Blocos
•Verificar se a pessoa pode fazer CNH com base na idade.
Fluxograma / Diagrama de BlocosVerificar se a pessoa pode fazer CNH com base na idade.
Representação por Pseudocódigo
• Essa pseudolinguagem assemelha-se bastante à forma como osprogramas são escritos. A diferença entre a descrição narrativa e opseudocódigo está principalmente no vocabulário finito e bem menordo pseudocódigo e nas estruturas de controle que apresenta. Autilização de uma gama menor de termos facilita a expressão doraciocínio lógico na medida em que reduz a possibilidade de malentendimento das instruções.
Representação por Pseudocódigo:
Variáveis
Uma variável pode ser vista como uma caixa com um rótulo ounome colado a ela, que num dado instante guarda umdeterminado objeto. O conteúdo desta caixa não é algo fixo,permanente. Na verdade, essa caixa pode ter seu conteúdoalterado diversas vezes. Contudo, o conteúdo deve ser sempredo mesmo tipo.
Constantes
Algo imutável, que não muda.
Visualg – Versão 2.5
http://www2.joinville.udesc.br/~alp/arquivos/UDESC_Apostila_sobre_Visualg_2011.pdf
Operadores Aritméticos
Visualg – Versão 2.5
http://www2.joinville.udesc.br/~alp/arquivos/UDESC_Apostila_sobre_Visualg_2011.pdf
Operadores Relacionais
Visualg – Versão 2.5
http://www2.joinville.udesc.br/~alp/arquivos/UDESC_Apostila_sobre_Visualg_2011.pdf
Operadores Lógicos
Visualg – Versão 2.5Palavras reservadas
Visualg – Versão 2.5Comandos de Entrada e Saída
Visualg – Versão 2.5Atribuição
Representado pelos caracteres<-Sugere uma flecha apontando para a
esquerda
Visualg•Estruturas de Controle;
https://sites.google.com/site/unipliconstrucaodealgoritmos/
Visualg•Estruturas de Controle;
Visualg•Estruturas de Controle;
Visualg•Estruturas de Controle;
Visualg•Estruturas de Controle;
http://www.eletrica.ufpr.br/~rogerio/visualg/
Visualg•Estruturas de Controle;
Visualg•Estruturas de Controle;
Visualg•Estruturas de Controle;
Visualg•Estruturas de Controle;
Visualg
Teste de Mesa
• Identifique as variáveis envolvidas em seu algoritmo;
•Crie uma tabela com linhas e colunas, em que:• Cada coluna representará uma variável a ser
“observada” •As linhas corresponderão às instruções observadas
pelo teste de mesa e •A primeira coluna deverá identificar os números das
linhas correspondentes às instruções observadas;
Teste de Mesa
•Exemplo: Teste de mesa do exemplo anterior• Suponhamos que o usuário digite os valores “15” e “3” para
as variáveis a e b respectivamente.
Linha a b soma subtracao divisao produto
10 15
12 3
14 18
15 12
16 5
17 45