Вы находитесь на странице: 1из 31

CENTRO FEDERAL DE EDUCAO TECNOLGICA DO AMAZONAS CEFET/AM UNIDADE DE ENSINO DESCENTRALIZADA DE MANAUS UNED/MANAUS

Disciplina: Lgica e Linguagem de Programao Assunto: Introduo a Algoritmos Prof Barbara Kelly da Silva Belota

Roteiro da Aula
1. Algoritmos; 2. Representao de Algoritmos; 2.1 Pseudo-cdigo; 2.2 Diagrama de Bloco ou Fluxograma. 5. Estrutura de Dados; 3.1 Constantes; 3.2 Variveis; 3.3 Tipos de Dados; 3.4 Declarao de Variveis.

1. Algoritmos
Qualquer problema computacional pode ser solucionado executando uma srie de aes em uma ordem especfica Uma especificao para solucionar um problema em termos de Aes a serem executadas e A ordem nas quais essas aes devem ser executadas denominada um algoritmo Portanto, podemos dizer que: Algoritmo uma seqncia ordenada e sem ambigidade de passos que levam soluo de um dado problema

1. Algoritmos
Uma receita de cozinha No Natal, muitos pais passam horas seguindo algoritmos para montar os novos brinquedos de seus filhos Como outro exemplo, considere o algoritmo de levantar-para-trabalhar de um jovem executivo: (1) levantar da cama; (2) tirar pijamas; (3) tomar banho; (4) vestir-se; (5) tomar caf; (6) ir para o trabalho Suponha, entretanto, que os mesmos passos sejam executados em uma ordem ligeiramente diferente: (1) levantar da cama; (2) tirar pijamas; (3) vestir-se (4) tomar banho; (5) tomar caf; (6) ir par o trabalho

1. Algoritmos
No segundo caso, o executivo chegar no trabalho ensopado Assim, a ordem na qual os passos so executados em um algoritmo importante

1. Algoritmos
Imagine o seguinte problema: Calcular a mdia final dos alunos da 3 Srie. Os alunos realizaro quatro provas: P1, P2, P3 e P4. Onde: Mdia Final = P1 + P2 + P3 + P4 4 Para montar o algoritmo proposto, faremos trs perguntas: a) Quais so os dados de entrada? R: Os dados de entrada so P1, P2, P3 e P4 b) Qual ser o processamento a ser utilizado? R: O procedimento ser somar todos os dados de entrada e dividi-los por 4 (quatro) c) Quais sero os dados de sada? R: O dado de sada ser a mdia final

1. Algoritmos
Algoritmo
Receba a nota da prova1 Receba a nota de prova2 Receba a nota de prova3 Receba a nota da prova4 Some todas as notas e divida o resultado por 4 Mostre o resultado da diviso

1. Algoritmos
Teste de Mesa Aps desenvolver um algoritmo ele dever sempre ser testado. Este teste chamado de TESTE DE MESA, que significa, seguir as instrues do algoritmo de maneira precisa para verificar se o procedimento utilizado est correto ou no. Veja o exemplo: Nota da Prova 1 Nota da Prova 2 Nota da Prova 3 Nota da Prova 4 Utilize a tabela abaixo: P1 P2 P3 P4 Mdia 8 6 6 8 7

1. Algoritmos
Algoritmo: Trocar uma Lmpada 1. Remova a lmpada queimada 2. Coloque a nova lmpada

1. Algoritmos
Algoritmo: Trocar uma Lmpada 2. Remova a lmpada queimada Posicione a escada debaixo da lmpada queimada Escolha uma nova lmpada da mesma potncia da queimada Suba na escada at que a lmpada possa ser alcanada Gire a lmpada queimada no sentido anti-horrio at que se solte 2. Coloque a nova lmpada

1. Algoritmos
Algoritmo: Trocar uma Lmpada 2. Remova a lmpada queimada Posicione a escada debaixo da lmpada queimada Escolha uma nova lmpada da mesma potncia da queimada Suba na escada at que a lmpada possa ser alcanada Gire a lmpada queimada no sentido anti-horrio at que se solte 2. Coloque a nova lmpada Posicione a nova lmpada no soquete Gire-a no sentido horrio at que ela se firme Desa da escada

