You are on page 1of 73

Algoritmos

Diego Silveira Costa Nascimento, Ms. C.


Instituto Federal de Educao, Cincias e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br www3.ifrn.edu.br/diegonascimento

7 de junho de 2013

Ementa do Curso
1 2 3 4 5 6 7

Introduo Estrutura de um Algoritmo Variveis Operadores de Atribuio e Aritmticos Estrutura de Seleo Estrutura de Repetio Procedimentos e Funes

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

2 / 73

Ementa do Curso
1 2 3 4 5 6 7

Introduo Estrutura de um Algoritmo Variveis Operadores de Atribuio e Aritmticos Estrutura de Seleo Estrutura de Repetio Procedimentos e Funes

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

3 / 73

Objetivos da Disciplina

Fazer uma introduo aos conceitos de Algoritmo; e E apresentar algumas metodologias de desenvolvimento de Algoritmos; e Aprender sobre as caractersticas e os conceitos envolvidos na escrita de um programa de computador.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

4 / 73

Motivaes em Estudar Algoritmos

Atualmente temos um conjunto vasto de linguagens de programao disponveis para se desenvolver sistemas, sejam elas: Java, C/C++, Python, Pascal, Fortran, Cobol, entre outras; Quase tudo ao nosso redor possui sistemas embarcados (celular, televisor, ar-condicionado, carro, entre outros); e Essa disciplina de fundamental importncia para que o aluno possa se aprofundar em qualquer linguagem de programao que venha a utilizar no futuro.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

5 / 73

Algoritmos

Denio
Um algoritmo uma sequncia nita de instrues ou passos bem denidos e no ambguos, cada uma dos quais pode ser executada mecanicamente num perodo de tempo nito e com uma quantidade de esforo nito.

Observaes
Algoritmo no a soluo do problema, pois, se assim fosse, cada problema teria um nico algoritmo; e Algoritmo o caminho para a soluo de um problema, e em geral, os caminhos que levam a uma soluo so muitos.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

6 / 73

Algoritmos (cont.)

A palavra algoritmo vem do nome do matemtico iraniano Abu Abdullah Mohammad Ibn Musa al-Khawarizmi, nascido em Khawarizm (Kheva), ao sul do mar Aral, que viveu no sculo XVII; e

O termo algoritmo tambm utilizado em outras reas, como engenharia, administrao, entre outras.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

7 / 73

Exemplos de Algoritmos no Nosso Cotidiano

Trocar o pneu de um carro; Fazer um bolo a partir de uma receita; Substituir uma lmpada queimada; Desmontar e montar uma bicicleta; Ligar um televisor e escolher um canal; Sair para o trabalho; e Sacar dinheiro no caixa eletrnico.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

8 / 73

O que um Programa de Computador?

Um programa nada mais que um algoritmo; Sua particularidade que suas operaes so especcas para o computador e restritas ao conjunto de instrues que o processador pode executar; Podemos considerar esse conjunto de instrues como a primeira linguagem de programao do computador (linguagem de mquina); J as linguagens de programao so classicadas segundo sua proximidade com a linguagem de mquina, que podem ser:
Baixo nvel (Mais prxima da linguagem do computador); ou De alto nvel (Mais prxima da linguagem humana).

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

9 / 73

Formas de Representao de Algoritmos

Existem diversas formas de representao de algoritmos, mas no h um consenso com relao melhor delas; Algumas formas de representao de algoritmos tratam dos problemas apenas em nvel lgico, abstraindo-se de detalhes de implementao muitas vezes relacionados com alguma linguagem de programao especca; Dentre as formas de representao de algoritmos mais conhecidas, sobressaltam:
Descrio Narrativa; Fluxogramas; e Pseudocdigo.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

10 / 73

Descrio Narrativa
A descrio narrativa consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem natural (por exemplo, a lngua portuguesa), os passos a serem seguidos para a sua resoluo.

Vantagem
No necessrio aprender nenhum conceito novo, pois uma linguagem natural, neste ponto, j bem conhecida.

Desvantagem
A linguagem natural abre espao para vrias interpretaes, o que posteriormente dicultar a transcrio desse algoritmo para o programa.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

11 / 73

Descrio Narrativa: Vericar Aprovao do Aluno

Exemplo
Passo 1: Receber duas notas. Passo 2: Calcular a mdia aritmtica (Primeira nota + Segunda nota, e dividir por dois). Passo 3: Exibir o valor obtido. Passo 4: Analisar o valor obtido, e se o valor da mdia for maior ou igual a sete, exibir a mensagem Aprovado, caso contrrio, exibir a mensagem Reprovado.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

12 / 73

Fluxograma
O uxograma consiste em analisar o enunciado do problema e escrever, utilizando smbolos grcos predenidos, os passos a serem seguidos para sua resoluo.

Vantagem
O entendimento de elementos grcos mais simples que o entendimento de textos.

Desvantagem
necessrio aprender a simbologia dos uxogramas e, alm disso, o algoritmo resultante no apresenta muitos detalhes, dicultando sua transcrio para um programa.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

13 / 73

Fluxograma: Vericar Aprovao do Aluno


Exemplo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

14 / 73

Conjunto de Smbolos Utilizado no Fluxograma

Smbolo utilizado para indicar o incio e o m do algoritmo; Smbolo utilizado para indicar o sentido do uxo de dados Smbolo utilizado para indicar clculos e atribuies de valores; Smbolo utilizado para representar a entrada de dados; Smbolo utilizado para representar a sada de dados; e Smbolo utilizado para indicar que deve ser tomada uma deciso, apontando a possibilidade de desvios.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

15 / 73

Pseudocdigo
O pseudocdigo consiste em analisar o enunciado do problema e escrever, por meio de regras predenidas, os passos a serem seguidos para sua resoluo.

Vantagem
A passagem do algoritmo para qualquer linguagem de programao quase que imediata, bastando conhecer as palavras reservadas dessa linguagem que sero utilizadas.

Desvantagem
necessrio aprender as regras do pseudocdigo.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

16 / 73

Pseudocdigo: Vericar Aprovao do Aluno


Exemplo
Algoritmo: Vericar_Aprovao_Aluno Variveis: M, N1, N2 Incio Leia N1 Leia N2 M (N1 + N2) / 2 Escreva M Se M 7 Ento Escreva Aprovado Seno Escreva Reprovado Fim.
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 17 / 73

Ementa do Curso
1 2 3 4 5 6 7

Introduo Estrutura de um Algoritmo Variveis Operadores de Atribuio e Aritmticos Estrutura de Seleo Estrutura de Repetio Procedimentos e Funes

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

18 / 73

Programao Estruturada
A programao estruturada (Top-Down) estabelece uma disciplina de desenvolvimento de algoritmos que facilita a compreenso de programas atravs do nmero restrito de mecanismos de controle da execuo de programas; Qualquer algoritmo, independentemente da rea de aplicao, de sua complexidade e da linguagem de programao na qual ser codicado, pode ser descrito atravs destes mecanismos bsicos; O princpio bsico de programao estruturada que um programa composto por blocos elementares de cdigo que se interligam atravs de trs mecanismos bsicos, que so:
Sequncia; Seleo; e Iterao;

Cada uma destas construes tem um ponto de incio (o topo do bloco) e um ponto de trmino (o m do bloco) de execuo.
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 19 / 73

Mecanismo de Sequncia
Implementa os passos de processamento necessrios para descrever qualquer programa. Por exemplo, um segmento de programa da forma faa primeiro a Tarefa A e depois a Tarefa B .

Exemplo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

20 / 73

Mecanismo de Seleo
Especica a possibilidade de selecionar o uxo de execuo do processamento baseado em ocorrncias lgicas. Por exemplo, um segmento de seleo permite representar uxos da forma se a condio lgica x for verdadeira, faa a Tarefa A; seno (isto , se a condio x for falsa), faa a Tarefa B .

Exemplo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

21 / 73

Mecanismo de Iterao

Permite a execuo repetitiva de segmentos do programa. Na forma bsica de repetio, uma condio lgica vericada. Caso seja verdadeira, o bloco de tarefas associado ao comando executado. A condio ento reavaliada; enquanto for verdadeira, a tarefa repetidamente executada.

Exemplo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

22 / 73

Estrutura de um Algoritmo
Exemplo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

23 / 73

Ambiente de Desenvolvimento do Visualg


Exemplo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

24 / 73

Instruo de Sada de um Algoritmo


Denio
A instruo de sada de dados a instruo atravs da qual o computador se comunica com usurio durante a execuo do algoritmo. Isso feito, geralmente, atravs da exibio de alguma informao na tela.

O visualg permite sada em texto na tela para usurio a partir de dois comandos denidos:
escreva; e escreval.

O primeiro comando escreve o resultado de sada em forma sequencial, no qual, os valores so escritos sempre a direita, j o segundo, escreve os valores em linha, um abaixo do outro.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

25 / 73

Algoritmo no Visualg

Exemplo
algoritmo " Exemplo " inicio escreva ( " Oi Mundo ! " ) fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

26 / 73

Comentrio
Denio
uma estrutura da linguagem que permite ao desenvolvedor fazer uma breve explicao do cdigo escrito.

Exemplo
// Esse programa exemplifica o uso de coment rios . // Autor : Diego algoritmo " E x e mpl oCo men tar io " inicio escreva ( " Vamos programar ? " ) // Exibe a mensagem na tela . // escreva (" Fim .") fimalgoritmo

Importante
O que for escrito no bloco de comentrio ser ignorado pelo interpretador.
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 27 / 73

Ementa do Curso
1 2 3 4 5 6 7

Introduo Estrutura de um Algoritmo Variveis Operadores de Atribuio e Aritmticos Estrutura de Seleo Estrutura de Repetio Procedimentos e Funes

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

28 / 73

Pensando em Variveis de Memria


Exemplo
Duas pessoas esto conversando e precisam realizar uma conta para somar dois nmeros; A primeira pessoa diz: O primeiro nmero 5; A segunda pessoa guarda o primeiro nmero na cabea, ou seja, na memria; A primeira pessoa diz: O segundo nmero 3; A segunda pessoa guarda o segundo nmero na memria, sem esquecer o primeiro nmero, ou seja, cada nmero foi armazenado em posies diferentes da memria, sem sobreposies; A primeira pessoa pergunta: Qual o resultado da soma dos dois nmeros?; e A segunda pessoa resgata os valores armazenados na memria, realiza a conta, e em seguida responde dizendo que o resultado 8.
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 29 / 73

Varivel

Uma varivel representa uma posio de memria; Possui um nome e tipo; Seu contedo pode variar ao longo do tempo, durante a execuo do programa; Embora uma varivel possa assumir diferentes valores, ela s pode armazenar um valor a cada instante; e No existe limite para o nmero de variveis em um programa, porm cada varivel criada ocupa um espao de memria de acordo com seu tipo e seu tamanho. Em outras palavras, quanto maior o nmero de variveis utilizadas, maior o gasto de memria pelo programa desenvolvido.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

30 / 73

Varivel (cont.)

Ilustrao

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

31 / 73

Tipos de Dados

Denio
O tipo de dados indica qual valor pode ser armazenado em uma posio de memria.

Os tipos de dados mais utilizados so: numrico; lgico; e literal ou caracteres.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

32 / 73

Tipos de Dados (cont.)


Tipo Numrico Os dados numricos dividem-se em dois grupos: inteiros; e reais. Os nmeros inteiros podem ser positivos ou negativos e no possuem parte fracionria.

Exemplos
2 -1 0 10 8 -255 Os dados reais podem ser positivos ou negativos e possuem parte fracionria.

Exemplos
8.5 -82.96 0.0 1.238 -1.5
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 33 / 73

Tipos de Dados (cont.)


Tipo Lgico So tambm chamados de dados booleanos (por causa da lgebra de Boole ).

Exemplos
verdadeiro ou falso Tipo Literal ou Caracteres So formados por um nico caractere ou por uma cadeia de caracteres. Esses caracteres podem ser as letras maisculas, as letras minsculas, os nmeros e os caracteres especiais.

