Gilson de Souza Carvalho gaucho.gilson@hotmail.com
1. Estruturas básicas Apresentaremos um resumo com os comandos estudados para criação de algoritmos. Para utilizar estes comandos, usaremos uma sintaxe mais semelhante ao utilizado em linguagens como Pascal e C. O objetivo é tornar a adaptação ao uso de linguagens de programação mais natural.
2. Algoritmo e bloco de comandos A criação de um algoritmo se dá pelas utilização das palavras reservadas Program, Begin e End; têm um significado para o compilador, e você não pode usá-las para outra finalidade (como por exemplo, nomes de variáveis). Dentro de um algoritmo devem ser declarados as constantes utilizadas, variáveis globais, quando necessárias e depois disso os comandos, que devem obrigatoriamente estar entre um bloco de comandos. No exemplo a seguir é mostrado o corpo de um algoritmo nesta sintaxe.
Program Primeiro_Algoritmo; Begin write ('Meu Primeiro Algoritmo'); End.
O bloco de comandos é utilizado para delimitar um conjunto de comandos ou determinar um determinado escopo de um comando. Um bloco é delimitado pelas palavras Begin e End e só é necessário quando existem 2 ou mais comandos dentro da estrutura ou comando.
Blocos de comando são utilizados para mostrar onde se inicia e termina um algoritmo. Também pode ser utilizado para determinar os comandos relacionados a uma instrução de repetição, seleção e mais futuramente para criar registros e funções. Repare que nesta sintaxe, é necessário o uso de ponto e virgula ao final de cada comando.
3. Comandos de entrada e saída Read Comando de entrada que permite a leitura de variáveis de entrada. EXEMPLO: Read(MATRICULA); Read( NOME, NOTA_1, NOTA_2); Write Comando de saída que exibe uma informação na tela do monitor. EXEMPLO: Write( BOM DIA, NOME); Write( VOCÊ PESA, PESO, KG );
4. TIPOS DE DADOS BÁSICOS Informação é a matéria-prima que faz com que seja necessária a existência dos computadores, pois eles são capazes de manipular e armazenar um grande volume de dados com alto desempenho, liberando o homem para outras tarefas onde o seu conhecimento é indispensável.
Aproximando-se da maneira pela qual o computador manipula as informações, vamos dividi-las em três tipos primitivos, que serão os tipos básicos que usaremos na construção de algoritmos. Numérico Real Literal ou Caractere
Numérico Os dados numéricos dividem-se em dois grupos: inteiros e reais. Os números inteiros podem ser positivos ou negativos e NÃO possuem parte decimal. Exemplos: Vejamos algumas proposições declarativas comuns, em que é usado o tipo inteiro: a) Ele tem 15 irmãos. b) A escada possui 8 degraus. c) Meu vizinho comprou 2 carros novos Enfatizando o conceito de dado, vale observar, por exemplo, o item: 8 é um dado do tipo inteiro e a informação é associar que 8 é o número de degraus da escada.
Real Os números reais podem ser positivos ou negativos e possuem parte decimal. Exemplos: a) Ela tem 1.73 metro de altura. b) Meu saldo bancário é de 215.20. c) No momento estou pesando 82.5 kg. Observação: Nas linguagens de programação a separação entre a parte inteira e a parte decimal de um número é feita pelo ponto (.), e a simples presença do ponto já significa que é um número real.
Literal ou Caractere São dados formados por caracteres (um ou mais). Esses caracteres podem ser as letras maiúsculas, as letras minúsculas, os números e os caracteres especiais (&, #, @,?, +). Exemplos: a) Escolha o sexo: M ou F. b) Constava na prova: Use somente a caneta! ; c) Parque municipal estava repleto de placas: Não pise na grama. d) Nome do vencedor é Felisberto Laranjeira. Observação: Os dados do tipo literal na linguagem Pascal são sempre representados entre aspas simples.
5. CONSTANTES Entendemos que um dado é constante quando não sofre variação no decorrer do tempo, ou seja, seu valor é constante desde o início até o fim da execução do algoritmo, assim como é constante para execuções diferentes no tempo. O uso de constantes é igual na matemática, por exemplo: o uso da constante pi no cálculo da área de um círculo (área = pi * r2, onde pi = 3.14159).
Program Constantes; Const pi=3.14159; Begin write ('Valor de pi é: ', pi); End.
6. VARIÁVEL Um dado é classificado como variável quando tem a possibilidade de ser alterado em algum instante no decorrer do tempo, ou seja, durante a execução do programa em que é utilizado, o valor do dado sofre alteração ou o dado é dependente da execução em certo momento ou circunstância. Exemplos: A cotação do dólar, o peso de uma pessoa, o índice da inflação.
Quando fazemos um programa, este normalmente recebe dados, os quais precisam ser armazenados no computador para que possam ser utilizados no processamento; esse armazenamento é feito na memória. Um exemplo para ilustrar a diferença entre valores constantes e variáveis seria a construção de um programa para calcular o valor da área de uma circunferência. Area = pi*r2 Area 3.14159 * (raio*raio)
Program Variaveis; Const pi=3.14159; r=2; Var Area: real; Begin Area := pi * (r*r); write ('A Area calculada é: ', Area ); End.
7. Sinal de atribuição O conteúdo de uma variável pode ser alterado a qualquer momento. Portanto para atribuir valores a variáveis devemos usar o sinal de ( := em Pascal). Exemplos: A := 1; B := 2; C := A + B;
8. COMENTÁRIOS Os comentários não são interpretados pelo compilador, servem apenas para esclarecer o programador, são excelentes instrumentos de documentação e devem sempre estar entre {... }. Ou ainda pode-se usar // para comentar o resto da linha. Exemplo de comentário:
Program Comentarios; Const pi=3.14159; r=2; Var Area: real; Begin Area := pi * (r*r); //Area é uma variavel q recebe o resultado do calculo write ('A Area calculada é: ', Area ); {write ('Esta linha não é compilada porque esta comentada');} End.
9. Operações Lógicos: Operador Exemplo and (e) x and y or (ou) x ou y = (igual) x = y < (menor que) x < y <= (menor ou igual que) x <= y > (maior que) y > x >= ( maior ou igual que y >= x <> (diferente) y <> x
Program Logicas; Var x, y: integer; Begin Writeln ('Informe valor para X: '); Read (x); Writeln ('Informe valor para Y: '); Read (y); if (x = y) or (x <= y) then writeln ('X igual ou menor q Y'); if (x <> y) and (x > y) then writeln ('X diferente e maior q Y'); End.
10. Operações aritméticos: + Adição - Subtração * Multiplicação / Divisão inteira e divisão real div Divisão inteira Mod Resto da divisão sqr Potenciação sqrt Radiciação
Program Aritmetica; Var x, y: real; Begin Writeln ('Informe valor para X: '); Read (x); Writeln ('Informe valor para Y: '); Read (y); writeln ('Soma dos valores:', x + y); writeln ('Subtração dos valores:', x - y); writeln ('Multiplicação dos valores:', x * y); writeln ('Divisão dos valores:', x / y); writeln (11 div 2); writeln (11 mod 2); writeln (sqr(3)); writeln (sqrt(9)); //ClrScr; End.
Exemplo: Considere X e Y variáveis do tipo inteiro e com valores 7 e 3 respectivamente. X + Y => 10 X / Y => 2 X - Y => 4 Y / X => 0 Y - X => - 4 X * Y => 21 X / 2.0 = 3.5 Y / 3.0 => 1.0 Exemplo: X + Y Z => (X + Y) Z
A ordem da precedência dentro de uma expressão aritmética pode ser alterada fazendo-se uso de parênteses. Caso tenha dúvidas quanto à ordem de precedência de uma expressão, utilize sempre parênteses para especificar claramente a ordem da avaliação desejada. Exemplo: A + B * C => A + (B * C) Para forçar a precedência usamos os parênteses => (A + B) * C
Funções de Formatação da Tela TextBackground: seleciona a cor de fundo da tela. Valores válidos vão de 0 a 7. Exemplo: textbackground (1) Observação : Este comando deve ser colocado antes do comando de limpar a tela (ClrScr). TextColor: seleciona a cor do texto. Valores válidos vão de 0 a 15. Exemplo: textcolor (14) Observação: Em vez de colocar o número correspondente a cor deseja da, pode-se colocar o "nome" da cor em inglês. Exemplo: textcolor (red)
A Tabela 9 abaixo apresenta os valores (números) correspondentes a cada cor:
Program Cores; Begin textbackground (blue); textcolor (12); clrscr; write ('Alterando as cores'); End.