1. Algoritmos
Algoritmo: Trocar uma Lmpada 2. Remova a lmpada queimada Posicione a escada debaixo da lmpada queimada Escolha uma nova lmpada da mesma potncia da queimada Suba na escada at que a lmpada possa ser alcanada Gire a lmpada queimada no sentido anti-horrio at que se solte 2. Coloque a nova lmpada Posicione a nova lmpada no soquete Gire-a no sentido horrio at que ela se firme Desa da escada

1. Algoritmos
Algoritmo: Trocar uma Lmpada 2. Remova a lmpada queimada Posicione a escada debaixo da lmpada queimada Escolha uma nova lmpada da mesma potncia da queimada
Selecione uma candidata substituio Se a potncia no a mesma da queimada, repita o processo at encontrar uma que sirva Descarte a lmpada selecionada Selecione uma nova

Suba na escada at que a lmpada possa ser alcanada Gire a lmpada queimada no sentido anti-horrio at que se solte 2. Coloque a nova lmpada Posicione a nova lmpada no soquete Gire-a no sentido horrio at que ela se firme Desa da escada

1. Algoritmos
Posicione a escada debaixo da lmpada queimada Escolha uma nova lmpada da mesma potncia da queimada Selecione uma candidata substituio Se a potncia no a mesma da queimada, repita o processo at encontrar uma que sirva Descarte a lmpada selecionada Selecione uma nova Repita at que a lmpada possa ser alcanada Suba um degrau da escada Repita at que a lmpada fique livre do soquete Gire a lmpada queimada no sentido anti-horrio Posicione a nova lmpada no soquete Repita at que a nova lmpada esteja firme no soquete Gire a lmpada no sentido horrio Desa da escada

1. Algoritmos
Posicione a escada debaixo da lmpada queimada Escolha uma nova lmpada da mesma potncia da queimada Selecione uma candidata substituio Se a potncia no a mesma da queimada, repita o processo at encontrar uma que sirva Descarte a lmpada selecionada Selecione uma nova Repita at que a lmpada possa ser alcanada Voc pode estar pensando: Eu realizo Suba um degrau da escada atividade de maneira diferente. essa Repita at que a lmpada fique livre do soquete um mesmo Isso pode acontecer, pois Gire a lmpada queimada no sentido anti-horrio problema pode ser solucionado de Posicione a nova lmpada no soquete maneiras diferentes, porm gerando a mesma resposta. Assim, podem existir Repita at que a nova lmpada esteja firme no soquete vrios algoritmos para resolver um Gire a lmpada no sentido horrio mesmo problema. Desa da escada

1. Algoritmos
Algoritmo: Trocar uma Lmpada Esse processo de aumentar o detalhamento de um algoritmo pode continuar quase que indefinidamente O algoritmo para trocar uma lmpada mostra como os algoritmos podem ser expressos: operaes simples e sem ambigidade; a ordem na qual os passos devem ser seguidos claramente expressa

2. Representao de Algoritmos
Pseudo-cdigo (ou portugus estruturado); Diagrama de Bloco ou Fluxograma; Diagrama de Nassi-Shneiderman; Diagrama de Booch; Programas escritos em uma das representaes no so Diagrama UML; executados diretamente em computadores; eles auxiliam ...
os programadores a pensarem sobre um programa antes de tentar escrev-lo em uma linguagem de programao como C, C++ ou Pascal.

2.1 Pseudocdigo
uma linguagem artificial que auxilia os programadores no desenvolvimento de algoritmos; similar ao portugus; conveniente e amigvel, embora no seja uma linguagem de programao de computadores.

2.1 Pseudocdigo
Exemplo 1: Faa um algoritmo para mostrar o resultado da multiplicao de dois nmeros Algoritmo em pseudo-cdigo

Algoritmo Multiplicar Incio declare N1, N2, M : inteiro Escreva(Digite dois nmeros) Leia(N1,N2) M <-- N1 * N2 Escreva(M) Fim

2.2 Fluxograma
Consiste em analisar o enunciado do problema e escrever, utilizando smbolos grficos pr-definidos, os passos a serem executados para a resoluo do problema; O entendimento de smbolos grficos mais fcil que o de textos; Para algoritmos complexos, pode dificultar a programao de forma estruturada.

Principais Smbolos:

2.2 Fluxograma

