Professional Documents
Culture Documents
Software
Conjunto de instrues que diz ao computador o que fazer. As instrues so escritas em uma forma organizada e seqencialmente lgica.
2/21
Software
Categorias de software
Sistema operacional: controla e coordena o hardware (Ex. Win95). Tradutores: compiladores, interpretadores e montadores. Aplicativos: personalizados ou pacotes (ex. Word, Excel).
Construindo Software
Linguagem de programao
Estrutura de dados
Computador
Soma
4/21
Software em Java
Programas rodam em qualquer computador/Sistema operacional que possua o ambiente Java instalado.
5/21
O que programao?
6/21
Algoritmos
Problema
Algoritmo
Soluo
7/21
Exemplos de algoritmos
Roteiro de um filme Manual de instrues de um eletrodomstico Receita de bolo
8/21
Exemplo de Algoritmo
Passar o carto do banco no leitor; Digitar senha da conta-corrente; No menu que vai aparecer, escolher a opo Retirada; Digitar o valor desejada e apertar a tecla Entra; Confirmar o saque e apertar a tecla Entra; Ficar esperando em frente ao caixa at a sada do dinheiro; Retirar o dinheiro.
9/21
Algoritmos
Possuir aes simples e bem definidas (no ambguas); Possuir seqncia ordenada; Possuir seqncia finita de passos; Possuir fim (todas as aes devem ser executadas em um tempo finito); Pode receber entradas externas; Pode fornecer sadas externas.
10/21
Algoritmos
Exemplo de um algoritmo
Problema: Temos trs hastes. Uma das hastes serve de suporte para trs discos de tamanhos diferentes. Os discos menores so sempre colocados sobre os discos maiores. Desejamos mover todos os discos para a outra haste, porm s podemos movimentar um disco de cada vez e um disco maior nunca pode ser colocado sobre um disco menor.
11/21
Algoritmos
3.
4. 5. 6. 7.
Move p para haste 3; Move m para haste 2; Move p para haste 2; Move g para haste 3; Move p para haste 1; Move m para haste 3; Move p para haste 3.
12/21
Redefinindo programao
a seqncia de planejamento, projeto, escrita e testes de instrues que sero executadas pelo computador. Complexidade do problema um desafio:
Todas as situaes diferentes que um problema pode apresentar devem ser previstas na sua soluo.
13/21
Programao
Algoritmo
Anlise do Problema
1. Incluir livro 2. Incluir Aluno
Codificao
Testes e Depurao
Programas
Sistema
14/21
Algoritmos
Identificao do problema; Identificao das entradas de dados; Identificao das sadas de dados; Identificao de regras do problema e limitaes do agente; Determinar o que fazer para transformar as entradas em sadas;
15/21
Algoritmos
Estruturao dos programas. Permite que erros sejam detectados antes da codificao. Facilita futuras manutenes do cdigo. Permite maior compreenso do problema.
16/21
Algoritmos
Exemplo: Imagine o seguinte problema: Calcular a mdia final dos alunos da 6 Srie. Os alunos realizaro duas provas: P1, P2. Para montar o algoritmo proposto, faremos trs perguntas:
a) Quais so os dados de entrada? R: Os dados de entrada so P1 e P2. b) Qual ser o processamento a ser utilizado? R: O procedimento ser somar todos os dados de entrada e dividi-los por 2 (dois) (P1 + P2)/2 c) Quais sero os dados de sada? R: O dado de sada ser a mdia final
17/21
Algoritmos
Descrio de algoritmos
Narrativa Descreve o algoritmo em linguagem natural Desvantagens: Linguagem natural prolixa, imprecisa, ambgua. Ex: O pregador(?) foi grampeado(?).
Ex: 1. Receba a nota da prova1; 2. Receba a nota da prova2; 3. Some as notas e divida o resultado por 2; 6. Mostre o resultado da diviso;
18/21
Algoritmos
Ex:
Incio
Fluxograma
Apresenta, de forma grfica, a lgica de um algoritmo Desvantagens: Obscurecem estruturas dos programas. Vem caindo em desuso com o tempo.
P1, P2
Fim
19/21
Algoritmos
Ex:
real: media, P1, P2; Inicio leia(P1); leia(P2); media =(P1 + P2) / 2; escreva(media); Fim
Linguagem simplificada de programao Expresses concisas e pr-definidas Palavras-chaves, indentao, um passo por linha.
20/21
Introduo Programao