Buscar

Aula1

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
ALGORITMOS
PROF. HELDER GUIMARÃES ARAGÃO
*
PLANO DE ENSINO
Algoritmos
Linguagem C: tipo elementares de dados.
Entrada e Saída.
Atribuição.
Expressões Lógicas e Aritméticas.
Estruturas de seleção e repetição.
*
SITE E CONTATOS
Contatos: helderfib@yahoo.com.br
Webaula
			
*
BIBLIOGRAFIA
Título: Lógica de programação e estruturas de dados 
Subtítulo:com aplicações em Java Editora:Pearson Education EAN-13: 9788587918826
Ano: 2003
Edição: 1ª
 Título: Fundamentos da programação de computadores
Subtítulo: Algoritmos, Pascal e C/C++ e Java Ano: 2002
Título: Lógica de programação e estruturas de dados
Subtítulo: com aplicações em Java Ano: 2003
*
DEFINIÇÃO – COMPUTADOR
Um computador é uma máquina especial pelo fato de ser programável. 
O fabricante de um computador não tem idéia de qual será a utilização dada ao seu computador;
Por definição, um computador é uma máquina que a partir de dados de entrada, processa esses dados gerando saída de resultados. 
*
DEFINIÇÃO – COMPUTADOR
um computador tem uma característica que o diferencia das outras máquinas: pode realizar as tarefas mais distintas
Processar uma folha de pagamento e uma contabilidade;
Jogos;
Navegação na internet;
*
DEFINIÇÃO – COMPUTADOR
Podemos concluir que o computador pode processar dados de muitas maneiras diferentes. 
Depende fundamentalmente do tipo de instruções que se fornece para ele. 
Durante esse curso, vamos aprender como formular essas instruções para que o computador as execute da melhor maneira possível.
*
PROCESSADOR
Unidade Lógica e Aritmética (ULA): 
responsável pelas operações matemáticas e avaliações lógicas; 
Unidade de Controle (UC): 
Exerce o controle sobre as demais partes do computador. 
distribui tarefas às outras unidades;
Define uma série de instruções.
*
Lógica
Coerência de raciocínio ou de idéias. Seqüência coerente, regular e necessária de acontecimentos ou de coisas (Aurélio) 
A lógica busca ordenar o pensamento.
*
A lógica coerente para validar os fatos e ordenar as idéias
Na lógica se estabelece uma relação, que pode ser válida ou não.
Todo mamífero é um animal.
Todo cavalo é um mamífero.
Portanto, todo cavalo é um animal.
Ordenar o pensamento no dia-a-dia:
A gaveta está fechada.
A caneta está dentro da gaveta.
Precisamos primeiro abrir a gaveta para depois pegar a caneta.
*
Lógica de desenvolvimento de Programas
Lógica de programação: 
É a técnica de encadear pensamentos, ou seja, ligar idéias coerentemente para atingir determinado objetivo.
Os computadores “compreendem” uma seqüência de idéias (instruções) finitas e coerentes.
O principal objetivo do estudo da Lógica de Programação é a construção de algoritmos coerentes e válidos.
*
O que é um algoritmo?
Algoritmo pode ser definido como uma seqüência de passos que visam atingir um objetivo bem definido.
Os algoritmos são representados por um conjunto de passos finitos com o objetivo de solucionar um problema (Lopes, Anita).
Os programas de computadores são executados a partir de uma linguagem de programação (ex: Java, pascal, C).
*
OUTRAS DEFINIÇÕES DE ALGORITMOS
“Um conjunto finito de regras que provê uma seqüência de operações para resolver um tipo de problema específico” [KNUTH]
“Seqüência ordenada, e não ambígua, de passos que levam à solução de um dado problema” [TREMBLAY] 
“Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, as regras formais para a obtenção do resultado ou da solução do problema” 
[AURÉLIO]
*
Exemplo de Algoritmo
Troca de um pneu furado:
Afrouxar ligeiramente as porcas
Suspender o carro
Retirar as porcas e o pneu
Colocar o pneu reserva
Apertar as porcas
Abaixar o carro
Dar o aperto final nas porcas
*
Exemplo de Algoritmo
Cálculo da média de um aluno:
Obter as suas 2 notas de provas
Calcular a média aritmética
Se a média for maior que 7,
o aluno foi aprovado,
senão ele foi reprovado
*
*
Abstração nos algoritmos
Os algoritmos são entidades abstratas.
Programa é a implementação (concreto) do algoritmo em uma determinada linguagem de programação.
*
*
EXEMPLO: FAZER UM ALGORITMO PARA UM ROBÔ QUE PINTE UMA PAREDE
1. Pegue o pincel; 2. Pegue a lata de tinta; 3. Enquanto não chegar no fim da parede, repita os passos 4,5,6 e 7; 4. Se acabou a tinta, pegue outra lata; 5. Molhe o pincel na tinta; 6. Passe o pincel na parede; 7. Ande um passo à direita;
Neste exemplo, podemos observar que as instruções se encaixam em três estruturas padrão:
A SEQUÊNCIA SIMPLES, ou seja, a execução de passos um após o outro de forma sequencial (Ex: passos 1 e 2, passos 5, 6 e 7). 
A SELEÇÃO, ou seja, execução de determinada ação, condicionada a um teste. (Ex: passo 4). 
A REPETIÇÃO, ou seja, execução de um conjunto de passos repetidas vezes, enquanto determinada condição for verdadeira (Ex: passo 3). 
*
FORMAS DE REPRESENTAR UM ALGORITMO
Fluxograma.
Linguagem Algorítmica.
Linguagem de Programação. 
*
FLUXOGRAMA
*
*
VANTAGENS:
Uma das ferramentas mais conhecidas;
Padrão;
 
DESVANTAGENS:
Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los;
Complica-se à medida que o algoritmo cresce.
*
*
EXEMPLO:	Algoritmo CALCULA_DOBRO
início
 Leia NUM
 DOBRO  2 * NUM
 Escreva DOBRO
fim
PORTUGOL
*
*
VANTAGENS:
Usa o português como base;
Pode-se definir quais e como os dados vão estar estruturados;
Passagem quase imediata do algoritmo para uma linguagem de programação qualquer.
 
DESVANTAGENS:
Exige a definição de uma linguagem não real para trabalho;
Não padronizado.
*
LINGUAGEM DE PROGRAMAÇÃO
Pode-se utilizar uma linguagem de programação para implementar um algoritmo
Exemplos de Linguagens: C, Pascal, Java etc...
*
VANTAGENS:
Linguagem que o computador entende; 
Fortemente Padronizado;
Suporta qualquer tamanho de algoritmo.
 DESVANTAGENS:
Exige um conhecimento de lógica de programação
É preciso conhecer a sintaxe da linguagem para extrair idéias básicas sobre o algoritmo.
*
Exercício Algoritmo
Faça um algoritmo que calcule a média de um aluno através de duas notas
Faça um algoritmo que represente o seu caminho até a faculdade
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais