You are on page 1of 30

Conceitos Bsicos de Algoritmos

TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variveis numricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variveis numricas do tipo real, ou seja, com casas decimais Palavra-reservada: logico - define variveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO Palavra-reservada: caractere - define variveis do tipo string, ou seja, cadeia de caracteres

35

Conceitos Bsicos de Algoritmos


DECLARAO DE VARIVEIS Palavra-reservada: var - utilizada para iniciar a seo de declarao de variveis Exemplos:

var a: inteiro nome_do_aluno: caractere sinalizador: logico Valor1, Valor2: real Obs.: O pseudocdigo e o fluxograma no so sensveis ao caso.
36

Conceitos bsicos de algoritmos


Durante a execuo de determinadas tarefas ou durante a execuo de um processo para obteno da soluo de um determinado problema so necessrios alguns dados e ao final deve-se retornar uma sada. Da mesma forma, em alguns algoritmos tornamse necessrios mecanismos que possibilitem uma interface com o ambiente externo, ou seja, so necessrios comandos que possibilitem a entrada e sada de dados.
37

Conceitos Bsicos de Algoritmos


Entrada de dados Palavra-reservada: leia - utilizada para receber dados externos ao algoritmo e armazen-los em variveis. Exemplos: ...

var a: inteiro b: real ... leia(a) leia(b, a) ...


38

Conceitos Bsicos de Algoritmos


Entrada de Dados Tecnicamente podemos utilizar a seguinte definio: O comando de entrada de dados leia possui a sintaxe leia (<lista-de-variveis>) Onde este recebe valores digitados pelo usurio, atribuindo-os s variveis cujos nomes esto em <lista-de-variveis> ( respeitada a ordem especificada nesta lista).
39

Conceitos Bsicos de Algoritmos


