Sei sulla pagina 1di 6

I1

Conceitos

• Um conjunto finito de regras, bem definidas, para a


solução de um problema em um tempo finito.

Algoritmos • Uma descrição de um padrão de comportamento,


expresso em termos de um conjunto finito de ações.

Descriç
Descrição de um conjunto de aç
ações • É a descrição de um conjunto de comandos que,
obedecidos, resultam numa sucessão finita de ações.

1 2

Principais Características Exemplos de Algoritmos

• Número finito de passos; • Dimensionamento de componentes eletrônicos;


• Cada passo deve ser precisamente definido; • Receita de bolo;
• Pode ou não ter entradas;
• Instruções de uso de um eletrodoméstico;
• Uma ou mais saídas
• Forma de cálculo da tarifa de energia elétrica;
• Existe uma condição de fim sempre atingida
em tempo finito. • Identificação de impressão digital;
• Etc...

3 4

Exemplo de Algoritmo Seqüencial


Tipos Comuns de Algoritmos
Início Ordem de
• Puramente seqüencial Fazer o molho de tomate; execução

• Com Seleção Cortar a carne em tiras pequenas;


Cozinhar os cogumelos por 15 minutos;
• Com Repetição Cortar os cogumelos em fatias;
Juntar o molho e a carne na panela;
• Composto, etc... A execução de determinados
Cozinhar por 30 minutos em fogo brando;
passos depende de uma
condição: Colocar os cogumelos na panela;
Possui um ou mais de seus passos repetidos
Ex.: Se
um determinado <condição>
número então
de vezes Cozinhar por 5 minutos;
instrução
Ex.: Contador no cálculo da média de notas Juntar o creme de leite; Não Façam
de uma turma Fim Isso em
5 Casa 6

1
Slide 1

I1 Aula Teórica 02
Diciplina:EEL7021
INEP; 15/5/2006
Exemplo de Algoritmo C/Seleção e
Repetição Fluxograma
os
nd ais
o ma cion
C ndi
o Forma de representação de Algoritmos
repita inc Símbolos principais
colocar uma pitada de sal
ição
provar o molho Cond ste
o b te PROCESSO DECISÃO TERMINAÇÃO EXIBIR
se sal já é suficiente s
então interrompa a repetição
fim se CONECTOR
DOCUMENTO DADOS
fim repita
C ndi
co
om c

ARMAZENAMENTO
an ion

CONECTOR EM DISCO
do al

PARA OUTRA
PÁGINA
7 8
Obs.: Não existe uma padronização rígida

Exemplo de Fluxograma Diagramas de Chapin


Forma de representação de Algoritmos

seqüência seleção repetição

processo 1 condição enquanto CONDIÇÃO


opção 1 opção 2
processo 2 comandos a serem
processo da processo da
processo 3 opção 1 opção 2 repetidos

repetição seleção múltipla


(executa ao menos uma vez)

condição n opções

opção 3
comandos a serem
repetidos opção 2

opção 1
enquanto CONDIÇÃO
processos
n outros

processo processo processo


1 2 3
9 10
Diagrama de Chapin - Exemplo

Inicializa a porta da impressora


zera o contador de bytes transmitidos
enquanto existirem dados a transmitir à impressora
pega um byte do buffer de dados
Comparação entre as Técnicas
tipo do byte ?

caractere controle

escreve o byte escreve o byte


na porta de dados na porta de controle
espera o comando
incrementa o contador (controle) ser
de bytes transmitidos reconhecido pela
impressora

a impressora retornou
um código de erro?
sim não

sinaliza erro (na tela)


escreve o conteúdo do
força o encerramento contador de bytes
do laço de repetição transmitidos (na tela)

coloca a porta da impressora em repouso http://www.cs.princeton.edu/~ah/alg_anim/version1/BubbleSort.html


11 http://math.hws.edu/TMCM/java/xSortLab/index.html 12

2
Ex.: Algoritmo Volume Esfera Conceitos Básicos

4
EXEMPLO DE EXPRESSÃO: V = π r3 • CONSTANTE: Valor que não muda durante o programa;
3
• VARIÁVEL: Caixa de nome fixo cujo conteúdo (valor) pode ser
Constante: 4, π, 3 alterado;
Variáveis: V, r
⎧igualdade ⎫ • OPERADOR: realiza uma transformação;
⎪multiplicação ⎪
⎪ ⎪
Operadores: ⎨ ⎬ • EXPRESSÃO MATEMÁTICA: conjunto de ações sobre objetos.
⎪ potencialização ⎪
⎪⎩divisão ⎪⎭ • OBJETOS: Variáveis ou constantes