Exemplos
D Aluno sala1 @ifrn.edu.br
Algoritmos

(84) 9999-9999
7 de junho de 2013 34 / 73

Diego S. C. Nascimento (IFRN)

Formao de Identicadores
Denio
Os identicadores so os nomes das variveis, dos programas, dos procedimentos e das funes. As regras bsicas para a formao dos identicadores so: Os caracteres que voc pode utilizar so: os nmeros, as letras maisculas, as letras minsculas e o caractere sublinhado; O primeiro caractere deve ser sempre uma letra ou um caractere sublinhado; No so permitidos espaos em branco e caracteres especiais; e No podemos usar as palavras reservadas nos identicadores, ou seja, palavras que pertenam a uma linguagem de programao.

Exemplos
A a nota NOTA dia1 data_nascimento
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 35 / 73

Formao de Identicadores no Visualg

Exemplo
algoritmo " E x e m p l o I d e n t i f i c a d o r e s " var nome : caracter matricula : inteiro nota1 , nota2 , nota3 , media : real inicio fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

36 / 73

Instruo de Entrada

Denio
o meio pelo qual as informaes (mais especicamente os dados) so transferidas pelo usurio ou pelos nveis secundrios de memria ao computador.

Os dispositivos de entradas mais comuns

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

37 / 73

Instruo de Entrada no Visualg

Exemplo
algoritmo " E x e m p l o I n s t r u c a o E n t r a d a " var nome : caracter inicio escreva ( " Digite seu nome : " ) leia ( nome ) escreva ( " Seu nome " , nome , " . " ) fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

38 / 73

Ementa do Curso
1 2 3 4 5 6 7

Introduo Estrutura de um Algoritmo Variveis Operadores de Atribuio e Aritmticos Estrutura de Seleo Estrutura de Repetio Procedimentos e Funes

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

39 / 73

Operador de Atribuio
Denio
O comando de atribuio utilizado para conceder valores ou operaes a variveis, sendo representado pelo smbolo . Do lado esquerdo ao operador de atribuio ca a varivel qual est sendo atribudo o valor, e a direita operador pode-se escrever qualquer expresso (constantes, variveis ou expresses numricas), desde que seu resultado tenha tipo igual ao da varivel.

Exemplos
nome Diego" aprovado verdadeiro media 9.5 a 10 ba soma 5 + 3
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 40 / 73

Operador de Atribuio no Visualg

Exemplo
algoritmo " E x e m p l o O p e r a d o r A t r i b u i c a o " var nome : caracter a , b , soma : inteiro media : real inicio nome <- " Jo o " a <- 10 b <- a soma <- 5 + 3 media <- 9.5 escreval ( nome ) escreval ( a ) escreval ( b ) escreval ( media ) fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

41 / 73

Operadores Aritmticos
Denio
A aritmtica o ramo da matemtica que lida com nmeros e com as operaes possveis entre eles. As operaes aritmticas tradicionais so: Adio (+); Subtrao (-); Multiplicao (*); e Diviso (/). Podemos utilizar os operadores: resto (mod), diviso inteira (div) e potncia ().

Exemplos
10 + 2 = 12 5-2=3 2*3=6
Diego S. C. Nascimento (IFRN)

5 / 2 = 2.5 5 div 2 = 2 5 mod 2 = 1


Algoritmos

3=8

7 de junho de 2013

42 / 73

Operadores Aritmticos no Visualg

Exemplo
algoritmo " E x e mpl oOp era dor es " var a , b , c , d , e : inteiro inicio a <- 2 + 3 b <- a - 1 c <- b * 2 d <- 5 mod 2 e <- 5 div 2 escreval ( a ) escreval ( b ) escreval ( c ) escreval ( d ) escreval ( e ) fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

43 / 73

Expresso Aritmtica
Denio
Uma expresso constitui-se em um conjunto de variveis e/ou valores, separados por caracteres especiais, que indicam as operaes que devem ser executadas.

Exemplo
resultado 2 + 8/2

Importante
Os operadores devem obedecer uma ordem de precedncia:
1 2 3 4

Parnteses; Potenciao; Multiplicao, Diviso e Resto; e Adio e subtrao.