Sada de dados Palavra-reservada: escreva - utilizada para externar (enviar para o monitor) dados gerados pelo algoritmo. Exemplos: ... var x: inteiro y: caractere ... escreva(y) escreva l(x,y) escreva(Estudou e e se se dedicou dedicou tirou tirou , , 10-x) 10) escreva(Estudou ...

40

Conceitos Bsicos de Algoritmos


Sada de Dados Tecnicamente podemos utilizar a seguinte definio: O comando de sada de dados escreva possui a sintaxe escreva (<lista-de-expresses>) Onde este escreve no dispositivo de sada padro (monitor) o contedo de cada uma das expresses que compem <lista-deexpresses>. As expresses dentro desta lista devem estar separadas por vrgulas; depois de serem avaliadas, seus resultados so impressos na ordem indicada.
41

Conceitos Bsicos de Algoritmos


Sada de dados possvel especificar o nmero de colunas da tela onde se deseja escrever um determinado valor. Por exemplo, considerando uma varivel inteira x, o comando escreva (x:5) escreve o valor da varivel x em 5 colunas, alinhado-o direita. Para variveis reais, alm de especificar o nmero de colunas a serem reservadas para representar o nmero, tambm pode-se especificar o nmero de casas fracionrias que sero exibidas. Por exemplo, considerando z como uma varivel real, o comando escreva(z:5:2), escreve seu valor em 5 colunas colocando 2 casas decimais.
42

Conceitos bsicos de algoritmos


Operador de Atribuio smbolo <Exemplo: var a: inteiro valor1, valor2: real

... A <- 5 Valor1 <- 3.14 valor2 <- valor1 escreva(valor2) ...
43

Conceitos bsicos de algoritmos


Operadores Aritmticos Unrios: +, Exemplos: +1 -5.9 ... var a: inteiro ... a <- -a
44

Conceitos bsicos de algoritmos


Operadores Aritmticos Binrios: +, -, *, /, \, %, ^ Associao
Smbolo
+ * / \ % ^
45

Operao
Soma Subtrao Multiplicao Diviso Quociente da diviso inteira Resto da diviso inteira Potenciao

Conceitos bsicos de algoritmos


Operadores Aritmticos Binrios Precedncia (Hierarquia nas operaes)
Hierarquia 1 2 3 4 5 6
46

Operao Parnteses Funo -, + (unrios) ^ *, /, \, % +, -

Conceitos bsicos de algoritmos


Expresses aritmticas Exemplos: 3/4+5 3/(4+5) 3\2*9 11%3^2 11%(3^2) (11%3)^2 3\2+(65-40)^(1/2) = 5.75 = 0.33333333 =9 =2 =2 =4 =6

47

Conceitos bsicos de algoritmos


Operadores Relacionais Operador > >= < <= = <> Ao maior que maior ou igual a menor que menor ou igual a igual a diferente de

48

Conceitos bsicos de algoritmos


Operadores Lgicos Operador e ou nao xou

49

Conceitos bsicos de algoritmos


Expresses lgicas Exemplos: 3>7 = FALSO

A = a = VERDADEIRO a > B = FALSO (3>=13\4) xou (nao (5%2=0))


50

= FALSO

Conceito de Lgica
Para retomarmos nossa anlise dos mtodos de representao de algoritmos devemos refletir a respeito do seguinte questionamento: O que nos orienta a gerar a seqncia de passos para instruir o computador a executar uma tarefa? A lgica o ramo da Filosofia e da Matemtica que estuda os mtodos e princpios que permitem fazer distino entre raciocnios vlidos e no vlidos, determinando o processo que leva ao conhecimento verdadeiro. O uso da lgica primordial na soluo de problemas. Com ela possvel alcanar objetivos com eficincia e eficcia. Ningum ensina outra pessoa a pensar, mas a desenvolver e aperfeioar esta tcnica, com persistncia e constncia.
51

Mtodo para Construo de Algoritmos


Os passos necessrios para a construo de um algoritmo so: ler atentamente o enunciado do problema, compreendendo-o e destacando os pontos mais importantes; definir os dados de entrada, ou seja, quais dados sero fornecidos; definir os dados de sada, ou seja, quais dados sero gerados depois do processamento; definir o processamento, ou seja, quais clculos sero efetuados e quais as restries para esses clculos. O processamento responsvel pela obteno dos dados de sada com base nos dados de entrada; definir as variveis necessrias para armazenar as entradas e efetuar o processamento; elaborar o algoritmo; testar o algoritmo realizando simulaes.
52

Pseudocdigo
Com base nos conceitos vistos podemos aprofundar nosso estudo sobre os mtodos de representao de algoritmos, iniciaremos pelo pseudocdigo. Pseudocdigo uma tcnica textual de representao de um algoritmo. Tambm conhecida como Portugus Estruturado ou Portugol. Nele os verbos (aes) disponveis para utilizao so limitados e empregados no imperativo, deve-se evitar as expresses excessivamente longas, estas restries visam eliminar a possibilidade de ambigidade. A tcnica baseada em uma PDL (Program Design Language), que uma linguagem genrica na qual possvel representar um algoritmo de forma 53semelhante das linguagens de programao.

Pseudocdigo Estrutura
A estrutura de um algoritmo em pseudocdigo pode variar um pouco de acordo com o autor ou com base na linguagem de programao que ser utilizada posteriormente, mas essas variaes ocorrem apenas na sintaxe, pois a semntica deve ser exatamente a mesma. A estrutura que empregaremos para a construo de nossos pseudocdigos ser a seguinte: algoritmo nome //Tem como objetivo identificar o //algoritmo, deve-se utilizar um nome o mais significativo //possvel, para facilitar a identificao var // Seo de Declaraes - Neste ponto so informadas //quais variveis, e seus respectivos tipos, sero // utilizadas no algoritmo inicio // Seo de Comandos - Aqui ser escrita a seqncia de // comandos que deve ser executada para solucionar // o problema em questo 54 fimalgoritmo //marca o final do algoritmo

Pseudocdigo

As palavras reservadas presentes na estrutura do pseudocdigo apresentado foram: algoritmo var inicio fimalgoritmo

55

Pseudocdigo Exemplo
Observaremos agora um pseudocdigo que recebe um valor inteiro, fornecido pelo usurio, e o retorna no monitor. algoritmo exemplo 1 var x: inteiro inicio leia (x) escreva (x) fimalgoritmo

56

Pseudocdigo Exemplo
Outro exemplo o pseudocdigo de um algoritmo que recebe um valor inteiro, acresce duas unidades a este, e exibe o resultado desta manipulao. algoritmo exemplo 2 var n: inteiro inicio escreva (Digite um nmero inteiro: ) leia (n) n <- n+2 escreval (Resultado (nmero + 2): , n) fimalgoritmo
57

Slides trabalhados durante a primeira aula prtica

Pseudocdigo Exerccio 1
Construa um pseudocdigo para representar um algoritmo que efetue a multiplicao de dois inteiros quaisquer. algoritmo exerccio 1 var n1, n2, res: inteiro inicio escreva (Digite o multiplicando inteiro: ) leia (n1) escreva (Digite o multiplicador inteiro: ) leia (n2) res <- n1 * n2 escreva (Resultado da multiplicao: , res) fimalgoritmo
59

Pseudocdigo Exerccio 1
Construa um pseudocdigo para representar um algoritmo que efetue a multiplicao de dois inteiros quaisquer. algoritmo exerccio 1b var n1, n2: inteiro inicio escreva (Digite o multiplicando inteiro: ) leia (n1) escreva (Digite o multiplicador inteiro: ) leia (n2) escreva (Resultado da multiplicao: , n1*n2) fimalgoritmo
60

Pseudocdigo Exerccio 1
Construa um pseudocdigo para representar um algoritmo que efetue a multiplicao de dois inteiros quaisquer. algoritmo exerccio 1c var n1, n2: inteiro inicio escreva ("Digite o multiplicando e em seguida ") escreva (" o multiplicador (ambos inteiros): ") leia (n1, n2) escreva ("Resultado da multiplicao: ", n1*n2) fimalgoritmo
61

Pseudocdigo Exerccio 2
Gere um pseudocdigo que aplique um desconto de 30% sobre o valor de um produto, recebido como entrada, e retorne o resultado da manipulao na sada padro. algoritmo exerccio 2a var valor, resultado: real inicio escreva (Entre com o valor do produto: ) leia (valor) resultado <- valor * 0.7 escreva (Valor com desconto de 30%: ) escreva (resultado) fimalgoritmo

62

Pseudocdigo Exerccio 2
Gere um pseudocdigo que aplique um desconto de 30% sobre o valor de um produto, recebido como entrada, e retorne o resultado da manipulao na sada padro. algoritmo exerccio 2b var valor: real inicio escreva (Entre com o valor do produto: ) leia (valor) valor <- valor * 0.7 escreva (Valor com desconto de 30%: ) escreva (valor:6:2) fimalgoritmo

63

Pseudocdigo Exerccio 2
Gere um pseudocdigo que aplique um desconto de 30% sobre o valor de um produto, recebido como entrada, e retorne o resultado da manipulao na sada padro. algoritmo exerccio 2c var valor: real inicio escreva (Entre com o valor do produto: ) leia (valor) escreva (Valor com desconto de 30%: , valor * 0.7:6:2) fimalgoritmo
64

You might also like