Programação de Computadores
com Inter-S
Roberto Vichinsky
2009
Introdução à Programação de Computadores com INTER-S
Sumário
1. Introdução à Programação................................................................................................ 3
1
Introdução à Programação de Computadores com INTER-S
9. Gráficos ............................................................................................................................ 43
2
Introdução à Programação de Computadores com INTER-S
1. Introdução à Programação
A proposta deste primeiro capítulo é fornecer as noções básicas sobre programação de
computadores. Veremos uma breve história da programação e abordaremos alguns conceitos
introdutórios sobre programas de computador. Ao final, você saberá o que é uma linguagem
de programação, seus elementos básicos e como aplicar a técnica da pseudolinguagem para
o desenvolvimento de algoritmos lógicos.
3
Introdução à Programação de Computadores com INTER-S
Modo de preparo:
- Junte os ovos, o
leite e a farina em
uma tigela.
- Bata até formar...
4
Introdução à Programação de Computadores com INTER-S
Nota 1 Instruções:
Nota 2 - Obter 4 notas
bimestrais Média
Nota 3
- Somar e dividir por 4
Nota 4
- Mostrar o resultado
Observe que neste exemplo as 4 notas bimestrais são os "ingredientes", ou seja, os dados de
entrada necessários à resolução do problema; o conjunto de instruções corresponde ao
"modo de preparo", ou seja, são os procedimentos a serem realizados pelo programa e a
média final corresponde ao "produto final", que no caso da receita culinária seria o bolo, e
neste caso é o dado de saída.
Podemos concluir que todo algoritmo requer informações externas (dados de entrada), as
quais são processadas gerando resultados fornecidos como dados de saída.
Existem diversos métodos para a representação de um algoritmo, porém, dentro do nosso
curso usaremos apenas um: a pseudolinguagem
1.4. A pseudolinguagem
Uma boa ferramenta para a representação de algoritmos é a pseudolinguagem : uma maneira
de escrevermos as instruções utilizando a língua portuguesa de uma forma estruturada,
aproximando-a da linguagem de programação.
Observe abaixo o algoritmo para a resolução do problema da média final em
pseudolinguagem:
Rotina
Declare nota1, nota2, nota3, nota4, media Numéricos
Receba nota1
Receba nota2
Receba nota3
Receba nota4
media = (nota1+nota2+nota3+nota4) / 4
Escreva media
FimRotina
Note que o algoritmo apresentado utiliza palavras em português e apresenta um certo nível
de estruturação. Isto caracteriza uma pseudolinguagem.
Não existe um padrão definitivo para a representação de algoritmos em pseudolinguagem,
cada autor ou profissional de desenvolvimento acaba criando o seu próprio padrão, desde
que obedecendo alguns princípios básicos: as instruções devem ser representadas através
de verbos no imperativo; expressões matemáticas devem ser representadas da maneira mais
próxima possível da matemática tradicional; devem utilizar sempre a mesma palavra para
representar operações iguais, etc.
5
Introdução à Programação de Computadores com INTER-S
Importante:
A pseudolinguagem não é compreendida pelo computador. Trata-se apenas de um recurso
auxiliar que o programador utiliza para a definição da sequência lógica do programa antes de
escrevê-lo em linguagem de programação. Porém, para otimizar o estudo da lógica de
programação, desenvolvemos um software capaz de interpretar e executar algoritmos escritos
em pseudolinguagem: o Inter-S.
O Inter-S foi projetado para servir como ferramenta de apoio ao ensino da lógica e técnicas
de programação, tornando-se uma linguagem ideal e bastante sofisticada para esta
finalidade. Permite que o algoritmo seja "executado" pelo computador, possibilitando ao aluno
a constatação imediata do seu funcionamento.
O algoritmo apresentado como exemplo (cálculo da média) foi escrito em Inter-S. Através
deste exemplo podemos esboçar algumas conclusões:
• Um algoritmo Inter-S deve começar com a palavra Rotina e terminar com a palavra
FimRotina, sendo que as demais linhas devem estar alinhadas em uma margem
mais à direita.
• A palavra Declare faz a declaração dos dados que serão manipulados pelo
programa. Estes dados (aqui chamados de variáveis) são as informações de
entrada, de saída e, eventualmente, alguma informação intermediária que não é
recebida nem escrita pelo programa (variáveis auxiliares). A palavra Numéricos,
que aparece no final da linha de declaração, indica o tipo de dado, no nosso
exemplo os dados de entrada (nota1, nota2, nota3 e nota4) são numéricos, assim
como o dado de saída (media). Observe que não utilizamos espaços para
identificar os dados ou palavras chaves.
• A instrução Escreva media faz com que o conteúdo armazenado na variável media
(o resultado do cálculo) seja escrito na saída padrão, que no nosso caso é o
monitor de vídeo.
6
Introdução à Programação de Computadores com INTER-S
Rotina
Declare nota1, nota2, nota3, nota4, media Numéricos
Receba nota1
Receba nota2
Receba nota3
Receba nota4
media = (nota1+nota2+nota3+nota4) / 4
Escreva media
FimRotina
1.5.1. Variáveis
É uma prática saudável atribuir um nome sugestivo a cada variável, ou seja, um nome que
indique o conteúdo que a mesma receberá. Por exemplo, para "batizar" uma variável que
receberá o valor de um salário poderíamos utilizar o nome VL_SALARIO, desta forma
teríamos um algoritmo melhor documentado, pois o nome da variável já indicaria o seu
conteúdo. No nosso exemplo (cálculo da média) utilizamos 5 variáveis:
1.5.2. Constantes
Assim como as variáveis, constantes são áreas reservadas na memória do computador para
o armazenamento de informações, porém, a característica básica de uma constante é que
seu conteúdo não sofrerá alteração durante a execução do programa, ou seja, seu conteúdo
7
Introdução à Programação de Computadores com INTER-S
media = (nota1+nota2+nota3+nota4) / 4
Esta linha corresponde ao cálculo da média, onde os conteúdos das variáveis nota1, nota2,
nota3 e nota4 serão somados e dividido pela constante 4 (/4).
Observe que a constante terá sempre o valor 4, independentemente dos conteúdos atribuídos
às variáveis nota1 a nota4.
Neste nosso exemplo não houve a necessidade de se dar um nome à constante, ela
simplesmente foi colocada na fórmula. Mas poderíamos lhe atribuir um nome, desta forma
teríamos o seguinte algoritmo:
Rotina
Declare nota1, nota2, nota3, nota4, media Numéricos
Declare divisor Numérico
divisor=4
Receba nota1
Receba nota2
Receba nota3
Receba nota4
media = (nota1+nota2+nota3+nota4) / divisor
Escreva media
FimRotina
Note que foram colocadas duas linhas a mais: Declare divisor Numérico e divisor=4, a
primeira linha declara uma variável numérica com nome divisor, e a segunda linha atribui o
conteúdo 4 a ela. Na fórmula utilizamos o nome da constante em substituição ao seu
conteúdo:
1.5.3. Declarações
Toda variável ou constante deve ser declarada com um nome e um tipo antes de ser utilizada
no algoritmo, com exceção das constantes aplicadas diretamente em uma expressão (como
vimos no exemplo anterior).
Temos apenas uma instrução de declaração: Declare, que é utilizada tanto para a declaração
de variáveis como para a declaração de constantes.
Os tipos para a declaração são Numérico e Caractere, o primeiro indica que a variável ou
constante poderá armazenar apenas informações numéricas (números), e o segundo indica
que a variável ou constante só poderá receber informações do tipo texto (caracteres). Veja
exemplos abaixo:
Declare valor, total Numéricos Declara as variáveis valor e total como numéricas
Declare nome Caractere Declara a variável nome como caractere (texto)
8
Introdução à Programação de Computadores com INTER-S
1.5.4. Expressões
São combinações de variáveis, constantes e operadores em uma única sentença, que têm
como finalidade a obtenção de um resultado. As expressões mais comuns são as aritméticas.
Observando o nosso algoritmo para o cálculo da média, destacamos a seguinte expressão:
(nota1+nota2+nota3+nota4) / 4
É uma expressão aritmética onde combinamos variáveis (nota1 a nota4), constante (4) e
operadores (+ e /). A finalidade desta expressão é a obtenção da média, que posteriormente
será armazenada na variável media: Veja a instrução completa:
media = (nota1+nota2+nota3+nota4) / 4
1.5.5. Operadores
São símbolos que representam as operações em uma expressão. Temos três tipos básicos
de operadores: aritméticos, relacionais e lógicos.
Os operadores aritméticos são aqueles utilizados em expressões numéricas. A tabela a
seguir os apresenta na ordem de precedência (prioridade em que são efetuadas as
operações):
Operadores aritméticos
Operação Operador
Exponenciação ^
Multiplicação *
Divisão /
Adição +
Subtração -
Parte inteira da divisão \ ou DIV
Resto da divisão (módulo) % ou MOD
Operadores relacionais
Operação Operador
Igual a =
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
Diferente de #
9
Introdução à Programação de Computadores com INTER-S
Operadores lógicos são os que utilizam a lógica booleana para a construção de expressões
condicionais:
Operadores lógicos
Operação Operador
Conjunção E
Disjunção OU
Negação NÃO
NOTA: É natural que você ainda não compreenda ou não enxergue onde e como
utilizar os operadores relacionais e lógicos. Não se assuste com isso (pelo menos
por enquanto!). No decorrer do curso teremos subsídios suficientes para entendê-
los.
Além dos três tipos básicos, temos um outro operador denominado operador de atribuição.
Este operador permite atribuir valores às variáveis. Veja a instrução para o cálculo da média
do nosso exemplo:
media = (nota1+nota2+nota3+nota4) / 4
Observe que a variável media está recebendo o resultado de uma expressão aritmética. O
operador = (sinal de igualdade) indica que a variável à esquerda é aquela que receberá o
resultado do cálculo (que, neste caso, é a própria variável media).
10
Introdução à Programação de Computadores com INTER-S
Nota: Consulte o guia de referência para obter maiores informações sobre o produto.
Rotina
Declare nota1, nota2, nota3, nota4, media Numéricos
Receba nota1
Receba nota2
Receba nota3
Receba nota4
media = (nota1+nota2+nota3+nota4) / 4
Escreva media
FimRotina
11
Introdução à Programação de Computadores com INTER-S
Observe que você não precisa usar a estruturação, ou seja, o deslocamento para a direita das
instruções entre as palavras Rotina e FimRotina. Você pode simplesmente digitar o
algoritmo sem se preocupar com a estruturação, assim como mostra a figura abaixo:
Porém, a estruturação é um procedimento altamente recomendável, pois é ela que dará maior
clareza ao programa. Para que o Inter-S estruture automaticamente o algoritmo, use o
comando "Estruturar" da barra de ferramentas, como mostra a figura abaixo:
12
Introdução à Programação de Computadores com INTER-S
Após a digitação e estruturação do algoritmo, você deve gravá-lo. Para este procedimento,
use o menu Arquivo/Salvar ou o comando Salvar da barra de ferramentas:
Na janela de gravação (janela "Salvar"), escolha a pasta destino (onde o algoritmo ficará
armazenado) e digite um nome para o arquivo. Procure sempre dar um nome sugestivo para
que fique mais fácil a sua localização no futuro. O Inter-S sugere como padrão o nome
"SemNome", que é uma forma de lembrá-lo que o arquivo não possui um nome adequado.
Para este nosso programa, dê o nome "Média" (bem sugestivo, não acha?). Não há
necessidade de digitar o sufixo .ALG, o próprio Inter-S se encarregará disso:
Observações:
Para nomes de arquivos, nunca use espaços ou caracteres especiais, procure usar nomes
pequenos e, apesar de possível, evite usar acentuação ou cedilha.
13
Introdução à Programação de Computadores com INTER-S
Menu
"Executar/Executar" Comando "Executar"
Surgirá a tela de execução conforme ilustração abaixo. Clique mais uma vez no local indicado
para iniciar a execução do algoritmo:
Observações:
Caso o algoritmo tenha sofrido alguma alteração, o Inter-S pedirá para você gravá-lo
novamente antes da execução.
Você deve ter notado que durante a execução do programa aparece na tela apenas uma
espécie de cursor (_) aguardando a digitação da primeira nota, conforme imagem abaixo:
Cursor
aguardando a
digitação
14
Introdução à Programação de Computadores com INTER-S
Você deve digitar a primeira nota e teclar Enter. O cursor pulará para a próxima linha e
esperará pela segunda nota. Desta forma, você deve informar todas as notas para que no
final o computador mostre a média:
Faça o mesmo
para a instrução
Escreva
15
Introdução à Programação de Computadores com INTER-S
Agora salve e execute o algoritmo. Veja como a tela de execução ficará mais amigável:
16
Introdução à Programação de Computadores com INTER-S
// Programa: ENT_SAI
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare valor1, valor2, resultado Numerico
Receba valor1
Receba valor2
Resultado = valor1 + valor2
Escreva resultado
FimRotina
Comentários:
Observe que as três primeiras linhas do algoritmo em Inter-S começam com duas barras (//).
Essas linhas não são reconhecidas como instruções, são consideradas comentários que
possibilitam ao programador introduzir algumas informações somente para documentar o
programa. Observe que estas linhas trazem as seguintes informações: nome do programa
(ENT_SAI), autor (nome do programador) e data de criação. Porém, o programador pode
escrever o que achar necessário para documentar o programa, desde que as linhas de
documentação (ou comentários) comecem com duas barras (//).
Receba valor1
Esta instrução faz a leitura da entrada padrão (teclado) e coloca o conteúdo lido na
variável especificada: valor1. Em outras palavras, esta instrução espera que o usuário
digite um valor, colocando-o na variável valor1.
Receba valor2
Instrução semelhante à anterior, mudando apenas a variável que receberá a informação:
valor2.
17
Introdução à Programação de Computadores com INTER-S
Escreva resultado
Esta instrução envia uma informação para a saída padrão (vídeo). Escreva resultado faz
com que o conteúdo da variável resultado seja escrito no vídeo.
Instrução correspondente em linguagem C:
// Programa: ENT_SAI
// Autor <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare valor1, valor2, resultado Numerico
Escreva "Programa ENT_SAI"
Receba "Digite o 1º valor:", valor1
Receba "Digite o 2º valor:", valor2
Resultado = valor1 + valor2
Escreva "Soma dos valores:", resultado
FimRotina
18
Introdução à Programação de Computadores com INTER-S
IMPORTANTE:
A instrução Escreva pode ser utilizada para escrever até mais do que duas informações. Veja
o exemplo abaixo:
// Programa: DATA
// Autor <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare dia numérico
Declare mes caractere
Declare ano numérico
Receba "Digite o dia:",dia
Receba "Digite o mês:",mes
Receba "Digite o ano:",ano
Escreva "São Paulo ",dia," de ",mes," de ",ano
FimRotina
No programa acima estamos declarando três variáveis: dia (numérico), mes (caractere) e ano
(numérico). Note que a variável mes (sem acento, pois um nome de variável não pode conter
acentuação) foi declarada como caractere para que possa receber o nome do mês (janeiro,
fevereiro, etc.). As outras variáveis (dia e ano) receberão valores numéricos.
Após as declarações existem três instruções para o recebimento dos valores das variáveis
(instruções Receba) e, finalmente, temos uma instrução Escreva um pouco mais complexa
do que aquelas vistas anteriormente, pois, note que ela escreverá 6 (seis) informações na tela
para compor uma única expressão:
1 2 3 4 5 6
Observe que todas as informações estão separadas por vírgula. As informações entre aspas
serão escritas na tela do mesmo jeito que aparecem na instrução. As informações sem aspas
correspondem às variáveis cujos valores serão mostrados na tela. Portando, imaginando que
o usuário tenha informado os valores: 22 (variável dia), janeiro (variável mes) e 2009 (variável
ano), o computador mostrará na tela a seguinte mensagem:
19
Introdução à Programação de Computadores com INTER-S
M=(A+B)/2
OPERADOR SIGNIFICADO
+ Adição
- Subtração
* Multiplicação
/ Divisão
^ Exponenciação
MOD ou % Módulo (resto da divisão)
DIV ou \ Parte inteira da divisão
Exemplo: Observe nas expressões abaixo o resultado e a ordem das operações efetuadas:
20
Introdução à Programação de Computadores com INTER-S
Exemplo: Observe nas expressões abaixo o resultado e a ordem das operações efetuadas:
Expressão Resultado Ordem
1 + (2 - 3) 0 - +
(24 - 3) * 5 105 - *
(4 - 2 * 6) / 4 + 1 -1 * - / +
6 / ((2 + 11) % 3) * 4 24 + % / *
Note que os operadores e os operandos deste exemplo são os mesmos do exemplo anterior.
Os resultados, porém, são diferentes, pois a ordem de execução das operações foi
modificada pelo uso dos parênteses.
O programa apresentado abaixo ilustra o uso de operadores matemáticos e precedência de
cálculo. Estude-o com atenção:
// Programa: OPERAC
// Autor : < nome-do-programador >
// Data : 99/99/9999
Rotina
Declare A,B,R numéricos
Receba "Digite o valor de A:",A
Receba "Digite o valor de B:",B
R=A+B
Escreva "A soma dos valores é: ",R
R=(A+B)/2
Escreva "A média dos valores é: ",R
R=(A^2)+(B^2)
Escreva "A soma dos quadrados dos valores é: ",R
R=A-(A+B)/2
Escreva "O valor de A menos a média de A e B é: ",R
FimRotina
Funções matemáticas
21
Introdução à Programação de Computadores com INTER-S
Para ilustrar o uso das funções, vamos construir um programa para calcular o comprimento
da hipotenusa tendo como valores de entrada os comprimentos dos catetos A e B de um
triângulo retângulo (Teorema de Pitágoras). Primeiramente vamos relembrar a fórmula:
Hipotenusa = A2 + B2
Veja que os operandos da expressão são A e B (os catetos), os operadores são a soma e a
exponenciação e ainda devemos usar a função para calcular a raiz quadrada. Em Inter-S
devemos representar o cálculo por meio da seguinte instrução:
H = Raiz((A^2)+(B^2))
// Programa: PITAGORAS
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare A,B,H numéricos
Receba "Digite o valor do Cateto A: ", A
Receba "Digite o valor do Cateto B: ", B
H=Raiz((A^2)+(B^2))
Escreva "O valor da Hipotenusa é: ", H
FimRotina
22
Introdução à Programação de Computadores com INTER-S
A tela de execução do Inter-S é considerada "textual", ou seja, ela aceita apenas textos. É
formada por uma matriz de 25 linhas por 80 colunas, onde cada célula pode conter apenas
um caractere.
A matriz de 25 linhas por 80 colunas é invisível, serve apenas como referência para o
posicionamento dos textos.
80 colunas
25 linhas
Vejamos agora o conjunto de instruções do Inter-S que permite explorar a tela de execução:
23
Introdução à Programação de Computadores com INTER-S
// Programa: OLA
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Posicione 3,10
Escreva "Olá pessoal"
FimRotina
Podemos aplicar a instrução Posicione sempre que necessário, basta informar a posição
onde o texto da próxima instrução Escreva deve aparecer, lembrando que a primeira
informação é a linha e a segunda, separada por vírgula, é a coluna.
16
63
Note que no exemplo acima a moldura retangular começa na linha 4 e coluna 17 (canto
esquerdo superior) e termina na linha 16 e coluna 63 (canto direito inferior). Para conseguir tal
efeito, devemos utilizar a instrução Moldura da seguinte forma:
Moldura 4,17,16,63,branco
Onde:
4,17 é a posição inicial (linha 4 e coluna 17)
16,63 é a posição final (linha 16 e coluna 63)
branco é a cor de preenchimento do retângulo
24
Introdução à Programação de Computadores com INTER-S
Veja que devemos definir uma cor de preenchimento. Portanto, o conceito de moldura no
Inter-S é um pouco mais abrangente, na realidade, uma moldura em Inter-S é uma área
retangular emoldurada e preenchida com uma determinada cor. Se a cor de preenchimento
for igual à cor da tela, teremos então um efeito apenas de borda, a qual terá a mesma cor dos
textos (que também pode ser definida – veja como definir a cor dos textos no tópico 3.3 –
instrução CorTexto).
// Programa: MOLDURAS
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Moldura 2,27,3,37,celeste+
Posicione 2,28
Escreva "Molduras"
Moldura 3,10,5,13,azul+
Moldura 7,10,10,20,vermelho+
Moldura 10,13,15,18,amarelo
Moldura 2,15,8,25,verde
Pausa
FimRotina
Observe que antes da instrução FimRotina existe uma linha com a palavra Pausa. Esta linha
é uma instrução que faz o processamento ser congelado até que o usuário digite uma tecla
qualquer. Ela é muito útil para que o seu programa não termine bruscamente.
25
Introdução à Programação de Computadores com INTER-S
O formato geral da instrução Moldura é mostrado abaixo (observe que todos as informações
– linhas, colunas e cor – devem estar separadas por vírgula):
Onde:
Li é a linha inicial (canto esquerdo superior)
Ci é a coluna inicial (canto esquerdo superior)
Lf é a linha final (canto direito inferior)
Cf é a coluna final (canto direito inferior)
Cor é uma das 16 cores permitidas, de acordo com a tabela abaixo:
BRANCO BRANCO+
AMARELO AZUL
AZUL+ VERMELHO
VERMELHO+ VERDE
VERDE+ CELESTE
CELESTE+ MAGENTA
MAGENTA+ MARROM
CINZA PRETO
Nota: Observe que algumas cores permitem o uso do sinal de mais (+). Este sinal indica que
a cor é mais intensa.
// Programa: TEXTO
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
CorTexto verde
Escreva "Esta mensagem está em verde"
CorTexto vermelho+
Escreva "Esta mensagem está em vermelho+"
CorTexto azul+
Escreva "Esta mensagem está em azul+"
FimRotina
26
Introdução à Programação de Computadores com INTER-S
CorTexto cor
Onde:
cor é uma das 16 cores permitidas, de acordo com a tabela abaixo:
BRANCO BRANCO+
AMARELO AZUL
AZUL+ VERMELHO
VERMELHO+ VERDE
VERDE+ CELESTE
CELESTE+ MAGENTA
MAGENTA+ MARROM
CINZA PRETO
// Programa: FUNDO
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
CorFundo amarelo
Escreva "O fundo da tela é amarelo"
FimRotina
27
Introdução à Programação de Computadores com INTER-S
CorFundo cor
Onde:
cor é uma das 16 cores permitidas, de acordo com a tabela abaixo:
BRANCO BRANCO+
AMARELO AZUL
AZUL+ VERMELHO
VERMELHO+ VERDE
VERDE+ CELESTE
CELESTE+ MAGENTA
MAGENTA+ MARROM
CINZA PRETO
6. Estruturas condicionais
Todos os programas vistos até agora continham instruções que eram executadas em uma
sequência linear, ou seja, as instruções eram executadas uma a uma, de cima para baixo,
incondicionalmente.
Uma estrutura condicional, ou estrutura de decisão, permite que o programa faça a escolha
do que executar, de acordo com uma condição. O Inter-S possui duas instruções que nos
permitem trabalhar com dois tipos de estruturas condicionais: Se...Senão e Caso...Fimcaso.
A estrutura de decisão de um bloco permite que se execute (ou não) um bloco de instruções
conforme o valor de uma condição seja verdadeiro ou falso. O fluxograma desta estrutura é
mostrado na figura 4.1.
Condição
Sim
Não Bloco de
instruções
28
Introdução à Programação de Computadores com INTER-S
// Programa: RAIZ
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare num, resultado Numérico
Receba "Digite um número: ", num
Se num >= 0 então
resultado = raiz(num)
Escreva "Raiz quadrada: ", resultado
FimSe
FimRotina
Para um melhor entendimento, vamos representar esta situação graficamente por meio de um
fluxograma. Veja abaixo:
29
Introdução à Programação de Computadores com INTER-S
Se condição então
instruções
FimSe
Onde:
Se ....................... é a instrução que inicia a estrutura
condição .......... é a pergunta que será feita
então................. indica o que deve ser feito caso a resposta for "sim"
instruções .... é o bloco de instruções que será executado caso a resposta for "sim"
FimSe ................ é o finalizador da estrutura
Também é possível escrever uma estrutura que execute um entre dois blocos de instruções.
A figura 4.2 mostra o fluxograma correspondente a esta estrutura de decisão.
Bloco 1 de Bloco 2 de
instruções instruções
// Programa: PARIMPAR
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare num, resto Numérico
Receba "Digite um número: ", num
resto = num % 2
Se resto = 0 então
Escreva "Número par"
Senão
Escreva "Número ímpar"
FimSe
FimRotina
30
Introdução à Programação de Computadores com INTER-S
16 2
16 dividido por 2 é igual a 8, com resto 0 (zero) - indica número par.
0 8
15 2
15 dividido por 2 é igual a 7, com resto 1 (um) - indica número ímpar.
1 7
Já vimos que o Inter-S possui um operador matemático que nos retorna o resto de uma
divisão: é o operador módulo, representado pelo caractere % ou pela expressão MOD. As
divisões acima podem ser representadas em Inter-S da seguinte forma:
resto = 16 % 2 a variável resto receberá conteúdo 0 (zero), pois não existe resto
nesta divisão.
resto = 15 % 2 a variável resto receberá conteúdo 1 (um), pois o resto da divisão é 1.
Observe no programa acima que a estrutura de decisão contém dois blocos de comandos. O
primeiro encontra-se logo após a instrução Se, e o segundo após a instrução Senão:
Se resto = 0 então
Escreva "Número par"
Senão
Escreva "Número ímpar"
FimSe
31
Introdução à Programação de Computadores com INTER-S
Operadores relacionais
Nas expressões que são avaliadas pelo comando Se utilizamos operadores de relação, os
quais nos permitem verificar se um determinado valor é igual ou não a um outro, se é maior
ou menor, etc.
Operadores relacionais verificam a relação de magnitude e igualdade entre dois valores. São
seis os operadores relacionais:
Operador Significado
> maior que
< menor que
>= maior ou igual a (não menor que)
<= menor ou igual a (não maior que)
= igual a
# diferente de
Operadores lógicos
Até aqui ainda não tivemos a oportunidade de utilizar os operadores lógicos. São operadores
que utilizam a lógica booleana para a construção de expressões condicionais. Por exemplo:
se você quiser que uma determinada rotina seja executada somente quando os valores de
duas variáveis (x e y) sejam iguais a zero, você deve construir a seguinte expressão:
Se x = 0 e y = 0 então ...
Por outro lado, se você quiser que uma determinada rotina seja executada quando o valor de
uma das duas variáveis seja igual a zero, ou seja, se x for igual a zero ou y for igual a zero,
você deve construir a seguinte expressão:
Se x = 0 ou y = 0 então ..
São dois os operadores lógicos do Inter-S E e OU. Estes operadores têm a mesma
significação dos operadores lógicos Booleanos AND (e) e OR (ou).
32
Introdução à Programação de Computadores com INTER-S
Expressão
Instrução 1
Resultado 1
Instrução 2
Resultado 2
Resultado 3 Instrução 3
... ...
Resultado N Instrução N
Instrução
padrão
33
Introdução à Programação de Computadores com INTER-S
// Programa: MESES
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare mes numérico
Receba "Digite o número do mês: ", mes
Caso mes
Seja = 1 Faça Escreva "Janeiro"
Seja = 2 Faça Escreva "Fevereiro"
Seja = 3 Faça Escreva "Março"
Seja = 4 Faça Escreva "Abril"
Seja = 5 Faça Escreva "Maio"
Seja = 6 Faça Escreva "Junho"
Seja = 7 Faça Escreva "Julho"
Seja = 8 Faça Escreva "Agosto"
Seja = 9 Faça Escreva "Setembro"
Seja = 10 Faça Escreva "Outubro"
Seja = 11 Faça Escreva "Novembro"
Seja = 12 Faça Escreva "Dezembro"
CasoNão Faça Escreva "Mês inválido"
FimCaso
FimRotina
Neste exemplo, o programa recebe um número que corresponde ao mês. Se a variável mes
receber valor 1, então será executada a instrução que se encontra na linha correspondente ao
seja = 1, que neste caso é Escreva "Janeiro", caso receba o valor 2, a instrução Escreva
"Fevereiro" será executada, e assim por diante. Caso a variável mes receba um valor menor
que 1 ou maior que 12, será executada a instrução que se encontra na linha CasoNão, que
neste caso é Escreva "Mês inválido".
Caso expressão
Seja condição faça instrução
...
CasoNão faça instrução
FimSe
Onde:
Caso .................. é a instrução que inicia a estrutura
expressão ....... é a expressão ou a variável que será avaliada
Seja ................... indica cada uma das a condições ou resultados da avaliação
condição ......... é a pergunta que verifica o resultado da expressão
faça.................... é o direcionamento para a instrução se o resultado for igual à
condição
instrução ....... é a instrução que deverá ser executada se a condição for verdadeira
CasoNão ............ indica o que deve ser feito no caso de nenhuma das condições ser
verdadeira
FimCaso ............ é o finalizador da estrutura
34
Introdução à Programação de Computadores com INTER-S
// Programa: CALC
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare n1, n2, resultado numéricos
Declare operador caractere
Receba "Digite o primeiro número: ", n1
Receba "Digite o segundo número.: ", n2
Receba "Operação (+, -, *, /)...: ", operador
Caso operador
Seja = "+" Faça resultado=n1+n2
Seja = "-" Faça resultado=n1-n2
Seja = "*" Faça resultado=n1*n2
Seja = "/" Faça resultado=n1/n2
CasoNão Faça Escreva "Operador inválido"
FimCaso
Escreva "Resultado...............: ", resultado
FimRotina
Observe que no programa acima (CALC) estamos declarando três variáveis numéricas (n1,
n2 e resultado). A variável n1 será responsável pelo recebimento do primeiro valor; a
variável n2 se responsabilizará pelo recebimento do segundo valor e a variável resultado
armazenará o resultado da operação.
Temos uma quarta variável declarada como operador. Esta variável é do tipo caractere, pois
deverá receber um dos sinais matemáticos (+, -, * ou /), portanto, ela não pode ser numérica.
Como os conteúdos das variáveis do tipo caractere são tratados como texto, todas as
referências a estes conteúdos devem usar aspas, como podemos observar nas linhas das
instruções Seja. Note que a os conteúdos a serem verificados estão entre aspas:
35
Introdução à Programação de Computadores com INTER-S
7. Estruturas de repetição
Estruturas de repetição permitem que um bloco de instruções seja executado, repetidamente,
uma quantidade controlada de vezes. O Inter-S possui três tipos de estruturas de repetição:
Repita...AtéQue, Enquanto...FimEnquanto e Para...FimPara.
Repita
Instruções
AtéQue condição
Esta estrutura faz com que um bloco de instruções seja executado pelo menos uma vez. Após
a execução do bloco, a condição é avaliada. Se a condição for verdadeira, o bloco será
executado outra vez, caso contrário a repetição é terminada. O fluxograma desta estrutura é
mostrado na figura 5.1:
bloco
condição? V
36
Introdução à Programação de Computadores com INTER-S
// Programa: QUADRA1
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare num Numérico
Repita
Receba "Digite um número: ", num
Escreva "Quadrado: "
Escreva num^2
AtéQue num <= 0
FimRotina
Observe que as instruções existentes entre as linhas Repita e AtéQue serão executadas
enquanto o valor da variável num for maior que zero.
Note que o final da estrutura é representado pela expressão AtéQue, ou seja, a estrutura será
repetida até que algo seja verdadeiro. Neste caso, quando o valor da variável num for menor
ou igual a zero (num <= 0), a estrutura será encerrada.
Esta estrutura faz com que a condição seja avaliada em primeiro lugar. Se a condição for
verdadeira, o bloco de instruções será executado uma vez e a condição será avaliada
novamente. No caso de a condição ser falsa, a repetição será terminada sem a execução do
bloco de instruções. Observe que nesta estrutura, ao contrário da estrutura Repita...AtéQue,
o bloco de instruções pode não ser executado nenhuma vez, basta que a condição seja
inicialmente falsa. O fluxograma desta estrutura é mostrado na figura 5.2:
V
Condição Bloco
37
Introdução à Programação de Computadores com INTER-S
// Programa: QUADRA2
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare num Numérico
Num = 1
Enquanto num > 0 Faça
Receba "Digite um número: ", num
Escreva "Quadrado: "
Escreva num^2
FimEnquanto
FimRotina
Observe que o programa acima tem o mesmo objetivo do programa QUADRA1: recebe um
número pelo teclado e mostra o quadrado do mesmo enquanto o número for maior que zero.
Note também que a variável num foi iniciada com o valor 1 (num = 1), isto foi necessário
para que a estrutura pudesse ser iniciada, pois se o valor de num, na primeira vez, fosse
menor ou igual a zero, a estrutura não seria executada e o programa terminaria.
38
Introdução à Programação de Computadores com INTER-S
// Programa: CONTA
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare cont Numérico
Para cont=1 Até 10 Faça
Escreva cont
FimPara
FimRotina
É interessante notar que a mesma estrutura lógica pode ser implementada usando as
estruturas Repita...AtéQue ou Enquanto...FimEnquanto:
Repita…AtéQue Enquanto...FimEnquanto
Rotina Rotina
Declare cont Numérico Declare cont Numérico
cont=1 cont=1
Repita Enquanto cont<=10 faça
Escreva cont Escreva cont
cont=cont+1 cont=cont+1
AtéQue cont>10 FimEnquanto
FimRotina FimRotina
Para alterar o valor do incremento usamos a instrução Passo, por meio da qual informamos o
novo valor. Veja alguns exemplos a seguir:
39
Introdução à Programação de Computadores com INTER-S
Programa Comentários
Rotina Este programa exibe na tela os
Declare cont Numérico números pares de 2 a 10.
Passo 2 Veja que o incremento é 2 (Passo 2)
Para cont = 2 Até 10 Faça
Escreva cont
FimPara
FimRotina
Rotina Este programa exibe na tela os
Declare cont,P,A,B Numéricos números múltiplos de três,
P=3 começando por 3 até 30.
A=3
B=30 Temos aqui uma outra novidade: veja
Passo P que todos os parâmetros usados no
Para cont = A Até B Faça programa são variáveis:
Escreva cont P é o valor do incremento (3)
FimPara A é o valor inicial do contador (3)
FimRotina B é o valor limite (30)
Rotina Este programa recebe um número
Declare cont,n Numéricos digitado pelo usuário e mostra na tela
Receba "Digite o número: ", n a tabuada desse número.
Para cont = 1 Até 10 Faça Veja que a estrutura de repetição vai
Escreva n,"x",cont,"=",n*cont de 1 a 10, com incremento 1, pois
FimPara não existe a instrução Passo.
FimRotina
8. Desvios incondicionais
Desvios incondicionais são instruções que desviam a sequência de execução do programa
para um outro ponto especificado, sem a necessidade de uma condição. Temos no Inter-S
basicamente dois tipos de desvios incondicionais: VaPara e SubRotina.
VaPara rótulo
...
[rótulo]
...
onde rótulo é um nome dado pelo programador para indicar um ponto de desvio.
40
Introdução à Programação de Computadores com INTER-S
// Programa: MEDIA1
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare val, soma Numéricos
Declare num Numérico
[Inicio]
Receba "Valor: ", val
Se val <= 0 Então
VaPara Fim
FimSe
num = num + 1
soma = soma + val
VaPara Inicio
[Fim]
Escreva "Média: ", soma / num
FimRotina
Observe a existência de dois rótulos no programa acima: Inicio e Fim (note que os rótulos
devem ser escritos entre colchetes). Para processar um desvio basta utilizar a instrução
VaPara indicando o rótulo do ponto para onde queremos desviar o fluxo.
41
Introdução à Programação de Computadores com INTER-S
// Programa: MEDIA2
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare valor1, valor2, y Numérico
Declare media Numérico
Processe Preparar_tela
Receba "Digite o 1º valor:", valor1
Receba "Digite o 2º valor:", valor2
Processe Media
Escreva "Media: ", y
FimRotina
SubRotina Preparar_tela
Limpa
Escreva "Programa MEDIA2"
FimSubRotina
SubRotina Media
y = (valor1 + valor2) / 2
FimSubRotina
Comentários
Para definir uma subrotina devemos usar a instrução SubRotina e em seguida declarar um
nome para ela. As linhas subseqüentes devem conter as instruções que serão executadas
quando a subrotina for chamada. Para finalizá-la devemos usar a instrução FimSubRotina.
A segunda (Media), calcula a média aritmética dos valores das variáveis valor1 e valor2 e a
armazena na variável y.
Veja que na rotina principal existem duas linhas com a instrução Processe. A primeira
(Processe Preparar_tela) faz a chamada da subrotina Preparar_tela. Neste momento,
as instruções da subrotina chamada serão executadas e o programa continua com a próxima
linha da rotina principal.
A outra instrução Processe (Processe Media) faz a chamada da subrotina Media. Neste
instante, o computador executará a instrução da subrotina e retornará à rotina principal.
42
Introdução à Programação de Computadores com INTER-S
9. Gráficos
Vimos que a tela de execução do Inter-S é uma janela que permite apenas textos, ou seja,
não é possível produzir gráficos (com exceção das molduras). Porém, existe um conjunto de
instruções que possibilita a habilitação de uma janela gráfica nos padrões cartesianos, na
qual podemos desenhar linhas, pontos, círculos e elipses.
Como exemplo, a figura abaixo mostra a tela de execução de um programa que usa a janela
gráfica para a montagem da parábola de uma função do segundo grau. Veja que a janela
gráfica aparece à direita da tela e representa o plano cartesiano.
Agora vamos conhecer o conjunto de instruções gráficas para que você possa aplicar em
seus programas. Temos abaixo uma pequena descrição das funções que estudaremos neste
capítulo:
INSTRUÇÃO DESCRIÇÃO
43
Introdução à Programação de Computadores com INTER-S
// Programa: GRAF1
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Escala 10
Gráfico
Pausa
Fechagráfico
FimRotina
Quando o programa for executado, surgirá uma janela gráfica à direita da tela de execução,
representando o plano cartesiano. Os eixos X e Y, neste exemplo, apresentarão uma
graduação de –10 (dez negativo) a 10 (dez positivo), pois, observe que atribuímos o valor 10
na instrução Escala.
O programa acima demonstra apenas a maneira para habilitarmos a janela gráfica. Note que
após a instrução Gráfico, existe uma instrução Pausa que congela a execução e aguarda o
pressionamento de uma tecla qualquer. Em seguida observamos a instrução FechaGráfico,
que tem a função de desabilitar a janela gráfica. Portanto, o programa não tem funcionalidade
nenhuma, é apenas um exemplo que apresentará a seguinte tela:
Notas: Se você mover o mouse sobre a janela gráfica, poderá observar a coordenada (pontos
x e y) no rodapé da tela (informação entre parêntesis à esquerda).
Para que a numeração (escala) apareça ao longo dos eixos X e Y, você pode habilitar
a caixa de checagem "Rótulos" localizada no rodapé da tela, à direita.
44
Introdução à Programação de Computadores com INTER-S
A escala de uma janela gráfica, por padrão, é 10 (dez), ou seja, se você não usar a instrução
Escala, o Inter-S assumirá o valor 10. Portanto, o programa abaixo fará a mesma coisa que o
programa anterior, mesmo não usando a instrução Escala:
// Programa: GRAF1
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Gráfico
Pausa
Fechagráfico
FimRotina
// Programa: PONTO1
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Escala 10
Gráfico
TamanhoPonto 4
CorPonto vermelho+
Ponto 5,4
Pausa
FimRotina
Veja que antes da instrução Ponto estamos determinando o tamanho e a cor do ponto
gráfico:
TamanhoPonto 4
CorPonto vermelho+
45
Introdução à Programação de Computadores com INTER-S
Ponto 5,4
// Programa: PONTO2
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare x,y numéricos
Escala 10
Gráfico
TamanhoPonto 4
CorPonto vermelho+
[recebimento]
Limpa
Receba "Valor de x: ", x
Receba "Valor de y: ", y
Ponto x,y
VaPara recebimento
FimRotina
9.3.1. Linhas
Para desenhar uma linha devemos aplicar a instrução Linha e informar dois parâmetros: o
ponto inicial (início da linha) e o ponto final (fim da linha). O programa abaixo é um pequeno
exemplo que demonstra o uso desta instrução, desenhando uma linha que se inicia na
coordenada -5,-4 e termina na coordenada 8,15:
// Programa: LINHA1
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Escala 10
Gráfico
TamanhoPonto 2
CorPonto azul+
Linha -5,-4/8,15
Pausa
FimRotina
46
Introdução à Programação de Computadores com INTER-S
Veja que as coordenadas da linha devem ser representadas por valores que correspondem
às posições dos eixos X e Y e não necessariamente devem estar dentro da escala definida,
ou seja, uma linha pode começar ou terminar em um ponto fora da área de visão, como neste
exemplo. Observe também que as coordenadas devem estar separadas por barra (/):
Linha -5,-4/8,15
Coordenada final (8,15)
Coordenada inicial (-5,-4)
Coordenada Coordenada
inicial (-5,-4) final (8,15) –
fora do campo
de visão
Temos na próxima página um programa exemplo mais complexo, onde o usuário informará
por meio de instruções Receba os valores x1 e y1 da coordenada inicial e os valores x2 e y2
da coordenada final, as quais correspondem às coordenadas da linha a ser desenhada.
Observe que as instruções estão dispostas dentro de uma estrutura de repetição montada
com a instrução VaPara. Desta forma, o programa poderá desenhar tantas linhas quanto o
usuário desejar:
47
Introdução à Programação de Computadores com INTER-S
// Programa: LINHA2
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare x1,y1,x2,y2 numéricos
Escala 10
Gráfico
TamanhoPonto 3
CorPonto vermelho+
[recebimento]
Limpa
Receba "Valor de x inicial: ", x1
Receba "Valor de y inicial: ", y1
Receba "Valor de x final : ", x2
Receba "Valor de y final : ", y2
Linha x1,y1/x2,y2
VaPara recebimento
FimRotina
9.3.2. Círculos
Para o desenho de círculos na janela gráfica, o Inter-S dispõe da instrução Círculo, a qual
possui o seguinte formato geral:
Círculo x,y,raio
Onde:
x é o valor de x da coordenada central do círculo
y é o valor de y da coordenada central do círculo
raio é o comprimento do raio do círculo
O programa abaixo demonstra o uso da instrução para desenhar um círculo com centro na
coordenada 2,3 e com comprimento do raio de 4 unidades:
// Programa: CIRC1
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Escala 10
Gráfico
TamanhoPonto 4
CorPonto verde
Círculo 2,3,4
Pausa
FimRotina
48
Introdução à Programação de Computadores com INTER-S
O raio do
círculo é 4
(medida entre o
centro e a
borda)
O centro do
círculo é
definido pela
coordenada 2,3
// Programa: CIRC2
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare x,y,r numéricos
Escala 10
Gráfico
TamanhoPonto 2
CorPonto verde
[recebimento]
Limpa
Receba "Valor de x: ", x
Receba "Valor de y: ", y
Receba "Raio : ", r
Círculo x,y,r
VaPara recebimento
FimRotina
49
Introdução à Programação de Computadores com INTER-S
9.3.3. Elipses
O desenho de elipses é muito semelhante ao desenho de círculos, a diferença está no fato de
que as elipses possuem dois raios: um horizontal e outro vertical. O inter-S disponibiliza a
instrução Elipse, cujo formato geral é o seguinte:
Elipse X,Y,rx,ry
Onde:
X é o valor de x da coordenada central da elipse
Y é o valor de y da coordenada central da elipse
rx é o comprimento do raio ao longo do eixo X (raio horizontal)
ry é o comprimento do raio ao longo do eixo Y (raio vertical)
O programa abaixo demonstra o uso da instrução para desenhar uma elipse com centro na
coordenada 0,0 e com raio horizontal de 2 unidades e raio vertical de 4 unidades:
// Programa: ELIPSE1
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Escala 10
Gráfico
TamanhoPonto 2
CorPonto vermelho+
Elipse 0,0,2,4
Pausa
FimRotina
O raio
vertical é 4
O centro da
elipse é 0,0
O raio
horizontal é 2
50
Introdução à Programação de Computadores com INTER-S
// Programa: ELIPSE2
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare x,y,rx,ry numéricos
Escala 10
Gráfico
TamanhoPonto 2
CorPonto vermelho+
[recebimento]
Limpa
Receba "Valor de x : ", x
Receba "Valor de y : ", y
Receba "Raio horizontal: ", rx
Receba "Raio vertical : ", ry
Elipse x,y,rx,ry
VaPara recebimento
FimRotina
51
Introdução à Programação de Computadores com INTER-S
// Programa: AGENDA
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare codigo numérico
Declare nome, telefone caracteres
Declare resp caractere
resp="S"
Enquanto resp = "S" Faça
Limpa
Receba "Código do amigo..: ",codigo
Receba "Nome.............: ",nome
Receba "Telefone.........: ",telefone
Receba "Continua (S/N)? ",resp
FimEnquanto
FimRotina
52
Introdução à Programação de Computadores com INTER-S
Para ilustrar este conceito, vamos imaginar que a nossa agenda de amigos tenha as
seguintes informações:
Agenda de amigos
Código Nome Telefone
1 Antonio Laurentino Miguel 1234-5678
2 Bianco Branco de Assis Moreira 8765-4321
3 Juarez João Columbiano Mattos 9999-7777
4 Pedro Pedreira Rocha 0001-1110
5 Zé Mané 1000-1234
5 Zé Mané 1000-1234
Registro
Já temos uma noção do que é um arquivo de dados, vamos ver agora como fazer para que os
dados dos nossos amigos sejam gravados em um arquivo.
53
Introdução à Programação de Computadores com INTER-S
Inter-S possa acessá-lo (ou criá-lo, se ainda não existir). Esta declaração é feita por meio da
instrução Declare Arquivo, cujo formato geral é o seguinte:
Onde:
nome-do-arquivo é o caminho (unidade e pasta) e o nome do arquivo de dados
campo-chave é o nome do campo que servirá de chave para buscas
Em seguida devemos definir a estrutura do registro, ou seja, devemos definir os campos que
o arquivo possuirá. No nosso exemplo do arquivo AMIGOS.DAT (agenda de amigos) temos
os campos: codigo, nome e telefone, portanto, devemos construir uma estrutura que os
defina. Para este feito, utilizamos a instrução Registro com a seguinte sintaxe:
Observe que devemos utilizar a instrução Registro e entre parêntesis indicar os nomes, os
tipos e os tamanhos de cada um dos campos do arquivo (note que os tamanhos devem ser
colocados entre colchetes). Os campos devem ser indicados individualmente, cada um em
uma única linha. Entre a instrução Registro e a abertura de parêntesis não deve existir
espaço.
Abra c:\amigos.dat
Note que o nosso arquivo AMIGOS.DAT está localizado na pasta raiz da unidade C.
Desta forma, o nosso programa AGENDA deverá possuir as seguintes linhas iniciais:
// Programa: AGENDA
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare resp caractere
Declare Arquivo(c:\amigos.dat) Chave(codigo)
Registro(codigo numérico [04]
nome caractere [30]
telefone caractere [15])
Abra c:\amigos.dat
...
54
Introdução à Programação de Computadores com INTER-S
Onde:
campo-chave é o nome do campo definido como chave
nome-do-arquivo é a identificação da unidade, pasta e nome do arquivo de dados
// Programa: AGENDA
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare resp caractere
Declare Arquivo(c:\amigos.dat) Chave(codigo)
Registro(codigo numérico [04]
nome caractere [30]
telefone caractere [15])
Abra c:\amigos.dat
resp="S"
Enquanto resp = "S" Faça
Limpa
Receba "Código do amigo..: ",codigo
Receba "Nome.............: ",nome
Receba "Telefone.........: ",telefone
Grave Item[codigo] c:\amigos.dat
Receba "Continua (S/N)? ",resp
FimEnquanto
Feche c:\amigos.dat
FimRotina
Note que antes do encerramento do programa estamos empregando a instrução Feche. Esta
instrução deve sempre ser empregada após um processo de manipulação de arquivos.
Digite o programa e execute-o. Grave alguns amigos para testar e, após finalizar a rotina,
abra o gerenciador de arquivos (windows explorer) e veja que o arquivo AMIGOS.DAT está
presente na pasta raiz.
55
Introdução à Programação de Computadores com INTER-S
// Programa: LEIA1
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare Arquivo(c:\amigos.dat) Chave(codigo)
Registro(codigo numérico [04]
nome caractere [30]
telefone caractere [15])
Abra c:\amigos.dat
Leia proximo registro c:\amigos.dat
Enquanto Nao FDA Faça
Escreva "Código do amigo..: ",codigo
Escreva "Nome.............: ",nome
Escreva "Telefone.........: ",telefone
Escreva "Tecle algo para ver o próximo"
Pausa
Limpa
Leia proximo registro c:\amigos.dat
FimEnquanto
Feche c:\amigos.dat
FimRotina
56
Introdução à Programação de Computadores com INTER-S
// Programa: LEIA2
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare resp caractere
Declare Arquivo(c:\amigos.dat) Chave(codigo)
Registro(codigo numérico [04]
nome caractere [30]
telefone caractere [15])
Abra c:\amigos.dat
resp="S"
Enquanto resp = "S" Faça
Limpa
Receba "Código do amigo: ", codigo
Leia Item[codigo] c:\amigos.dat
Se FDA Entao
Escreva "Amigo não encontrado"
Senão
Escreva "Nome.............: ",nome
Escreva "Telefone.........: ",telefone
FimSe
Receba "Continua (S/N)? ",resp
FimEnquanto
Feche c:\amigos.dat
FimRotina
Dentro de uma estrutura de repetição (Enquanto resp = “S”), que será repetida enquanto o
usuário informar “S” (sim) para continuar, existe um conjunto de instruções que primeiramente
recebe o código do amigo informado pelo usuário. Em seguida, a instrução Leia Item[codigo]
c:\amigos.dat faz a leitura do arquivo na tentativa de localizar o registro cujo campo chave
(código) seja igual ao código informado pelo usuário. Se o registro não for encontrado, ou
seja, se o FDA (Fim Do Arquivo) for verdadeiro, o programa escreverá na tela “Amigo não
encontrado”, caso contrário, os dados do amigo serão exibidos e o programa perguntará se o
usuário deseja continuar a pesquisa.
57
Introdução à Programação de Computadores com INTER-S
Onde:
campo-chave é o nome do campo definido como chave
nome-do-arquivo é a identificação da unidade, pasta e nome do arquivo de dados
// Programa: EXCLUI
// Autor : <nome-do-programador>
// Data : 99/99/9999
Rotina
Declare resp, confirma caractere
Declare Arquivo(c:\amigos.dat) Chave(codigo)
Registro(codigo numerico [04]
nome caracter [30]
telefone caracter [15])
Abra c:\amigos.dat
resp="S"
Enquanto resp = "S" Faça
Limpa
Receba "Código do amigo: ", codigo
Leia Item[codigo] c:\amigos.dat
Se FDA Entao
Escreva "Amigo não encontrado"
Senão
Escreva "Nome.............: ",nome
Escreva "Telefone.........: ",telefone
Receba "Deseja excluir (S/N)? ",confirma
Se confirma = "S" Então
Apague Item[codigo] c:\amigos.dat
FimSe
FimSe
Receba "Continua (S/N)? ",resp
FimEnquanto
Feche c:\amigos.dat
FimRotina
Dentro de uma estrutura de repetição (Enquanto resp = “S”), que será repetida enquanto o
usuário informar “S” (sim) para continuar com o processo de exclusão, existe um conjunto de
instruções que primeiramente recebe o código do amigo a ser excluído. Em seguida, a
instrução Leia Item[codigo] c:\amigos.dat faz a leitura do arquivo na tentativa de localizar o
registro cujo campo chave (código) seja igual ao código informado pelo usuário. Se o registro
não for encontrado, ou seja, se o FDA (Fim Do Arquivo) for verdadeiro, o programa escreverá
na tela “Amigo não encontrado”, caso contrário, os dados do amigo serão exibidos e o
programa pedirá uma confirmação para excluí-lo. Se o usuário digitar “S” (sim), será
58
Introdução à Programação de Computadores com INTER-S
59