Algoritmos 7 de junho de 2013 44 / 73

Diego S. C. Nascimento (IFRN)

Expresso Aritmtica no Visualg

Exemplo
algoritmo " Or demOperadores " var a , b , c , d : inteiro inicio a <- 2 + 8 / b <- (2 + 8) c <- 4 / 2 ^ d <- (4 / 2) escreval ( a ) escreval ( b ) escreval ( c ) escreval ( d ) fimalgoritmo

2 / 2 2 - 1 ^ (2 - 1)

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

45 / 73

Teste de Mesa
Denio
O teste de mesa simula a execuo de um algoritmo sem utilizar o computador, empregando apenas papel e caneta. Os passos necessrios para realizar um teste de mesa so: Identique as variveis envolvidas em seu algoritmo; Crie uma tabela com linhas e colunas, no qual corresponde, respectivamente, ao nmero de instrues observadas pelo teste de mesa e o nmero de variveis envolvidas; e De cima para baixo, preencha cada uma das linhas da tabela com o nmero da linha que identica cada instruo, seguido dos valores assumidos pelas variveis do programa aps a execuo daquela instruo.
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 46 / 73

Teste de Mesa na Prtica


Exemplo

Execuo 6 7 8 9 10 11 12
Diego S. C. Nascimento (IFRN)

nota1 ? 5 5 5 5 5 5

nota2 ? ? ? 8 8 8 8

soma ? ? ? ? 13 13 13

media ? ? ? ? ? 6,5 6,5

Sada Digite a primeira nota: Digite a segunda nota:

Mdia = 6,5
7 de junho de 2013 47 / 73

Algoritmos

Ementa do Curso
1 2 3 4 5 6 7

Introduo Estrutura de um Algoritmo Variveis Operadores de Atribuio e Aritmticos Estrutura de Seleo Estrutura de Repetio Procedimentos e Funes

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

48 / 73

O que Estrutura de Seleo?


Denio
Tambm citado na literatura por Estrutura Condicional, a representao de um ou mais comandos de deciso que so responsveis por mudar o uxo das instrues de um algoritmo em tempo de execuo, permitindo que diferentes instrues de entrada sejam executadas de acordo com a entrada do programa.

Exemplo de uma compra de um produto


Se tem dinheiro para compr-lo ento coloque-o no carrinho seno Devolva-o para a prateleira Escolha uma marca mais barata
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 49 / 73

Estrutura de Seleo Simples


Denio
uma estrutura para desvio de uxo do programa formada apenas pelo comando de deciso se-ento /seno.

Exemplo
algoritmo " E x e m p l o P o s i t i v o N e g a t i v o " var numero : real inicio escreva ( " Digite um n mero inteiro : " ) leia ( numero ) se numero >= 0 entao escreva ( " O n mero positivo ! " ) senao escreva ( " O n mero negativo ! " ) fimse fimalgoritmo

Importante
O seno no obrigatrio.
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 50 / 73

Operadores Relacionais
Denio
Os operadores relacionais estabelecem uma relao entre seus operandos. E o valor resultante de uma relao pode ser: verdadeiro ou falso. As relaes podem ser: Igualdade: =; Diferena: <>; Maior que: >; Menor que: <; Maior ou igual a: >=; e Menor ou igual a: <=.

Exemplos
100 = 100 (verdadeiro) 0 <> 0 (falso) 5 > 2 (verdadeiro)
Diego S. C. Nascimento (IFRN)

0 < 50 (falso) 7 >= 10 (falso) 600 <= 600 (verdadeiro)


Algoritmos 7 de junho de 2013 51 / 73

Operadores Lgicos
Denio
Os operadores lgicos denem as maneiras como as relaes podem ser conectadas. E o resultado de uma conexo pode ser: verdadeiro ou falso. Os operadores lgicos podem ser: Negao: no; Conjuno: e ; Disjuno: ou; e Disjuno exclusiva: xou.

Exemplos
(10 = 10) e (0 < 1) (verdadeiro) no(0 <> 0) (verdadeiro)
Diego S. C. Nascimento (IFRN)

