Beruflich Dokumente
Kultur Dokumente
Emannuel - Fanor
15/10/2011 Versao 1 G-Portugol um dialeto da linguagem/pseudo-cdigo portugol (ou portugs estruturado), que muito usada para descrever algoritmos em portugus, de forma livre e espontnea. Em geral, livros dedicados ao ensino de algoritmos, lgica e estruturas de dados utilizam alguma forma dessa linguagem. A proposta de G-Portugol disponibilizar uma implementao da linguagem portugol, fornecendo ferramentas que ofeream recursos de edio, compilao, execuo e depurao de programas escritos nessa linguagem, de forma a favorecer estudantes que do os primeiros passos no aprendizado de desenvolvimento de softwares e algoritmos. Portanto, seu foco primariamente didtico. Em breve ser disponibilizada a verso 2.0 do gpt. A linguagem case sensitive, o que significa que, por exemplo, uma funo chamada "leia" diferente de uma funo chamada "Leia". TIPOS DE DADOS TIPO inteiro real caractere literal lgico --> EXEMPLO --> 19 --> 12.5 --> 'a' --> "uma frase" verdadeiro ou falso
Contedo
Introduo 1 Operadores 1 Estruturas condicionais 2 Estruturas de repetio sem controle 2 Estruturas de repetio com controle 3 Funes 3 Consideraes finais Vetores e Matrizes 4
DECLARAO DE VARIVEIS As variveis so criadas dentro do bloco e so chamadas de variveis globais. Exemplo: variveis meuNome:literal; nota1, nota2, media: real; idade1, idade2:inteiro; flag:lgico; memoria: matriz[4][8] de inteiros; fim-variveis
Para compilar
Para intrues de como instalar o compilador gpt e comear a programar, vide o site do professor no final do artigo. Para compilar um algoritmo na janela do DOS ou na linha de comandos do linux, use o comando abaixo. >> gpt programa.gpt -o programa.exe
Operadores - G-Portugol
Existem trs tipos bsicos de operadores usados em expresses em g-portugol: (i) Aritmticos, (ii) Relacionais e (iii) Lgicos. ARITMTICOS + operador de soma operador de subtrao * operador de multiplicaao / operador de divisao % resto da divisao inteira () parentesis em expressoes RELACIONAIS = operador igual <> operador diferente > operador "maior que" >= operador maior ou igual < operador "menor que" <= operador maior ou igual LGICOS e operador AND logico ou operador OR logico no operador NOT logico
EXEMPLO algoritmo media; variveis numero1, numero2, media:real; fim-variveis incio imprima("Digite o 1o numero:"); numero1:=leia(); imprima("Digite o 2o numero:"); numero2:=leia(); media:=(numero1+numero2)/2; imprima("A media eh ",media); fim
Estruturas condicionais
Consiste na estrutura se/ento/seno e sua verso aninhada. Essa estrutura utiliza expresses, que so avaliadas para que uma deciso seja tomada (repetir execuo, selecionar o bloco de instrues a ser executado, etc). Qualquer expresso pode ser avaliada como expresso lgica (verdadeiro ou falso) no teste de condio. Expresses numricas de valor "0" so avaliadas como falso. Demais valores numricos so avaliados como verdadeiro. Valores literais nulos, da mesma forma, so avaliados como falso, e demais textos, como verdadeiro. Aps a palavra reservada "se", a condio deve ser explicitada. Exemplo: se idade > 60 ento imprima("Idoso"); seno se idade >= 21 e idade <=60 ento imprima("Adulto"); seno imprima("Jovem"); fim-se fim-se
Pgina 2
Resum
Funes em G-Portugol
Subprogramas em G-Portugol so implementados no modelo de funes. Quando voc percebe que existe uma parte do cdigo que est se repetindo no decorrer do programa, voc cria uma funo com essa parte do cdigo. Ento, onde voc necessitar desse cdigo, basta chamar a funo criada. Isso diminui o tamanho do programa e deixa o mesmo mais legvel. As funes podem ter zero ou mais parmetros de qualquer tipo, tanto primitivos quanto complexos (vetores e matrizes). As funes podem definir valores de retorno, que deve ser de tipo primitivo. Tanto o retorno de dados como a passagem de argumentos so feitos por valor. A estrutura da funo, que deve ser colocada no final do cdigo, a seguinte: funo nome(p1:tipo, p2:tipo):tipoR outras variveis que no p1 e p2; incio comandos; retorne resultado; fim - nome: nome da funo; -p1 e p2: variveis(parmetros) que recebem os argumentos que entram; -tipoR: tipo de dado a ser retornado; - resultado: valor entregue pela funo;
Resumo
funo nome(p1:tipo, p2:tipo):tipoR outras variveis que no p1 e p2; incio comandos; retorne resultado; fim
Pgina 3
Consideraes Finais
FUNES INTERNAS Como j foi visto em exemplos anteriores, G-Portugol oferece duas funes internas: "leia()" e "imprima", que permitem uso bsico de entrada e sada de dados, respectivamente. A funo "leia" no recebe argumentos e retorna o valor lido da entrada padro, ou seja, os dados que o usurio digitar no teclado. O tipo de dado retornado por "leia" implicitamente convertido para o tipo da varivel a que ela se destina. A funo "imprima" recebe um nmero varivel de argumentos de qualquer tipo, sendo que pelo menos um argumento deve ser passado. Os valores passados como argumentos so convertidos para texto, concatenados na ordem definida e enviados tela. No h retorno de valor para esta funo. Exemplo: n:=leia(); - varivel n recebe entrada do teclado, por exemplo: 5; media:=leia(); - varivel media recebe entrada do teclado, por exemplo: 10; imprima("A media dos ", primeiros num. eh ", media); n," Exemplo de matriz: velocidades: matriz[4][7] de reais; Para colocar dados dentro da matriz deve-se lembrar que os ndices da matriz comeam a contar de 0 e vo at n-1, onde n a quantidade de posies da matriz. Exemplo: idades: matriz[4] de inteiros; Para o vetor criado acima temos as quatro variveis na memria da seguinte forma: espao {} {} {} {} posio 0 1 2 3 Para colocar o valor 23 no terceiro espao do vetor temos que coloclo na posio 2, basta ento dar o comando: idades[2]:=23; Para preencher os espaos das variveis da matriz comum o uso dos laos "para" aninhados. Devido a restries de espao no colocaremos exemplos aqui. Maiores detalhes consulte a aula.
A sada na tela do comando imprima acima : A media dos 5 primeiros num. eh 10 VETORES E MATRIZES Duas estruturas de dados so usadas para armazenar vrias variveis de mesmo tipo e que tem relao entre si, so os vetores e matrizes. Vetores so matrizes de uma dimenso, logo, em portugol, vetores so criados como matrizes. Observe a criao de variveis vetores e matrizes. Exemplo de vetor: dias : matriz [7] de literais;
Emannuel/Fanor
Emannuel J. Fernandes possui graduao (2006.2), Mestrado (2009.2) e est cursando Doutorado em Engenharia Eltrica, alm de cursar Administrao de Empresas, todos esses cursos pela Universidade Federal do Cear. Tem experincia na rea de Engenharia Eltrica, com nfase em Informtica Industrial e interesse em Mquinas Eltricas, Inteligncia Computacional aplicada a sistemas de potncia, como tambm em Modelagem, Anlise e Controle de Sistemas Dinmicos.
email: efernandes@fanor.edu.br web: http://emannuelfernandes.blogspot.com/