Portugus Estruturado
Para que o algoritmo possa ser executado por uma mquina importante que as instrues sejam corretas e sem ambigidades. O portugus estruturado , na verdade, uma simplificao extrema do Portugus, limitada a umas poucas palavras e estruturas que tm um significado muito bem definido. Ao conjunto de palavras e regras que definem o formato das sentenas vlidas chamamos sintaxe da linguagem.
Portugus Estruturado
Apesar do Portugus Estruturado ser uma linguagem bastante simplificada, ela possui todos os elementos bsicos e uma estrutura semelhante de uma linguagem tpica para programao de computadores. Para praticar nossa sintaxe e testar nossos problemas, utilizaremos o software Visualg.
Palavras reservadas so palavras que fazem parte da sintaxe da linguagem e no podem ser usadas para outro propsito em um algoritmo que no seja aquele previsto nas regras de sintaxe. Tambm so chamadas de palavras chaves.
Primeiro algoritmo
Faa um algoritmo para escrever na tela a frase: Meu primeiro Algoritmo Dica: Comando para sada de dados: escreva()
Segundo Algoritmo
Escreva um algoritmo para calcular a mdia de um aluno, sabendo que foram aplicadas quatro provas.
Linearizao de Expresses
Para a construo de algoritmos que realizam clculo matemticos, todas as expresses aritmticas devem ser linearizadas, ou seja, colocadas em linhas, devendo tambm ser feito o mapeamento dos operadores da aritmtica tradicional para os do Portugus Estruturado.
Linearizao de Expresses
Operadores Aritmticos
Exerccios
Escreva as Expresses da forma convencional. A. a + b + ((34+e*9)/u-89 ^ (1/2)) = B. 12+1/((4*a)/45) ^ (1/2) = C. ((a+x) ^ (2+w)-3a)/2 = D. (12*x)/(36-9 ^ y) =
Operadores Relacionais
Os operadores relacionais realizam a comparao entre dois operandos ou duas expresses e resultam em valores lgicos (VERDADEIRO ou FALSO).
Operadores Lgicos
Os operadores lgicos atuam sobre expresses e tambm resultam em valores lgicos VERDADEIRO ou FALSO.
Tabela-Verdade
Mostra os resultados das aplicaes dos operadores lgicos conforme os valores dos operadores envolvidos.
Tabela-Verdade
De acordo com a necessidade, as expresses podem ser unidas pelos operadores lgicos.
Exemplo: (2+5>4) e (3<>3) resulta FALSO, pois VERDADEIRO e FALSO resulta FALSO.
Exerccio
Resolva as expresses lgicas, determinando se a expresso verdadeira ou falsa: A. 2>3= B. (6<8)ou(3>7)= C. no (2<3)= D. (5>=6 ou 6<7 ou no(a+5-6=8) {onde a = 5} E. (34>9 e 5+u = 34) ou (5=15/3 e 8>12) = ((u = 29) e 8>12) {onde u = 29}
Modularizao de expresses
a diviso de uma expresso em partes, proporcionando maior compreenso e definindo prioridades para a resoluo da mesma. Utilizaremos somente parnteses "()" para modularizao. Podemos ter parnteses dentro de parnteses, como seriam os colchetes e as chaves na matemtica.
Modularizao de expresses
Os parnteses indicam quais sub-expresses, dentro de uma expresso, sero executados primeiro. A princpio, a execuo da esquerda para direita, mas alm dos parnteses, existem prioridades entre os operadores envolvidos na expresso.
Tabela de Prioridade
Tabela de Prioridade
Tabela de Prioridade
Entre as categorias de operadores tambm h prioridades, conforme mostrado na tabela abaixo.
Exemplo
(2>3) ou (3<2) e (2<3) (2>3) e (3<2) ou (2<3)
Variveis
Uma varivel pode ser vista como uma caixa com um rtulo ou nome colado a ela, que num dado instante guarda um determinado objeto. O contedo desta caixa no algo fixo, permanente, seu contedo pode ser alterado diversas vezes, contudo, o contedo deve ser sempre do mesmo tipo.
Variveis
Essa caixa poder conter qualquer valor numrico (inteiro ou fracionrio; positivo, negativo ou zero). Entretanto, em um determinado instante, ela conter um, e somente um, valor.
Palavras Reservadas
Declarao de variveis
Utilizaremos a palavra reservada VAR
onde <identificador i> o nome (identificador) de uma varivel e <tipo das variveis> determina que tipo de valor as variveis podero receber. Os identificadores das variveis so usados para referencilas dentro do algoritmo. Tais identificadores devem ser claros e precisos, dando uma idia do papel da varivel no algoritmo.
Identificadores invlidos:
3Endereco, Estado Civil, PARA, algoritmo, numero/complemento
Exerccio
Assinale com um X os nomes de variveis vlidos. ( ) abc ( ) 3abc ()a ( ) 123a ( ) a ( ) acd1 ( ) -_ad ( ) A&a ( ) guarda-chuva ( ) A123 ( ) Aa ( ) guarda_chuva ( ) ABC DE ( ) etc. ( ) b316 ( ) leia ( ) enquanto ( ) escreva
Tipos de Dados
Podemos declarar variveis em portugus estruturado com os seguintes tipos:
Exerccio
Classifique os contedo das variveis abaixo de acordo com seu tipo, assinalando com N os dados numricos, com L os lgicos, com C os literais.
Operador de Atribuio
Para colocar um valor em uma varivel dentro de um algoritmo, utilizamos o operador de atribuio. O operador de atribuio representado por uma seta (<-) apontando para a esquerda. Exemplo
Peso <- 78.7 // Este comando atribui varivel Peso o valor 78.7. Nome <- "Joo da Silva" // Este comando atribui varivel Nome o valor "Joo da Silva". Achei <- FALSO // Este comando atribui varivel Achei o valor FALSO.
()0 ( ) "abc" ( ) "Joo" ( ) 5.7 ( ) 1012 ( ) FALSO ( ) -49 ( ) +342 ( ) 569 ( ) "Lucas" ( ) "VERDADEIRO" ( ) 0.00001 ( ) VERDADEIRO ( ) -545 ( ) " 444 "
Operador de Atribuio
S se pode atribuir s variveis valores do mesmo tipo da varivel. Exemplo (errado)
VAR salario: REAL INICIO salario <- "Insuficiente
Sempre esquerda do comando de atribuio deve haver um (e somente um) identificador de varivel. Exemplo so incorretos
2060 <- NumeroConta NumeroAgencia+digitoControle <- 2345 + 0 NomeCliente+sobrenome <- Joo + Silva
Linhas de Comentrio
Os comentrios so declaraes no compiladas que podem conter qualquer informao textual que voc queira adicionar ao cdigo-fonte para referncia e documentao de seu programa. So representados por duas barras normais ( // ). Todo o texto que voc digitar aps as duas barras ser comentrio. Exemplo 7.1 // Este mtodo calcula o fatorial de n ...x <- y; // Inicializa a varivel x com o valor de y
Comando de Sada
Exemplo
X <- 3.5 Y <- 4 Escreva ("O valor de X ", X) Escreva (" E o valor de Y ", Y) Escreval (" A soma de X e Y ", X+Y) Escreval ("O valor de X ", X) Escreval ("E o valor de Y ", Y) Escreval ("A soma de X e Y ", X+Y)
O valor de X 3.5 E o valor de Y 4 A soma de X e Y 7.5 O valor de X 3.5 E o valor de Y 4 A soma de X e Y 7.5
Voc pode mandar uma mensagem antes para o usurio, assim ele sabe qual o contedo que deve ser colocado, ou seja, digitado. Exemplo
Escreva ("Digite seu nome: ") Leia (nome) Escreva ("Digite sua agencia: ") Leia (NumeroAgencia) Escreva ("Digite sua conta: ") Leia (NumeroConta)
Exerccio
Quais os valores armazenados em SOMA, NOME e TUDO, supondo-se que NUM, X, COR, DIA, TESTE e TESTE2 valem, respectivamente, 5, 2, "AZUL", "TERA", FALSO e VERDADEIRO?
a) NOME <- DIA b) SOMA <- (NUM^2/X) + (X + 1) c) TUDO <- NO ((TESTE OU TESTE2) E (X <> NUM))