Professional Documents
Culture Documents
Na aula de hoje...
Introduo teoria de algoritmos. Conceituao. Estruturao de algoritmos.
Linguagem Natural. Fluxograma. Pseudocdigo.
Programas de computador.
O que um programa. Executando um programa. Linguagens de programao e Sistemas Operacionais.
Conceitos - Algoritmo
Algoritmo descrevem uma conjunto finito de instrues:
Comea com a primeira instruo; Execuo sequncia, uma instruo de cada vez; Possibilidade de saltos para outras instrues; Sempre alcana a instruo PARE, que termina o algoritmo (ALGORITMO CORRETO)
Conceitos - Algoritmo
Um dos algoritmo mais antigo (400 a 300 a.C.): Algoritmo de Euclides, que calcula o mximo divisor comum (MDC) mdc(x,y) = mdc(x, x mod y); mdc(x,0) = x; Entrada: Dois valores inteiros positivos m e n (m>n) Sada: Mximo divisor comum de m e n.
Conceitos - Algoritmo
Cada instruo do algoritmo precisa ser: No ambgua Uma nica operao bem definida; Tecnologicamente vivel; Necessidade de representao Diagramas; Linguagem especfica para escrever algoritmos; Linguagens de programao;
Ferramentas (Bsicas)
Necessrias programao de computadores; Linguagem Natural, Fluxograma, pseudocdigo, linguagem de programao e ambiente de programao
Ferramentas Fluxograma
Auxilia a compreender a sequncia de instrues em algoritmos e programas;
Vantagem: Simples entendimento; Desvantagem: Necessrio entendimento das simbologias. No h muitos detalhes, dificultando sua transcrio para um programa;
Ferramentas Fluxograma
Conjunto de smbolos do fluxograma
Ferramentas Fluxograma
Laos de Repetio (Teste no incio do lao) WHILE
No necessariamente entra no lao
Ferramentas Fluxograma
Laos de Repetio (Teste no fim do lao) DO - WHILE
Obrigatoriamente entra no lao
Ferramentas Fluxograma
Laos de Repetio (Teste no meio do lao Sabendo um nmero de vezes que ser executado) FOR
Ferramentas PseudoLinguagem
Forma genrica de escrever um algoritmo, utilizando de linguagem simples; Notao que se assemelha a uma linguagem de programao, mas que tambm possibilita ao programador concentrar-se no problema a ser modelado sem se prender a uma linguagem de programao especfica. Essa notao mistura definies formais sobre dados e estruturas de controle, com informaes em estilo livre.
Ferramentas PseudoLinguagem
Vantagem: A passagem do algoritmo para qualquer linguagem de programao praticamente imediata; Desvantagem: Necessrio ter um conhecimento prvio em algoritmos;
Ferramentas PseudoLinguagem
Exemplo mdia entre dois nmeros; Variveis: a,b c, real;
Inicio Escreva (Digite o primeiro nmero); Ler (a); Escreva (Digite o segundo nmero); Ler (b);
c = (a+b) / 2;
Escreva (A mdia :,c); Fim
float a, b, c; scanf (Digite dois nmeros:%f %f, &a, &b); Regra: Ponto e Vrgula c=(a+b)/2; printf (A mdia entre os dois nmero : %f, &c); return 0;
Smbolos especficos de operaes
Para dar incio ao aprendizado dessa atividade, importante compreender seu contexto, seu propsito, os conceitos bsicos subjacentes, bem como tomar contato com o ferramental necessrio a sua realizao;
Conceitos
COMPUTADOR
Conceitos - Computador
Coleo de componentes que realizam operaes lgicas e aritmticas sobre um grande volume de dados; Ferramenta de trabalho. Ex.: Editores de texto, planilhas, sistemas de informao;
Un de Entrada
Un de Sada
Perifricos
Complexidade
abstrao
Cdigo de Mquina
nica forma aceita pelo computado; Preciso e bem definido; Envolve detalhe especficos, irrelevantes para o algoritmo;
Complexidade
abstrao
Conceitos - Computador
Construo do Programa
Construir: Passo 1: Elaborar um algoritmo; Passo 2: Reescrever o algoritmo em C; Passo 3: Adicionar o compilador para gerar o programa executvel
Algoritmo
Programador
Programa C
Compilador
Programa Executvel
Construo do Programa
Testar Passo 4: Testar o programa; Erros? Verificar programa em C; Continuam erros? Verificar o Algoritmo!
Algoritmo
Programador
Programa C
Compilador
Programa Executvel
Erros?
Praticando...
Escreva as informaes do fluxograma em pseudo-linguagem e em linguagem de programao;