Buscar

Algotitmos-01

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

04/02/2014
1
INTRODUÇÃO À COMPUTAÇÃO
PROF. SALES
ALGORÍTMOS
AULA 01
04/02/2014
2
Conceitos Básicos
• Computador
– Utilizado para auxiliar no trabalho, poupando esforços 
e economizando recursos;
– Recebe, manipula e armazena dados;
– HW + SW
• O computador só consegue efetuar suas operações por 
meio dos programas;
• Linguagem de Programação
Conceitos Básicos
• Para resolver um problema computacional é necessário:
– Encontrar uma maneira de descrever este problema
de uma maneira clara e precisa;
– Encontrar uma seqüência de passos para que o
problema possa ser resolvido de forma automática e
repetitiva;
– Definir como os dados serão armazenados no
computador;
04/02/2014
3
Conceitos Básicos
• Resumindo, a solução de um problema por computador é
baseada:
– Na seqüência de passos;
– Na forma como os dados serão armazenados no
computador;
• Ex.: Receita de bolo;
Algoritmos
• Etapas para o desenvolvimento de um programa:
– Análise
• Compreender o problema, definir os dados de entrada, 
processamento e saída;
– Algoritmo
• Construir a seqüência de passos;
– Codificação
• Transformar o algoritmo em códigos da linguagem de 
programação escolhida (PASCAL), testar (compilação) e 
executar.
04/02/2014
4
Figura 01: Etapas para o desenvolvimento de um programa.
Análise
C
O
D
I
F
I
C
A
Ç
Ã
O
O que é um algoritmo?
“Sequência de passos que visa atingir um objetivo bem
definido” (FORBELLONE, 1999);
“Descrição de uma seqüência de passos que deve ser
seguida para realizar uma tarefa” (ASCENCIO, 1999);
“Sequência finita de instruções cuja execução, em tempo
finito, resolve um problema computacional” (SALVETTI,
1999);
“Regras formais para a obtenção de um resultado ou
solução de um problema.” (MANZANO, 1997)
04/02/2014
5
Características de um algoritmo
• Finitude
– Deve terminar após um número finito de passos;
• Definição
– Cada passo deve ser precisamente definido de forma rigorosa e 
sem ambigüidade;
• Entradas
– Deve conter zero ou mais entradas;
• Saídas
– Deve ter uma ou mais saídas; 
– Possui uma relação específica com as entradas;
• Efetividade
– Deve ser efetivo. Básico de modo a serem executadas com 
precisão; 
Algoritmos
• Ex.: Considere o problema
– Dispomos de 2 vasilhas com capacidade de 9L e 4L 
respectivamente;
– As vasilhas não possuem marcações;
– Como encher uma terceira vasilha de medida 
desconhecida com 6L de água?
04/02/2014
6
Algoritmos
• Uma possível solução é:
– Encha a vasilha de 9 litros; 
– Usando a vasilha de 9 litros, encha a vasilha de 4 litros; 
– Despeje o que sobrou na vasilha de 9 litros (5 litros) na terceira 
vasilha;
– Esvazie a vasilha de 4 litros; 
– Torne a encher a vasilha de 9 litros; 
– Usando a vasilha de 9 litros encha a vasilha de 4 litros; 
– Esvazie a de 4 litros; 
– Usando o que restou na vasilha de 9 litros (5 litros), encha 
novamente a vasilha de quatro litros; 
– Despeje o que sobrou na vasilha de 9 litros (1 litro) na terceira 
vasilha, que agora tem 6 litros.
Algoritmos
• Pode haver mais de um algoritmo para resolver um
determinado problema;
• A escolha será feita em função do critério que melhor se
adequar as nossas necessidades;
• Não existe um algoritmo para criação de algoritmos;
“Um problema pode ser resolvido de diversas maneiras, 
porém, gerando a mesma resposta” (ASCENCIO, 2012)
04/02/2014
7
Representação de Algoritmos
Descrição Narrativa
• Os algoritmos são expressos diretamente em linguagem
natural, como nos exemplos anteriores;
– Vantagem:
• Não é necessário aprender nenhum conceito novo;
– Desvantagem:
• Abre espaço para várias interpretações, dificultando a 
transição para o programa;
Representação de Algoritmos
Fluxograma
• Escrever os passos para resolução do problema utilizando
símbolos gráficos predefinidos;
– Vantagem:
• Entendimento mais simples do que de textos;
– Desvantagem:
• Necessário aprender a simbologia dos fluxogramas;
• O algoritmo resultante não apresenta muitos detalhes 
dificultando sua transição para o programa.
04/02/2014
8
Representação de Algorítmos
Fluxograma
• Terminal: Início e fim de um programa;
• Entrada: Entrada de informações passada
pelo usuário;
• Conector: Serve para união dos fluxos de
informações;
• Condição: Indica a divisão do fluxo por uma
determinada condição;
• Saída: Indica a saída de informações
processadas para o usuário;
• Seta de fluxo: Indica o caminho;
• Processamento: Utilizado para fazer cálculos e
atribuição de valores;
Representação de Algorítmos
Fluxograma
• Para desenvolver um fluxograma correto, devemos:
– Devem ser feitos e quebrados em vários níveis. Os
primeiros devem conter apenas as idéias gerais,
deixando para as etapas posteriores os detalhamentos
necessários;
– Deve ser feito de cima para baixo e da esquerda para
a direita;
– É incorreto ocorrer cruzamento das linhas de fluxo de
dados de um diagrama de bloco;
04/02/2014
9
Representação de Algoritmos
Pseudocódigo ou Portugol
• Escrita do programa por meio de regras predefinidas;
– Vantagem:
• Codificação quase imediata;
– Desvantagem:
• Necessário aprender as regras de pseudocódigo;
Representação de Algorítmos
Não existe consenso entre os especialistas sobre qual seria 
a melhor maneira de representar um algoritmo, atualmente 
a maneira mais comum é através do pseudocódigo ou 
portugol;
04/02/2014
10
Representação de Algorítmos
*Algoritmo em descrição narrativa
Representação de Algorítmos
*Algoritmo em Fluxograma
Mau
Mediucre
Suficiente
Bom Nota Inválida
Nota
04/02/2014
11
Representação de Algorítmos
*Algoritmo em Fluxograma
Raio Inválido
Raio
*Algoritmo em pseudocódigo
Representação de Algorítmos
04/02/2014
12
Vamos treinar??
• Construa um algoritmo para representar cada uma das 
seguintes atividades:
– Calcular a área de um retângulo;
– Fazer um sanduíche;
– Trocar uma lâmpada;
– Sacar dinheiro no banco 24h;
Vamos treinar??
• Construa os fluxogramas, para representar cada uma das 
seguintes atividades:
– Calcular a área de um retângulo;
– Fazer um sanduíche;
– Trocar uma lâmpada;
– Sacar dinheiro no banco 24h;
04/02/2014
13
Princípios de resolução de problemas
• Exemplo:
• Uma escola qualquer, onde o cálculo da
média é realizado por quatro notas bimestrais
que determinam a aprovação ou reprovação
dos alunos;
• Considere ainda, que o valor da média deve
ser maior ou igual a 7 para que haja
aprovação;
• Inicio
• Receber as 4 notas
• Calcular a média aritmética
• Se média for maior ou igual a sete exibir 
mensagem de APROVADO, senão, exibir 
mensagem de REPROVADO
• Fim
04/02/2014
14
04/02/2014
15
04/02/2014
16
Programa média
Var
Resultado : caractere
N1,n2,n3,n4,soma,media : real
Inicio
Leia(n1,n2,n3,n4)
Soma<-n1+n2+n3+n4
Media <-soma/4
Se (media >=7) então
Resultado <-“APROVADO”
Senão
Resultado<- “REPROVADO”
Fim_se
Escreva(Resultado)
fim
Vamos treinar??
• Represente os algoritmos abaixo através de descrição 
narrativa e fluxograma:
– Algoritmo para mostrar o resultado da multiplicação de 
dois números.
– Algoritmo para mostrar o resultado da divisão de dois 
números. Obs.: Não existe divisão por 0 (zero).
– Algoritmo para calcular a média aritmética entre três notas 
de um aluno e mostrar sua situação, que pode ser 
aprovado ou reprovado.
04/02/2014
17
Obrigado.
"Programas e Catedrais são feitos da mesma 
forma: primeiro construímos, depois rezamos“
Autor Desconhecido.
Referências
• ASCENCIO, Ana Fernanda Gomes. Fundamentos da programação
de computadores: algoritmos, PASCAL, C/C++ e JAVA. 3 ed.São
Paulo: Pearson Education do Brasil, 2012.
• http://web.ist.utl.pt/ist153068/ficheiros/teoricas/Programacao_I_C
ap_1_Algoritmos.pdf

Outros materiais