Manual Módulo 1 (Int. à Prog. e Algoritmia)

39
Escola Secundária 3EB Dr. Jorge Correia - Tavira TEXTOS DE APOIO TEXTOS DE APOIO Acção 1.3 – Ensino Profissional de Nível Secundário Curso Profissional de Técnico de Informática de Gestão ______________________________________ 2011/2014 LINGUAGENS LINGUAGENS DE DE PROGRAMAÇÃO PROGRAMAÇÃO MÓDULO 1 ALGORITMIA Componente de Formação: TÉCNICA Duração Aproximada: 24 h (32 tempos) Formador: Conceição Santos

Transcript of Manual Módulo 1 (Int. à Prog. e Algoritmia)

Page 1: 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

Page 2: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 3: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 4: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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.

Page 5: Manual Módulo 1 (Int. à Prog. e Algoritmia)

“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.

Page 6: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 7: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 8: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 9: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 10: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 11: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 12: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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.

Page 13: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 14: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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;

Page 15: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 16: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 17: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 18: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 19: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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.

Page 20: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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.

Page 21: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 22: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 23: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 24: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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;

Page 25: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 26: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 27: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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

Page 28: Manual Módulo 1 (Int. à Prog. e Algoritmia)

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