Download - Manual Módulo 1 (Int. à Prog. e Algoritmia)
Escola Secundária 3EB Dr. Jorge Correia - Tavira
TE
XT
OS
DE
AP
OIO
TE
XT
OS
DE
AP
OIOAcção 1.3 – Ensino Profissional de Nível Secundário
Curso Profissional de Técnico de Informática de Gestão
______________________________________
2011/2014
LINGUAGENSLINGUAGENS DEDE PROGRAMAÇÃOPROGRAMAÇÃO
MÓDULO 1
ALGORITMIA
Componente de Formação: TÉCNICA
Duração Aproximada: 24 h (32 tempos)
Formador: Conceição Santos
Conteúdos Objectivos
1. Introdução à Lógica de Programação1.1. Lógica1.2. Sequência Lógica1.3. Instruções1.4. Algoritmos
2. Desenvolvimento de Algoritmos2.1. Pseudocódigo2.2. Regras e Fases de Construção de um
Algoritmo2.3. Fluxogramas
2.3.1. Introdução ao Fluxograma2.3.2. Simbologia
3. Constantes, Variáveis e Tipo de Dados3.1. Constantes3.2. Variáveis3.3. Tipos de Dados
4. Operadores e Funções Pré - Definidas4.1. Operadores Aritméticos4.2. Operadores Relacionais4.3. Operadores Lógicos4.4. Funções Pré-Definidas
5. Estruturas de Decisão e de Repetição5.1. Estrutura de Decisão5.2. Estrutura de Repetição
6. Teste e Correcção de erros
Apreender conceitos sobre a lógica de programação.
Aplicar instruções e sequências lógicas na resolução de problemas.
Utilizar as regras e as diferentes fases na elaboração de um algoritmo.
Aplicar fluxogramas.
Identificar os diferentes tipos de dados.
Identificar variáveis e constantes.
Utilizar as regras de tipos em geral.
Enumerar e identificar os operadores aritméticos, relacionais e lógicos.
Utilizar operadores e funções pré-definidas.
Implementar estruturas de decisão e repetição.
Realizar testes e correcção de erros.
Professora: Conceição Santos 2/28
1.1 LÓGICA
A lógica de programação é necessária para pessoas que desejam trabalhar
com desenvolvimento de sistemas e programas. A lógica permite definir a
sequência lógica para o desenvolvimento de aplicações.
O que é a lógica?
Lógica de programação é a técnica de encadear pensamentos para atingir
determinado objectivo.
1.2 SEQUÊNCIA LÓGICA
Estes pensamentos podem ser descritos como uma sequência de instruções,
que devem ser seguidas para se cumprir uma determinada tarefa.
Sequências Lógica são os passos executados até atingir um objectivo ou
solução de um problema.
1.3. INSTRUÇÕES
Na linguagem comum, entende-se por instruções “um conjunto de regras
ou normas definidas para a realização ou utilização de algo”.
Em informática, porém, instrução é a informação que indica a um computador
uma acção elementar a executar.
Convém ressaltar que uma ordem isolada não permite realizar o processo
completo, para isso é necessário um conjunto de instruções colocadas numa
ordem sequencial lógica.
Por exemplo, se quisermos fazer uma omeleta de batatas, precisaremos
colocar em prática uma série de instruções: descascar as batatas, bater os ovos,
fritar as batatas, etc...
É evidente que essas instruções têm que ser executadas numa ordem
adequada – não se pode fritar as batatas e só depois descascá-las.
Professora: Conceição Santos 3/28
1. Introdução à Lógica de Programação
Assim sendo, uma instrução isolada não tem muito sentido; para obtermos o
resultado, precisamos de colocar em prática o conjunto de todas as instruções,
na ordem correcta.
1.4 ALGORITMOS
A palavra algoritmo, à primeira vista, parece-nos estranha. Embora possua
uma designação desconhecida, fazemos constantemente uso de algoritmos no
nosso dia-a-dia: a maneira como uma pessoa toma banho é um algoritmo. Outros
algoritmos frequentemente utilizados são, por exemplo:
as instruções para se utilizar um electrodoméstico;
a receita para preparação de um prato;
a realização das operações básicas (adição, multiplicação, divisão e
subtracção);
a maneira como são calculadas as contas de água, luz e telefone
mensalmente;
etc.
Até mesmo coisas simples, podem ser descritas por sequências lógicas. Por
exemplo:
“Mastigar uma pastilha”
- Pegar na pastilha
- Retirar o papel
- Colocar a pastilha na boca
- Jogar o papel fora
Professora: Conceição Santos 4/28
Instruções são um conjunto de regras ou normas definidas para
a realização ou utilização de algo. Em informática, é o que
indica a um computador uma acção elementar a executar.
“Somar dois números quaisquer”
- Escreva o primeiro número no rectângulo A
- Escreva o segundo número no rectângulo B
- Some o número do rectângulo A com número do rectângulo B e coloque o
resultado no rectângulo C
Visto normalmente existirem diversos modos de resolução para um dado
problema, também existem vários algoritmos possíveis para esse problema e
consequentemente poderão encontrar-se diversos programas com idêntica
utilidade.
Exemplos disto são os diferentes Processadores de Texto, os diferentes
Sistemas de Gestão de Bases de Dados, as diferentes versões do conhecido jogo
Tetris, entre outros tipos de programas.
Perante a diversidade de algoritmos possíveis para resolução de um mesmo
problema, torna-se necessário optar por aquele que apresente mais qualidade,
com vista à optimização dos recursos humanos e materiais e à excelente
resolução do problema a tratar.
Professora: Conceição Santos 5/28
Podemos, então, definir algoritmo como uma sequência finita de
acções que descrevem o modo de resolução de um problema.
Se essas acções forem escritas numa linguagem de programação, o
algoritmo passa a designar-se por programa.
Características que um algoritmo deve possuir para ser considerado de
qualidade:
ter fim;
ser correctamente definido, com ordem nas acções a desenvolver,
encontrando-se estas, descritas de forma clara e com o maior número
possível de informações;
não estar sujeito a ambiguidades provenientes de falta de informação ou
duplicação desta;
ser eficaz, ou seja, consegue resolver o problema em qualquer situação e
sem erros ou qualquer tipo de falhas. Caso existam situações de excepção, as
mesmas devem ser especificadas e tratadas;
ser eficiente, ter capacidade de resolver o problema com o mínimo de
recursos, quer sejam de espaço ocupado em memória do computador, o
tempo de execução do programa, entre outros.
Como resultado de bons algoritmos obter-se-á boa programação que é a
prática da construção e implementação de bons programas.
Ciclo de vida de um algoritmo
Professora: Conceição Santos 6/28
PseudocódigoPseudocódigo
AlgoritmoAlgoritmoBusca
desolução
Buscade
solução
Existência do
problema
Existência do
problema
FluxogramaFluxograma
ProgramaPrograma
Testes
Testes
AlteraçõesAlterações
1. Define, por palavras tuas, algoritmo.
2. Cita alguns algoritmos que podemos encontrar na nossa vida quotidiana.
3. Qual é, para ti, a característica mais importante de um algoritmo? Justifica a
tua resposta.
4. Um algoritmo não pode conter um comando como “Escreva todos os números
inteiros positivos”. Por quê?
5. Supõe que temos um robô à nossa disposição. Esse robô chama-se MANNY e
precisa de ser ensinado a fazer determinadas tarefas. Para ensinar o MANNY,
vamos dar-lhe as instruções necessárias à execução de cada actividade.
Escreve os passos necessários para o nosso robot:
a) trocar uma lâmpada no tecto;
b) trocar o pneu de um carro;
c) calcular a idade de uma pessoa daqui a 20 anos;
d) calcular a média de um aluno com 3 notas;
e) somar dois números e multiplicar o resultado pelo primeiro.
Professora: Conceição Santos 7/28
2.1 PSEUDOCÓDIGO
Para escrever algoritmos podemos utilizar um código de escrita chamado
pseudocódigo. Os algoritmos em pseudocódigo são conjuntos de instruções
descritivas das acções a realizar de modo a resolver problemas. Essas instruções
consistem em frases começadas por um verbo no imperativo – calcule, mostre,
faça, etc – ou no infinitivo – mostrar, processar, fazer, etc.
A utilização de pseudocódigo tem a vantagem de podermos utilizar um texto
escrito dessa forma como base de trabalho para a escrita de um programa em
qualquer linguagem de programação.
Outra vantagem da escrita de algoritmos em pseudocódigo é que esta forma
de abordagem se aproxima muito à versão final do programa.
Paralelamente ao pseudocódigo poderão também ser desenhados diagramas
elucidativos da sequência de acções que constituem o algoritmo. Esses
diagramas podem apresentar formas diversas, sendo a mais conhecida a do
diagrama de fluxos (fluxograma).
O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele
deve ser o intermediário entre a linguagem falada e a linguagem de
programação.
2.2 Regras e Fases de Construção de um Algoritmo
Para escrever um algoritmo precisamos descrever a sequência de instruções,
de maneira simples e objectiva.
Professora: Conceição Santos 8/28
2. Desenvolvimento de Algoritmos
2.2.1. Regras para criação de bons algoritmos
1. Dá um título ao algoritmo;
2. Faz uma descrição da função do algoritmo;
3. O algoritmo começa com a palavra Início e termina com a palavra Fim;
Utiliza comentários com frequência (isto torna o algoritmo mais legível e
facilita o entendimento da lógica utilizada. Qualquer algoritmo deverá ser lido
e entendido por outras pessoas (e por ti próprio) de maneira que possa ser
corrigido e receba alterações);
Obs: Não te esqueças de actualizar os comentários, em caso de alterações.
Pior do que um programa sem comentários, é um programa com comentários
errados.
4. Escolhe nomes de variáveis significativos, evita, todavia, nomes muito
longos;
Ex: Escolhe SalBruto ou SalarioBruto ao invés de SB ou VAR1
5. Utiliza espaços e linhas em branco para melhorar a legibilidade do algoritmo;
6. Coloca apenas uma instrução por linha. Várias instruções numa linha causam
ilegibilidade e dificultam a depuração.
8. Usa identação nas instruções de acordo com o nível que estejam, ou seja,
alinha as instruções do mesmo nível e desloca instruções de nível inferior.
2.2.2 Fases de Construção de um Algoritmo
1. Lê todo o problema até ao fim, de modo a formar a primeira impressão. A
seguir, relê o problema e faz anotações sobre os pontos principais.
2. Verifica se entendeste bem o problema. Se tiveres dúvidas coloca-as. Relê o
problema as vezes que for necessário para tentares entendê-lo.
3. Extrai do problema todas as suas saídas.
4. Extrai do problema todas as suas entradas.
5. Identifica qual é o processamento principal.
6. Verifica se será necessário algum valor intermediário que auxilie a
transformação das entradas em saídas. Esta etapa pode parecer obscura no
início, mas com certeza no desenrolar do algoritmo, estes valores aparecerão
naturalmente.
Professora: Conceição Santos 9/28
7. Testa cada passo do algoritmo, com todos os seus caminhos para verificar se o
processamento está gerando os resultados esperados (para tal testa o
algoritmo com valores reais).
8. Revê o algoritmo, verificando as boas normas de criação.
Conselho: Tenta conseguir o óptimo, mas só depois de realizares o bom.
2.3 Fluxogramas
2.3.1 Introdução ao fluxograma
Um algoritmo para um programa de computador pode ser apresentado
através de fluxogramas ou, como vimos anteriormente, de pseudocódigo.
Os fluxogramas são diagramas representativos do fluxo de acções de um
programa, através de símbolos, que representam os diferentes tipos de acções e
o seu encadeamento na sequência do programa.
Professora: Conceição Santos 10/28
2.3.2 Simbologia
Principais símbolos utilizados nos fluxogramas
Processamento em geral
Leitura/escrita de dados
Início/Fim de processamento
Símbolos Significado Exemplos
Linha de fluxo
Conector de fluxos
Decisão condicional
3.1. Constantes
Qualquer programa opera com dados. Os dados num programa podem ser
utilizados sob a forma de constantes ou de variáveis.
Constantes – são valores que se mantêm inalterados dentro de um programa.
Em programação, as constantes podem ser escritas sob a forma de dados
directos ou ser associadas a identificadores.
Identificadores são nomes que se atribuem a variáveis, constantes ou outros
elementos com que se opera dentro de um programa.
Professora: Conceição Santos 11/28
3. Constantes, Variáveis e Tipo de Dados
x x +1
Escreve(x)
Início
x<5
F
V
Os identificadores ou nomes que se utilizam num programa para designar as
constantes ou as variáveis podem ser escolhidos pelo programador, respeitando
certas regras (que variam conforme a linguagem de programação).
Exemplos de identificadores (de variáveis ou de constantes):
Q
QUANT
QUANTIDADE
X2
TAXA_ANUAL
Uma constante assume a forma de um dado directo quando é inserida
directamente numa instrução de programa.
Por exemplo:
Escreve (2000); [o dado escrito entre parêntesis é um valor numérico directo, é
uma constante]
Escreve (‘Bem-vindo a este programa’); [é também uma constante, pois trata-se
de uma string que é considerada tal
como está escrita]
Professora: Conceição Santos 12/28
Nota: repara que, com strings, se usam plicas e com valores numéricos não.
Quando se utiliza 2000 (sem plicas), tem-se em vista um valor numérico. Se se utilizar
‘2000’, tem-se em vista uma string ou cadeia de caracteres.
A diferença é que com o dado 2000 podem ser realizadas operações aritméticas
(cálculos), enquanto que com o dado ‘2000’ não.
3.2 Variáveis
Num programa de computador, uma variável é uma entidade que possui um
valor sendo conhecida no programa por um identificador (nome). É de notar que
uma variável é uma entidade que possui diferentes valores em diferentes
instantes de tempo.
O conceito de variável é já familiar na matemática. Por exemplo, se
identificarmos os lados de um triângulo rectângulo por a, b e c,o teorema de
Pitágoras dá-nos a seguinte relação entre as três variáveis:
Também em programas de computador, o uso de variáveis permite a
especificação de uma forma geral de cálculo, que poderá ser usada com
diferentes valores, obtendo-se diferentes resultados.
Os nomes das variáveis utilizadas foram a, b e c, contudo, em programas de
computadores os nomes a usar devem ser mais significativos, como por exemplo
LadoA, LadoB e Hipotenusa.
Regras para a atribuição de nomes a variáveis:
- o primeiro caracter deve ser sempre uma letra;
- os restantes caracteres poderão ser letras, algarismos e o underscore ( _ );
- o nome das variáveis não pode ter espaços;
- as palavras reservadas das linguagens de programação não podem ser
atribuídas a nomes de variáveis;
- não são permitidos caracteres acentuados nem cedilhados, como por exemplo:
ç, é, ã, etc.
Professora: Conceição Santos 13/28
ab
c
a2 = b2 + c2
Exemplos de identificadores de variáveis válidos:
- nome
- morada
- quant
- preco
A área de um triângulo será dada pela expressão: (Base*Altura)/2
Esta expressão é constituída por duas variáveis (base e altura), que podem
assumir diferentes valores em diferentes instantes de tempo e uma constante, o
valor 2 que nunca será alterado.
Todas as variáveis necessitam de ser declaradas. Ao declararmos uma
variável estamos a reservar um espaço de memória para essa variável. Esse
espaço de memória irá receber um dado do tipo da variável.
Sintaxe da declaração de uma variável:
Exemplo:
Se declararmos as variáveis A, B e C da seguinte forma:
A: inteiro;
B: caracter;
C: lógico;
estamos a criar áreas na memória identificadas por A, B e C, que só poderão
receber, respectivamente, valores inteiros, alfanuméricos e lógicos (Verdadeiro
ou Falso).
Professora: Conceição Santos 14/28
variável: tipo de dados;
ou
variável1, variável2, ..., variáveln: tipo de dados;
3.3 Tipos de dados
O objectivo principal de um computador é a manipulação de informação ou
dados. Os dados com que se opera num programa de computador podem ser de
diferentes tipos.
Dados – são designações de entidades, pessoas, objectos, valores numéricos, etc.
São a base ou matéria-prima da informação.
Informação – é um conjunto de dados articulados com significado.
Tipos de Dados
Cadeias de caracteres
- os dados de tipo inteiro (integer) são números compreendidos entre -32768 e
32767. Ex: 1, 54, -8, 841.
- O tipo real é constituído pelos números do conjunto IR compreendidos entre
2.9*10E-39 e 1.7*10E38. Ex: -1.21, 10.0, 401.522
- O tipo caracter engloba todos os caracteres do código ASCII (American Standard
Code Interchange Information).
Este tipo de dados é delimitado por ‘ ‘ (plicas ou apóstrofes), para se
diferenciar, por exemplo, dos valores numéricos. Ex: ‘A’, ‘b’, ‘€’, ‘7’
Professora: Conceição Santos 15/28
inteiro (integer)
real (real)
caracter (char)
lógico (boolean)
Simples
matriz (array)
registo (record)
conjunto (set)
ficheiro (file)
Estruturados
3 <> ‘3’ (o primeiro é um valor numérico, o segundo é um caracter, logo não
se podem fazer cálculos com ele).
- Os dados do tipo lógico apresentam exclusivamente os valores verdadeiro (true)
ou falso (false).
- Os dados do tipo string (cadeia de caracteres) são conjuntos de dois ou mais
caracteres. As strings são também delimitadas por ‘ ’ (plicas). Ex: ‘Maria’, ‘Olá’,
‘azul’, etc.
- Os dados estruturados serão abordados mais tarde.
Professora: Conceição Santos 16/28
1. Identifica o tipo de cada um dos seguintes dados:
Dado Tipo Dado Tipo
‘Manuel’ 4.333*10E12
-542 ‘0’
Verdadeiro ‘8800 Tavira’
2.12 ‘Ana Beatriz’
1.2*10E19 Falso
‘1200€’ -7.23
‘Números’ ‘3.9*10E-39’
2. Quais os identificadores válidos? Justifica, no caso de serem inválidos.
Identificador Válido/Inválido Identificador Válido/Inválido
Nome salário
AB preço
6apelido custo123
X4W custo total
C? nome?
3 nota_final
Ab! Média
Professora: Conceição Santos 17/28
O objectivo principal de um programa de computador é a realização de
operações com dados.
Para que se efectuem operações com os dados (constantes ou variáveis),
temos de os incluir em instruções adequadas.
Em qualquer linguagem de programação, para construir a maior parte das
instruções de um programa, temos de escrever expressões.
Uma expressão é um conjunto de operandos, articulados entre si por
operadores.
Os operandos podem ser:
- dados directos. Ex: ‘Bom dia!’; 2007, etc.
- identificadores de constantes ou de variáveis. Ex: c, quantia, etc.
4.1 Operadores aritméticos
Operador Significado Exemplo Resultado
+ Soma 7+5 12- Subtracção 7-5 2* Multiplicação 7*5 35/ Divisão real 7/5 1.4
DIV Divisão truncada 7DIV5 1MOD Resto da divisão 7MOD5 2
^ Exponenciação 7^5 16807
- As operações entre dados inteiros apresentam como resultados valores inteiros,
com excepção para a operação de divisão de dois inteiros, cujo resultado
poderá ser um número real.
- O resultado de operações entre valores reais será sempre um valor real.
Professora: Conceição Santos 18/28
4. Operadores e Funções Pré-definidas
4.2 Operadores relacionais (ou de comparação)
Operador Significado Exemplo Resultado
= Igual 3 = 7 Falso<> Diferente de 3 <> 7 Verdadeiro< Menor que 3 < 7 Verdadeiro
<= Menor ou igual 3 <= 7 Verdadeiro> Maior 3 > 7 Falso
>= Maior ou igual 3 >= 7 Falso
- Qualquer tipo de dados pode utilizar operadores relacionais, o resultado destas
operações assume somente um de dois valores possíveis, verdadeiro ou falso.
4.3 Operadores Lógicos
Operador Significado Exemplo Resultado
NOT Negação NOT (2 > 3) VerdadeiroAND Conjunção (E) 2 >= 2 AND 2 <5 VerdadeiroOR Disjunção (OU) 2 = 0 OU 2 <> 2 Falso
- Tal como nos operadores relacionais, o resultado de operações lógicas assume
apenas um dos valores, verdadeiro ou falso, podendo qualquer tipo de dado ser
sujeito a este tipo de operação.
Tabelas de verdade
Operador Lógico NOT (não)
X NOT XV FF V
Operador Lógico AND (E)
X Y X AND Y
V V VV F FF V FF F F
Professora: Conceição Santos 19/28
Com o operador AND o resultado de
uma expressão é V se ambas as
condições forem verdadeiras; caso
contrário será F.
Operador Lógico OR (OU)
X Y X OR YV V VV F VF V VF F F
Prioridade de operadores
1º Parênteses e funções (resolvidos da esquerda para a direita)
2º Multiplicação (*), Divisão ( / e div ) e Resto ( Mod ) (resolvidos da esquerda para a
direita)
3º Soma e subtracção
4º Operadores relacionais: >, <, <=, >=, =, <>
5º Operador Lógico Não
6º Operador Lógico E
7º Operador Lógico Ou
A expressão 2*4+1 dá como resultado 9.
A expressão 2*(4+1) dá como resultado 10.
Nota: A utilização de parênteses, mesmo que não sejam estritamente
necessários pode e deve ser aplicada com o intuito de aumentar a clareza
nas expressões tratadas e diminuir a hipótese de erro.
Professora: Conceição Santos 20/28
Com o operador OR o resultado de
uma expressão é F se ambas as
condições forem falsas; caso
contrário será V.
As variáveis e as constantes estão sujeitas às operações possíveis de acordo
com os seus tipos de dados.
Constituem-se assim expressões, que não são mais do que conjuntos de
variáveis, constantes e operadores.
Considerando a expressão: ab + 3c
Esta terá de sofrer algumas alterações de modo a poder ser utilizada num
computador, assim terá de ser escrita da seguinte forma:
a * b + 3 * c
Outros exemplos:
Escrita comum Em programação2ab 2*a*b
3(2a+b) 3*(2*a+b)-2a3+c
-2*a/(3+c)
3 2 -3 2a
(3^2-3)/2*a
Professora: Conceição Santos 21/28
1. Qual a diferença entre o operador / e DIV?
2. Todas as operações com dados inteiros têm como resultado valores inteiros?
Justifica a tua resposta.
3. Qual o resultado de cada uma das operações?
Operação Resultado Operação Resultado4+6 4<-2
3+4.7 3>-3.55.7+2.7 4.55=2.44
5-2 13 DIV 56.33-2.8 2^3
5*2.6 6 DIV 313 MOD 4 3.55 <> 6.33
4. Classifica o tipo de dados de cada uma das seguintes variáveis:
Variável Valores possíveis Tipo de dadosNum [-5;5.5]Digito 2, 3, 4, 5, 6Nome Maria, José, JoãoValor Verdadeiro ou falsoLetra ‘a’, ‘b’, ‘c’
5. Transforma as expressões seguintes de modo a serem usadas em programação:
Escrita comum Em programação Escrita comum Em programação2a 2ª+3-2b+cd
2-3ac 1 (2b-3cd) 2ª
2c b 3a
3b2(2-3)
3ac-2b 2ª-32c
Professora: Conceição Santos 22/28
4.4 Funções Pré-Definidas
Há um conjunto de funções Pré-Definidas que podem ser usadas em
expressões e instruções de escrita ou de atribuição.
Entre essas funções temos, por exemplo: a função que calcula a raiz quadrada
de um número ou a função trigonométrica do seno, etc.
Em geral, uma função aplica-se a um dado, chamado argumento, e
devolve um determinado valor, o resultado.
Tabela com algumas funções Pré-Definidas
Funções DesignaçãoTipo do
argumento
Tipo do resultado
Exemplo Resultado
ABS (x) Valor absoluto de x Inteiro ou
real
Inteiro ou
real
ABS(-1.25) 1.25
ROUND
(x)
Valor arredondado
de x
Real Inteiro ROUND(1.7
4)
2
TRUNC(x) Valor truncado de x Real Inteiro TRUNC(1.7
4)
1
SQR(x) Quadrado de x Inteiro ou
real
Inteiro ou
real
SQR(3) 9
SQRT(x) Raiz quadrada de x Inteiro ou
real
Real SQRT(9) 3
ODD(x) Avalia se x é ímpar Inteiro Boolean ODD(5) Verdadeiro
ORD(x) Determina o ordinal
de x
Ordinal Inteiro ORD(‘A’) 65
PRED(x) Predecessor de x Ordinal Ordinal PRED(‘B’) A
SUC(x) Sucessor de x Ordinal Ordinal SUC(‘B’) C
MAXINT Indica o máximo
inteiro
- Inteiro MAXINT 32767
Professora: Conceição Santos 23/28
Instruções básicas
Quando começamos a aprender uma linguagem de programação, das
primeiras coisas que devemos saber é como se usam as instruções básicas, pois
elas são as mais necessárias em qualquer linguagem:
1) Instruções de atribuição;
2) Instruções de escrita ou saída (output);
3) Instruções de leitura ou entrada (input);
1) Instruções de atribuição
As variáveis podem receber valores ou sofrer alterações nos valores que
contêm, através de instruções de atribuição.
Para atribuirmos um valor ou uma expressão a uma variável, utilizamos o
comando de atribuição
Assim, a sintaxe do comando é:
A variável do lado esquerdo recebe o valor ou expressão do lado direito.
Exemplo:
Salario 1000;
Nome ‘Ana’;
Montante (nx + 100) * 0.95; [a var. nx já tem que ter um valor quando
esta inst. for executada]
X 25 [significa que a variável x recebe o valor 25. Se ela tivesse outro
valor antes desta instrução, ele seria destruído]
Professora: Conceição Santos 24/28
identificador expressão;
2) Instruções de escrita ou saída (output)
As instruções de escrita são aquelas que servem para enviar dados
(mensagens, valores de variáveis, etc) para um periférico de saída (monitor ou
impressora). Pode-se assim mostrar os valores que as variáveis possuem em
determinado instante.
Exemplo1:
Escrever (a, b); [escreve no ecrã os valores que neste momento estavam
armazenados nas variáveis a e b, respectivamente].
Escrever (2000); [Escreve o valor 2000 no ecrã]
Escrever (‘Bem-vindo ao programa’); [Escreve a string no ecrã]
Escrever (quantia); [Escreve o valor da var. quantia]
Escrever (‘Estamos no dia ‘, d, ‘mês - ‘, m, ‘ano - ‘, a); [Esta instrução inclui vários
argumentos, e quando isto
acontece os mesmos devem ser
separados por vírgulas]
Nota: Na escrita de algoritmos em pseudocódigo as strings escrevem-se entre
plicas e os identificadores (variáveis ou constantes) sem plicas.
Exemplo2:
Nota1 14 [é atribuído o valor 14 à var. Nota1]
Nota2 16 [é atribuído o valor 16 à var. Nota2]
Media (Nota1+Nota2)/2 [calcula a média das 2 notas e atribui o resultado
à var. Media]
Escrever (Media); [Escreve no ecrã o resultado do cálculo anterior, ou seja, 15]
Escrever (Nota1, Nota2, Media); [Escreve no ecrã as duas notas e a respectiva
média, ou seja, 14 16 15]
Se pretendêssemos explicitar melhor estas saídas poderíamos fazer:
Escrever (‘Notas dos testes’, Nota1, Nota2);
Escrever (‘Média dos testes’, Media);
Assim, a saída ou output seria:
Notas dos testes 14 16
Professora: Conceição Santos 25/28
Média dos testes 15
3) Instruções de leitura ou entrada (input)
A entrada (leitura) de dados está associada a um periférico de entrada, sendo
o mais utilizado o teclado. A leitura de valores num programa é feita através de
variáveis.
Exemplo:
Ler (a, b); [o computador ficará à espera que sejam fornecidos dois valores, o
1º será atribuído à var. a e o 2º à var. b]
Notas:
- Uma instrução de leitura pode conter mais do que uma variável (ex: Ler (a, b,
c))
- A operação de leitura destrói os valores que as variáveis a ler possuíam
anteriormente
Por exemplo:
a 2; [neste momento a var. a tem o valor 2]
Ler (a); [se nesta instrução for introduzido um 4, a var. deixará de ter o
valor 2 e passará a ter o valor 4]
Professora: Conceição Santos 26/28
1. Qual o valor da variável Total, após o processamento da seguinte sequência de instruções
e supondo que esta variável é do tipo real.
Instruções Valor da variável Total
Total 3.2 + 3
X 2Y 3Total x^y-x
X 3.2Total x^2+2*x
Total 2X 4Total Total * x
A 2.3B 2C 3.2Total 3Total ((A+3)^B)/Total+C
A 4B A+2C B^2Total (A*3)^3+C/2Total Total *3
A 4B 2C 3Total A^2*B^C
Professora: Conceição Santos 27/28
5. Teste e Correcção de erros
A prova e teste de algoritmos e programas permite seguir a execução de um
algoritmo (ou programa) passo a passo e verificar a evolução de todas as
variáveis. Este processo é apresentado através de uma tabela em que deve
constar todas as variáveis, testes lógicos efectuados, entrada de dados e saída
de resultados.
Nota: O seguimento (ou ‘traçagem’) de algoritmos pode detectar a presença de
erros mas não pode comprovar a sua ausência (exceptuando em casos
simples).
Professora: Conceição Santos 28/28