(0 < 50) ou (0 < 1) (verdadeiro) (10 < 20) xou (0 > 1) (falso)
Algoritmos 7 de junho de 2013 52 / 73

Estrutura de Seleo Composta ou Aninhada


Denio
uma estrutura para desvio de uxo do programa formada pelo comando de deciso se-ento /seno mais sub-estruturas de deciso.

Exemplo:
algoritmo " E x e m p l o F o r m a P a g a m e n t o " var tipo : caracter inicio escreva ( " Digite o tipo de pagamento : " ) leia ( tipo ) se numero = " d " entao escreva ( " Pagamento em dinheiro . " ) senao se tipo = " c " entao escreva ( " Pagemento em dinheiro . " ) senao escreva ( " Tipo inv lido ! " ) fimse fimse fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

53 / 73

Estrutura de Seleo Escolha


Denio
Tambm citada na literatura por Seleo de Mltipla Escolha ou Caso. O comando escolha pode ser visto como uma especializao do comando se, e compara um dado valor a uma constante, desviando o uxo de cdigo para o ponto indicado pela primeira constante onde h casamento.

Exemplo da escolha de uma disciplina pela siglas


Escolha siglas AL: Algoritmo IA: Inteligncia Articial BD: Banco de Dados LC: Lgica Computacional

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

54 / 73

Comando Escolha no Visualg

Exemplo
algoritmo " Ex emploDeposito " var tipo : caracter inicio escreva ( " Informe o tipo de dep sito : " ) leia ( tipo ) escolha tipo caso " cc " escreva ( " Conta corrente . " ) caso " cp " escreva ( " Conta poupan a . " ) outrocaso escreva ( " Tipo de conta inv lido ! " ) fimescolha fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

55 / 73

Ementa do Curso
1 2 3 4 5 6 7

Introduo Estrutura de um Algoritmo Variveis Operadores de Atribuio e Aritmticos Estrutura de Seleo Estrutura de Repetio Procedimentos e Funes

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

56 / 73

O que Estrutura de Repetio?

Denio
Uma estrutura de repetio uma estrutura de desvio do uxo de controle presente em linguagens de programao que realiza e repete diferentes computaes ou aes dependendo se uma condio verdadeira ou falsa, em que a expresso processada e transformada em um valor booleano.

O processo de controle de parada das estruturas de repetio podem ser: Repetio controlada por varivel de controle (Estrutura: para); Repetio pr-testada (Estrutura:enquanto ); ou Repetio ps-testada (Estrutura: repita).

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

57 / 73

Estrutura de Repetio: para

Denio
A construo para, ou repetio com varivel de controle, uma estrutura de repetio que designa uma varivel de controle para cada iterao do bloco, e uma operao de passo a cada iterao.

Exemplo de uma contagem automtica de 1 at 10


Para contador de 1 at 10 faa escreva contador

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

58 / 73

Estrutura de Repetio para no Visualg

Exemplo
algoritmo " Ex emploContador " var i : inteiro inicio para i de 1 ate 10 faca escreval ( i ) fimpara fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

59 / 73

Comando Interrompa no Visualg


Denio
O comando interrompa permite parar uma execuo de uma instruo de repetio toda vez que o mesmo for invocado, ignorando, caso ainda existam, outras instrues a serem executadas.

Exemplo
algoritmo " Ex emploContador " var i : inteiro inicio para i de 1 ate 10 faca escreval ( i ) se i = 5 entao interrompa fimse fimpara fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

60 / 73

Estrutura de Repetio: enquanto

Denio
A construo enquanto (tambm chamada repetio pr-testada) a mais difundida estrutura de repetio. O processo de repetio continua enquanto o valor da expresso de controle for verdadeiro.

Exemplo de uma contagem automtica de 1 at 10


Enquanto contador 10 faa escreva contador incrementa contador

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

61 / 73

Estrutura de Repetio enquanto no Visualg

Exemplo
algoritmo " Ex emploContador " var i : inteiro inicio i <- 1 enquanto i <= 10 faca escreval ( i ) i <- i + 1 fimenquanto fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

62 / 73

Estrutura de Repetio: repita