= Incio e final do fluxograma = Operao de entrada de dados = Operao de sada de dados em impressora = Operao de sada de dados em vdeo = Operaes de atribuio e chamada ou retorno de subalgoritmo = Deciso = Seta do Fluxo de Dados = Conector utilizado quando preciso particionar o diagrama, colocando uma letra ou nmero no smbolo para identificar os pares da conexo = Conector especfico para indicar conexo do fluxo de execuo em outra pgina = Preparao - operaes que utilizam uma chave que modifica a execuo do programa

2.2 Fluxograma
Exemplo 1: Faa um algoritmo para mostrar o resultado da multiplicao de dois nmeros Algoritmo em pseudo-cdigo Incio

Digite dois Nmeros

Algoritmo Multiplicar Incio declare N1, N2, M : inteiro Escreva(Digite dois nmeros) Leia(N1,N2) M <-- N1 * N2 Escreva(M) Fim

N1, N2

N1 * N2

Fim

2.2 Fluxograma
Exemplo 2: Faa um algoritmo para mostrar o resultado da diviso de dois nmeros Algoritmo em pseudo-cdigo Incio Digite dois Nmeros N1, N2 F V

Algoritmo Dividir Incio declare N1, N2, D : inteiro Escreva(Digite dois nmeros) Leia(N1,N2) Se N2 = 0 Ento Escreva(Impossvel dividir) Seno D<--N1 / N2 Escreva(D) Fim_Se Fim

N2 = 0

N1 / N2 D Fim

Impossvel Dividir

Questo
Exerccio 1: Utilize essas idias para escrever um algoritmo utilizando fluxograma para calcular a mdia aritmtica entre duas notas de um aluno e mostrar a mdia e a situao do aluno, que pode ser aprovado ou reprovado Voc tem 5 minutos escrever o algoritmo para

Soluo
Incio N1, N2 M (N1 + N2) / 2 M F V

M>5

Reprovado

Aprovado

Fim

3. Estrutura de Dados
Para armazenar os dados na memria, imagine que a memria de um computador um grande arquivo com vrias gavetas, onde cada gaveta pode armazenar apenas um nico valor (seja ele numrico, caractere ou lgico). Se um grande arquivo com vrias gavetas, necessrio identificar com um nome a gaveta que se pretende utilizar. Desta forma o valor armazenado pode ser utilizado a qualquer momento.

3.1 Constantes
Constante um determinado valor fixo que no se modifica ao longo do tempo, durante a execuo de um programa. Conforme o seu tipo, a constante classificada como sendo numrica, lgica e literal. Exemplo de Constante: MF = 7,0 Constante

3.2 Variveis
Varivel a representao simblica dos elementos de um certo conjunto. Cada varivel corresponde a uma posio de memria, cujo contedo pode se alterado ao longo do tempo durante a execuo de um programa. Embora uma varivel possa assumir diferentes valores, ela s pode armazenar um valor a cada instante. Exemplo de Variveis: MF = N1 + N2 2 Variveis

3.3 Tipos de Dados


As variveis e as constantes podem ser basicamente de quatro tipos: Numricas, caracteres, Alfanumricas ou lgicas. Numricas - Especficas para armazenamento de nmeros, que posteriormente podero ser utilizados para clculos. Podem ser ainda classificadas como Inteiras ou Reais. As variveis do tipo inteiro so para armazenamento de nmeros inteiros e as Reais so para o armazenamento de nmeros que possuam casas decimais. Caracteres - Especficas para armazenamento de conjunto caracteres que no contenham nmeros (literais). Ex: nomes. de

Alfanumricas - Especficas para dados que contenham letras e/ou nmeros. Pode em determinados momentos conter somente dados numricos ou somente literais. Se usado somente para armazenamento de nmeros, no poder ser utilizada para operaes matemticas. Lgicas - Armazenam somente dados lgicos que podem ser Verdadeiro ou Falso.

3.4 Declarao de Variveis


As variveis s podem armazenar valores de um mesmo tipo, de maneira que tambm so classificadas como sendo numricas, lgicas e literais. Exemplo: Numrico Inteiro (3, 7, -6, 7829) Real (23.8, 3.683, -6281.232, 2.71e10) Cadeia de caracteres ou string (abc, ana paula, 3 + 4 = 7) Lgico ou booleano (verdadeiro/falso; true/false)

Reviso:
Perguntas
3.O que Algoritmo? 4.O que uma constante? D dois exemplos. 5.O que uma varivel? D dois exemplos. 6.Quais so os tipos de Representaes de Algoritmos mais utilizados?

Вам также может понравиться