PRIORIDADES – A ordem de operação pode ser relaxada em


decorrência das prioridades de comutatividade e associatividade.
(2+3)+4 = 2+(3+4) ; 5*4=4*5 13 14

Conceitos Básicos Conceitos Básicos


Relação entre o Operador e o Objeto ATRIBUIÇÃO:Substituição do conteúdo de uma variável
(destruição do valor anterior).

Notação: A ← 5, A := 5, A = 5
y = x ⇒ x∈\+
Exemplo
Domínio do Operador (!,arcsen..) y = n ! ⇒ n∈ ` EXEMPLOS: Supondo os seguintes valores, A=5, B=2, C=3
y = arcsen x ⇒ x ∈[ −1,1] C←A
A←B (A = 2)
A←B ( A = 2, B = 5)
inteiros B←C
Exemplo
reais
A← B
Limitação dos operadores
lógicos (verdadeiro ou falso) B←A ( A = 2, B = 2)
literais (caracteres)
A ← A +1 ( A = 6)

15 A = A +1 ( A = 6) 16

Algoritmo Volume Esfera Simplificação Algoritmo


4 3
Cálculo do volume de uma esfera: V = πr A decomposição de uma expressão em passos mais elementares
3 possibilita o emprego de máquinas mais simples para a sua resolução.
1)Obter o raio
2)Elevar o raio ao cubo
3)Determinar o valor de π π ← 3 . 1415
4)Multiplicar o valor de π pelo raio ao cubo obter o raio : r ← ?
5)Multiplicar o resultado de (4) por 4 Acc ← r
6)Dividir o resultado de (5) por 3
Acc ← Acc . Acc
Acc ← Acc .r
7)Atribuir o resultado de (6) à variável V Acc ← Acc .π
8)Parar Acc ← Acc . 4
Acc ← Acc / 3
OBS.: V ← Acc
1)Utilização de resultado anteriores (intermediários) 5,6,7 Fim
2)Precisão de π e das operações
17 18

3
Fluxograma do Algoritmo Diagrama de Chapin do Algoritmo

Inicio

π ← 3 . 1415 π ← 3 . 1415
Obter Raio
Obter Raio
4
V = πr 3
4 3
V = πr 3
3 Apresentar V

Apresentar V

Fim
19 20

Formalizar a Linguagem Algorítmica Exercícios


1) Conceitue constante e variável.
FORMULAÇÃO DA LINGUAGEM 2) Qual o efeito de atribuição de um valor a uma variável?
1. Estrada de dados : ler <lista de variáveis> 3) Determine o algoritmo para calcular a expressão abaixo, o algoritmo
2. Saída de dados : escrever <lista de variáveis> pode ser paralelizado? − b ± b 2 − 4ac
3. Atribuição : variável = expressão (←) X=
4. Finalização : parar 2a
“Um algoritmo que possui apenas essas quatros instruções e 4) Descreva as operações para intercambiar três variáveis A, B e C
considerando seqüencial” de modo que A fique com o valor de B, B fique com o valor de C, e C
fique com o valor de A .

FORMATO DE UM ALGORÍTMO DE SEQUENCIAL


1. Ler valores
2. Lista de cálculos
3. Escrever resultados
4. Parar

21 22

Ambiente de Programação Ambiente de Programação

COMPILADOR: DEV C++ COMPILADOR: DEV C++

http://www.bloodshed.net
Free Software to the internet community

• duas linguagens de programação: C e C++


• aplicação para WINDOWS e DOS.

23 24

4
Linguagem C : Introdução Linguagem C : Introdução
- Instruções iniciar e parar: main() EXEMPLO DE PROGRAMA
{ /* programa de soma */
} # include <stdio.h>
_______________________________________________ main()
- Instruções de escrever: Printf(“frase desejada\n”); {
seqüência de escape: \n \a int inteiro1, inteiro2, soma;
printf (“entre o primeiro número\n”);
______________________________________________________ scanf (“%d” &inteiro1);
- Instruções de ler: Scanf (“%d”, &nome); printf (“entre o segundo número \n”)
seqüência de controle: \n scanf (“%d”, &inteiro2);
soma = inteiro1+inteiro2;
______________________________________________________ printf (“A soma e %d\n”,soma);
- Identificação das variáveis: return (0);
int soma; }
float num;
______________________________________________________
- Diretivas: no início do programa
25 26

Potrebbero piacerti anche