Denio
A construo repita (tambm chamada repetio ps-testada) uma variao da construo apresentada anterior enquanto, e difere pois a vericao da condio feita aps uma execuo do bloco. O processo de repetio continua enquanto o valor da expresso de controle for falso.

Exemplo de uma contagem automtica de 1 at 10


Repita escreva contador incrementa contador At contador > 10

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

63 / 73

Estrutura de Repetio Repita no Visualg

Exemplo
algoritmo " Ex emploContador " var i : inteiro inicio i <- 1 repita escreval ( i ) i <- i + 1 ate i > 10 fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

64 / 73

Ementa do Curso
1 2 3 4 5 6 7

Introduo Estrutura de um Algoritmo Variveis Operadores de Atribuio e Aritmticos Estrutura de Seleo Estrutura de Repetio Procedimentos e Funes

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

65 / 73

O que so Procedimentos?

Denio
So subrotinas (mdulos ou mtodos) de programas, capazes de executar uma tarefa denida pelo programador, mas que no retorna nenhum valor. Os programas desenvolvidos com procedimentos so ditos modulares.

As principais vantegens em criar programas usando subrotinas so: Melhor organizao do programa; Reutilizao da subrotina em outras partes do programa; e Facilidade de manuteno do cdigo.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

66 / 73

Estrutura de um Procedimento
Todo procedimento deve ter um identicador; Pode possuir um conjunto de parmetros; Permite declarao de variveis locais; e Possui um bloco de instrues.

Exemplo
procedimento nome (parmetros) variveis locais incio instrues . . . m.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

67 / 73

Tipos de Passagem de Parmetros


A passagem de parmetros pode ser de dois tipos: por valor; e por referncia.

Valor
Informamos o valor a ser trabalhado e indiferente de quais modicaes sero feitas com essas informaes, seus valores originais permenecem o mesmo.

Referncia
Informamos o valor a ser trabalhado e de acordo com as mudanas que vo sofrendo, os valores originais vo sendo atualizados. Passagem por referncia somente feita passando-se variveis como parmetro.
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 68 / 73

Procedimento no Visualg I

Exemplo
algoritmo " E x e m p l o P r oc e d i m e n t o " procedimento e xi b ir _ cu m pr im e nt o inicio escreva ( " Oi Mundo ! " ) f im pr o ce di m en to inicio e x i b i r _ c u m pr i me n to fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

69 / 73

Procedimento no Visualg II

Exemplo
algoritmo " E x e m p l o P r oc e d i m e n t o " procedimento e xi b ir _ cu m pr im e nt o ( n : caracter ) inicio escreva ( " Oi " , n , " ! " ) f im pr o ce di m en to var nome : caracter inicio escreva ( " Digite seu nome : " ) leia ( nome ) e x i b i r _ c u m pr i me n to ( nome ) fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

70 / 73

O que so Funes?

Denio
So rotinas similares aos procedimentos, s que retornam um valor aps cada chamada. Uma funo no dever simplesmente ser chamada, como no caso dos procedimentos, mas dever ser atribuda alguma varivel.

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

71 / 73

Estrutura de uma Funo


Toda funo deve ter um identicador; Pode possuir um conjunto de parmetros; Obrigatoriamente deve retornar um valor; Permite declarao de variveis locais; e Possui um bloco de instrues.

Exemplo
funo nome (parmetros) : tipo de retorno variveis locais incio instrues . . . m.
Diego S. C. Nascimento (IFRN) Algoritmos 7 de junho de 2013 72 / 73

Funo no Visualg

Exemplo
algoritmo " ExemploFuncao " funcao somar (a , b : real ) var r : inteiro inicio r <- a + b retorne r fimfuncao var valor1 , valor2 , resultado : inteiro inicio escreva ( " Digite o primeiro valor : " ) leia ( valor1 ) escreva ( " Digite o segundo valor : " ) leia ( valor2 ) resultado <- somar ( valor1 , valor2 ) escreva ( " A soma " , resultado ) fimalgoritmo

Diego S. C. Nascimento (IFRN)

Algoritmos

7 de junho de 2013

73 / 73

You might also like