Transcript Algoritmo
Lógica de Programação
Introdução aos Algoritmos
Prof. Me. Claudio Benossi [email protected]
Sumário Revisão de algoritmos Linguagem de programação Linguagem estruturada Elaboração de programas
Sumário Revisão de algoritmos Linguagem de programação Linguagem estruturada Elaboração de programas
Algoritmo – Definição Descrição de um conjunto finito de comandos para a solução de um problema em um tempo finito .
Algoritmo – Exemplo :: Trocar o pneu de um carro
Algoritmo – Exemplo :: Trocar o pneu de um carro 1.
Desparafusar a roda.
Algoritmo – Exemplo :: Trocar o pneu de um carro 2.
Suspender o carro com um macaco.
Algoritmo – Exemplo :: Trocar o pneu de um carro 3.
Retirar a roda com o pneu furado.
Algoritmo – Exemplo :: Trocar o pneu de um carro 4.
Colocar o step.
Algoritmo – Exemplo :: Trocar o pneu de um carro 5.
Abaixar o carro.
Algoritmo – Exemplo :: Trocar o pneu de um carro 6.
Parafusar a roda.
Algoritmo – Mais Exemplos Pegar um ônibus para o Drummond.
Fazer um bolo.
Fazer um barco de papel.
Algoritmo Uma boa lógica de programação é desenvolvida a partir de um conjunto de elementos, entre eles: Organização Criatividade Perseverança Padronização Otimização
Algoritmo Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo. O aprendizado desta técnica é necessário, para quem quer trabalhar com desenvolvimento de sistemas e programas.
Lógica de Programação: raciocínio lógico empregado no desenvolvimento de programas de computador, fazendo uso ordenado dos elementos básicos suportados por um dado estilo de programação.
Algoritmo Algoritmo é uma sequência de passos finitos com o objetivo de solucionar um problema.
Algoritmo - Exemplo Elabore um algoritmo em linguagem natural para resolver as situações colocadas a seguir: Um homem precisa atravessar um rio com um barco que possui capacidade de transportar apenas ele e mais uma de suas três cargas, que são: um cachorro, uma galinha e um saco de milho. O que o homem deve fazer para conseguir atravessar o rio sem perder as suas cargas?
Algoritmo - Exemplo Inicio Homem leva a galinha até a margem direita; Homem Volta a margem esquerda; Homem leva o Cachorro até a margem direita; Fim Homem Volta a margem esquerda levando a galinha; Homem leva o Saco de Milho até a margem direita; Homem Volta a margem esquerda; Homem leva a galinha até a margem direita;
Algoritmo – Propriedades Possui um estado inicial Possui sequência lógica Contém ações claras e precisas Possui dados de entrada Produz estado final previsível Deve ser eficaz
Algoritmo – Fluxo Entrada Sequência Lógica Saída
Algoritmo – Fluxo Raio R de uma circunferência P=2* *R Perímetro P da circunferência
Algoritmo
OPERADORES ARITMÉTICOS
+ Adição - Subtração * Multiplicação / Divisão
Algoritmo
OPERADORES RELACIONAIS
> Maior que < Menor que >= Maior ou Igual <= Menor ou Igual = Igual <> Diferente
Algoritmo
LINEARIZAÇÃO DE EXPRESSÕES
Para a construção de Algoritmos todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas.
É importante também ressalvar o uso dos operadores correspondentes da aritmética tradicional para a computacional.
Algoritmo Exemplo:
Algoritmo
MODULARIZAÇÃO DE EXPRESSÕES
A modularização é a divisão da expressão em partes, proporcionando maior compreensão e definindo prioridades para resolução da mesma.
Como pode ser observado no exemplo anterior, em expressões computacionais usamos somente parênteses “( )” para modularização.
Algoritmo Na informática podemos ter parênteses dentro de parênteses.
Exemplos de prioridades: (2+2)/2=2 2+2/2=3
Algoritmo
OPERADORES ESPECIAIS (MOD e DIV) MOD
Retorna o resto da divisão entre 2 números inteiros.
DIV
Retorna o valor inteiro que resulta da divisão entre 2 números inteiros.
Algoritmo
OPERADORES LÓGICOS
Atuam sobre expressões retornando sempre valores lógicos como Falso ou Verdadeiro.
E OU
RETORNA VERDADEIRO SE AMBAS AS PARTES FOREM VERDADEIRAS.
BASTA QUE UMA PARTE SEJA VERDADEIRA PARA RETORNAR VERDADEIRO.
NÃO
INVERTE O ESTADO, DE VERDADEIRO PASSA PARA FALSO E VICE-VERSA.
Algoritmo
TABELA VERDADE A
V V F F
B
V F V F
A E B
V F F F
A OU B
V V V F
NÃO (A)
F F V V
Algoritmo
EXPRESSÕES LÓGICAS
As expressões compostas de relações sempre retornam um valor lógico.
Exemplos: 2+5>4 Verdadeiro 3<>3 Falso
Algoritmo De acordo com a necessidade, as expressões podem ser unidas pelos operadores lógicos.
Exemplos:
Algoritmo
VARIÁVEIS
Variáveis são endereços de memória destinados a armazenar informações temporariamente.
* Todo Algoritmo ou programa deve possuir variável!
Algoritmo
VARIÁVEIS DE ENTRADA E SAÍDA
Variáveis de Entrada armazenam informações fornecidas por um meio externo, normalmente usuários ou discos.
Variáveis de Saída armazenam processados como resultados.
dados
Algoritmo Exemplo: De acordo com a figura acima A e B são Variáveis de Entrada e C é uma Variável de Saída.
Algoritmo
CONSTANTES
Constantes são endereços de memória destinados a armazenar informações fixas, inalteráveis durante a execução do programa.
Exemplo: PI = 3.1416
Algoritmo
IDENTIFICADORES
São os nomes dados a variáveis, constantes e programas.
Regras Para construção de Identificadores: Não podem ter nomes de palavras reservadas (comandos da linguagem); Devem possuir como 1º caractere uma letra ou Underscore ( _ );
Algoritmo Ter como demais caracteres letras, números ou Underscore; Ter no máximo 127 caracteres; Não possuir espaços em branco; A escolha de letras maiúsculas ou minúsculas é indiferente.
Algoritmo
IDENTIFICADORES
São os nomes dados a variáveis, constantes e programas.
Regras Para construção de Identificadores: Não podem ter nomes de palavras reservadas (comandos da linguagem); Devem possuir como 1º caractere uma letra ou Underscore ( _ ); Ter como demais caracteres letras, números ou Underscore; Ter no máximo 127 caracteres;
Algoritmo Exemplo:
Algoritmo
TIPOS DE DADOS
INTEIRO
ADMITE SOMENTE GERALMENTE É REPRESENTAR (QUANTIDADE).
NÚMEROS UTILIZADO UMA INTEIROS.
PARA CONTAGEM
Algoritmo
TIPOS DE DADOS
REAL
ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS). GERALMENTE É UTILIZADO PARA REPRESENTAR UMA MEDIÇÃO.
Algoritmo
TIPOS DE DADOS
CARACTERE
ADMITE CARACTERES ALFANUMÉRICOS. OS NÚMEROS QUANDO DECLARADOS PERDEM A ATRIBUIÇÃO DE VALOR.
COMO CARACTERES TORNAM SE REPRESENTATIVOS E
Algoritmo
TIPOS DE DADOS
LÓGICO
ADMITE SOMENTE (VERDADEIRO / FALSO).
VALORES LÓGICOS
Algoritmo
COMANDOS DE I/O (INPUT/OUTPUT) Entrada e Saída
LER
Comando de entrada que permite a leitura de Variáveis de Entrada.
ESCREVER
Comando de saída que exibe uma informação na tela do monitor.
IMPRIMIR
Comando de saída que envia uma informação para a impressora.
Sumário Revisão de algoritmos Linguagem de programação Linguagem estruturada Elaboração de programas
Linguagem de programação Estabelece máquina.
regras de sintaxe para que o algoritmo possa ser entendido por uma
Algoritmo × Linguagem de Programação Raciocínio Algoritmo int a, b, c; if (a > 2) a = b + c; else a = b – c; return; Programa
Programa Programa é a codificação de um algoritmo em uma linguagem de programação.
Um computador é uma máquina que, a partir de uma entrada , realiza um número de cálculos matemáticos e lógicos, gerando uma saída .
Programa é o elemento que diz ao computador quais cálculos devem ser realizados.
Sumário Revisão de algoritmos Linguagem de programação Linguagem estruturada Elaboração de programas
O que é linguagem estruturada?
É uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: Sequência Decisão Interação
Características Sua principal característica é a utilização de blocos para solução de um problema.
Permite a utilização combinada de sub-rotinas compiladas separadamente , sem que pertençam ao mesmo programa propriamente dito.
Sumário Revisão de algoritmos Linguagem de programação Linguagem estruturada Elaboração de programas
Passos para elaboração de um programa 1.
2.
3.
4.
Compreender o problema.
Esboçar um procedimento para resolver o problema.
Formular o algoritmo.
Traduzir o algoritmo para uma linguagem de programação (Codificação).
Passos para elaboração de um programa :: Exemplo Calcular as raízes reais de:
ax 2 + bx + c
1. Compreender o problema Exemplo: Equação de 2o. grau Possibilidades de raízes: 02 raízes complexas ; 02 raízes reais idênticas ; 02 raízes reais distintas ; Condição para haver raízes reais: Δ ≥ 0
2. Esboçar um procedimento para resolver o problema Calcular Δ.
Se Δ ≥ 0, calcular raízes reais.
Caso contrário, informar que não há raízes reais.
3. Formular o algoritmo ler (a,b,c) delta = b^2 – 4*a*c se (delta ≥ 0) então r1 = – b – (delta)^(–1/2) r2 = – b + (delta)^(–1/2) escrever (r1,r2) senão escrever (“Não há raiz real”) fim do se fim do algoritmo
4. Codificar #include
Gerando um programa executável Passos necessários para gerar um programa executável: A.
B.
Codificação Geração de Código Objeto C.
D.
Linkagem Depuração (debug)
Gerando um programa executável Codificação Código fonte Geração de código objeto Código objeto Depuração Bibliotecas Linkagem Programa Executável
Gerando um programa executável A. Codificação É a escrita de um programa de acordo com uma linguagem de programação.
Utiliza
Editores de Texto
.
Resultado: código-fonte .
Gerando um programa executável B. Geração de código-objeto Tradução do código-fonte para o código de máquina do processador.
Realizado pelos
Compiladores
.
Resultado: código-objeto .
Gerando um programa executável C. Linkagem Rearranja o código do programa Incorpora as partes referenciadas no código original (obtidas de uma biblioteca ).
Realizada pelos
Ligadores
.
Resultado: código executável pelo processador.
Gerando um programa executável D. Depuração (debug) Auxilia o programador a eliminar erros dos programas (“bugs”).
Permite: execução passo-a-passo.
visualização do estado do programa através das variáveis.
Para saber mais...
SEBESTA, R. W. Conceitos de linguagens de programação . 4ª ed. Bookman, 2000.
Dicionário de Linguagens de Programação: http://users.erols.com/ziring/dopl.html
Dicionário de algoritmos e estruturas de dados: http://www.nist.gov/dads/
Questões