You are on page 1of 62

Prof.

Elisabete Vieira
Tcnico de Gesto e Programao De Sistemas
Informticos
Mdulo 1 Introduo Programao e lgoritmia !!
Mdulo 2 Mecanismos de Controlo de Execuo 24
Mdulo 3 Programao Estruturada 24
Mdulo 4 Estruturas de Dados Estticas 20
Mdulo 5 Estruturas de Dados Compostas 20
Mdulo 6 Estruturas de Dados Dinmicas 14
Mdulo 7 Tratamento de Ficheiros 20
Mdulos
Tcnico de Gesto e Programao De Sistemas
Informticos
Mdulo 1 - ntroduo Programao e Algoritmia

O mdulo de Algoritmia tem como funo principal


o conhecimento do funcionamento lgico de um
programa. Este mdulo permite preparar os alunos para
a resoluo de problemas de programao mais ou
menos complexos.
NOES BSCAS

Programa Conjunto de instrues processadas


por um computador para resolver um problema.

Programa-Fonte o texto que ns escrevemos


numa linguagem de programao.

Programa-Objecto o programa que se obtm,


depois de se traduzir o programa fonte.
ALGORTMO

Um algoritmo tem de consistir num nmero concreto de


aes ordenadas segundo uma certa lgica. A definio
dessas aes tem de ser clara e precisa, no pode estar
sujeito a diferentes interpretaes.
Se estas caractersticas se verificarem, ento pode-se
dizer que o algoritmo est bem formulado.
EXEMPLOS DE ALGORTMOS

Resolver um problema matemtico;

Trocar uma lmpada fundida;

Mudar um pneu furado;

Preparar uma receita da cozinha;

A utilizao de um eletrodomstico para uma


finalidade especifica.
EXEMPLOS DE ALGORTMOS
Ao ligar o interruptor da sala descobriu-se que
uma lmpada est fundida.
Pro"lema# trocar a l$m%ada fundida

O algoritmo enuncia a sequncia das operaes:


1 Preparar uma lmpada nova
2 Retirar a lmpada fundida
3 Colocar a lmpada nova
Temos uma sequncia ordenada de forma linear
em trs passos.
EXEMPLOS DE ALGORTMOS
Mas, entretanto podemos acrescentar outras aes:
4 Ligar o interruptor para verificar se a nova lmpada acende ou no.
5 Se a lmpada acender, podemos dar o processo por concludo,
mas se no acender teremos de repetir os passos de 1 a 4.
Com estas aes a sequncia j no se mantm numa
simples ordem linear. Pois a uma determinada altura surge
uma condio associada palavra "SE.
Estas situaes condicionais so um elemento comum nos
algoritmos e nos programas
EXEMPLOS DE ALGORTMOS
Mas ainda podemos acrescentar outras aes:
E assim o algoritmo fica mais completo.
Podemos ainda adicionar as aes ir buscar um escadote
para mudar a lmpada, assim fica:
1 Preparar a lmpada nova
2 Desligar o interruptor
3 Colocar o escadote debaixo do lustre
4 Retirar a lmpada fundida
5 Colocar a lmpada nova
EXEMPLOS DE ALGORTMOS
6 Descer o escadote
7 Ligar o interruptor para verificar se a nova lmpada
acende ou no.
8 Se a lmpada acender, podemos dar o processo por
concludo
9 Arruma-se o escadote
10 - Se a lmpada no acender teremos de repetir os passos
de 1 a 7.
Assim teremos o algoritmo mais completo
EXERCCO
Pretende-se um algoritmo para mudar o pneu furado de
um carro.
RESOLUO DO EXERCCO
1 Abrir a mala do carro
2 Retirar o pneu suplente, o macaco e a chave de rodas
3 Desaparafusar os parafusos/porcas do pneu
4 Colocar o macaco na posio adequada
5 Levantar o carro
6 Retirar os parafusos/porcas do pneu
7 Retirar o pneu furado
8 Colocar o pneu novo
9 Baixar o carro
10 Aparafusar os parafusos/porcas do pneu
11 Retirar o macaco do carro
12 Arrumar o material na mala do carro
13 Fechar a mala do carro
Elabore um algoritmo para substituio de um pneu de um automvel
EXERCCO
Pretende-se um algoritmo para fazer um bolo.
RESOLUO DO EXERCCO
1 Pr-aquecer o forno em temperatura mdia
2 - Unte a forma com a manteiga
3 Separe as claras das gemas
4 - Ligue a batedeira
5 Bata as claras em castelo
6 Desligue a batedeira
7 - Adicione o acar junto das gemas
8 Misture
9 - Adicione a farinha
10 Misture
11 - Adicione o fermento
12 - Misture
13 Junte as claras ao preparado
Elabore um algoritmo para realizar um bolo
RESOLUO DO EXERCCO
14 Misture esta massa delicadamente
15 Deite o preparado na forma
16 - Coloque a forma no forno
17 - Espere 40 minutos
18 Desligue o forno
19 - Tire a forma do forno
20 - Desenforme o bolo ainda quente

Regras para construo do Algoritmo
Para escrever um algoritmo precisamos descrever a
sequncia de instrues, de maneira simples e objetiva.

Para isso utilizaremos algumas tcnicas:

Usar somente um verbo por frase

maginar que est a desenvolver um algoritmo para


pessoas que no trabalham com informtica

Usar frases curtas e simples

Ser objetivo

Procurar usar palavras que no tenham sentido dbio


PSEUDOCDGO
Os algoritmos so descritos numa linguagem chamada
%seudocdigo que representa o cdigo de um programa numa
linguagem formal, com termos convencionais que interpretam as
aes a executar pelo programa.
Por isso os algoritmos so independentes das linguagens de
programao.
O algoritmo deve ser fcil de se interpretar e fcil de codificar, pois
ele o intermedirio entre a linguagem falada e a linguagem de
programao.
Para as operaes de entrada de dados utilizamos as
palavras LER ou OBTER.
Para as operaes de sada de dados, utilizamos
ESCREVER ou MOSTRAR.
Nas operaes de processamento, no interessa o que o
processador faz, mas as operaes que pretendemos
realizar. Essas operaes sero essencialmente operaes
de clculos aritmticos e lgicos.
EXEMPLO
Analogia com o homem
Operadores aritmticos
OPERADOR OPERAO
+
Adio
-
Subtraco
*
Multiplicao
/
Diviso
Operadores relacionais ou de
comparao
&%erador Significado
=
gualdade
<
Menor
>
Maior
<=
Menor ou igual
>=
Maior ou igual
<>
Diferente de
Operadores lgicos
&%erador Significado
Not (no) ~ Negao
And (e) Conjuno
Or (ou) V Disjuno
Tabelas de Verdade
'ot
p ~p
V F
F V
'D
P Q P Q
V V V
V F F
F V F
F F F
&(
P Q P Q
V V V
V F V
F V V
F F F
Hierarquia das Operaes
Aritmticas

1 ( ) Parnteses

2 Exponencial

3 Multiplicao, diviso (o que aparecer


primeiro)

4 + ou (o que aparecer primeiro)


Calculo de expresses
a) 10 + 5 > 10 AND 10 < 10 5
15 > 10 AND 10 < 5
V AND F
F
b) R = 3; Y=2
R * Y / 2
3 * 2 / 2
6 / 2
3

Exerccios com expresses
aritmticas
1 - Considerando que P=3 e Q=2, determine
o valor das expresses:
a) P + Q * 5
b) (P + Q ) * 5
c) P + 5 * Q / 2
d) (P + 5 * Q) / 2
2 - Determine os valores lgicos de cada expresso,
sabendo que X=10 e Y=5
a)X > 0 or X > 20
b)X > 5 and X >= 10
c)X = 10 and Y<>5
d)Not (Y=5) or X <> 10
e)X >= 10 and y < 5
f)Not (X > 10) and (Y<5)
g)Not (X>10) or (Y<5)
h)(X >=5 and X <10) or (Y>=0 and Y <=5)
Exerccios com expresses lgicas
Fluxogramas

Fluxogramas outra forma de


representar os algoritmos, recorrendo a
smbolos convencionais, que representam
as sequncias de aes dos algoritmos.
Fluxograma versus Pseudocdigo
Nem sempre necessrio fazerem-se estes
dois trabalhos, basta um para se
compreender como ir ser executado o
programa. Cabe ao programador escolher a
sua preferncia e execut-la.
Fluxogramas

Vantagens:

Como so baseados numa representao grfica, so


mais fceis de visualizar;

Os smbolos utilizados so normalizados e universais;

Como cada smbolo tem um significado, isso simplifica


a resoluo do problema;

So fceis de testar e permitem uma rpida deteo e


correo de erros de lgica.

Desvantagens:

So pouco prticos para efectuar alteraes;

Os dados tem de ser definidos parte, porque os


fluxogramas no permitem representar a estrutura
dos dados;

Se os programas forem muito grandes os


fluxogramas tornam-se muito grandes e complexos.
Fluxogramas
Pseudocdigo
Vantagens:
Como baseado na linguagem corrente, fcil de elaborar;

Pode atingir vrios nveis de complexidade, conforme o


detalhe com que se escrever;

Permite acompanhar o tratamento dos dados facilitando o


teste do programa;

Permite implementar as estruturas elementares da


programao estruturada;

Serve de base prpria documentao.

Desvantagens:

No possui regras padro, pois depende do estilo de


escrita de cada programador;

No permite uma rpida visualizao de pormenores,


pois usa a linguagem escrita, o que obriga sua
leitura integral;

Para problemas mais complicados a linguagem torna-


se muito complexa e de difcil compreenso.
Pseudocdigo
Convenes do pseudocdigo

Aqui, no h regras generalizadas, mas existem


palavras que representam as principais
operaes que os algoritmos podero conter.

Exemplo:

Ler Entrada de dados

Escrever Sada de dados

As strings esto sempre entre " " ou ' '

As variveis comeam sempre por letras e no


utilizam acentos, nem espaos

O simbolo indica a operao de atribuio


Principais tipos de dados

Os principais tipos de dados utilizados em algoritmia e


programao so:

Caracteres, cadeias de caracteres ou texto;

Nmeros (podendo este ser de diferentes tipos, inteiros


(negativos, zero e positivos), reais (com casas decimais));

Dados do tipo lgico ou booleano, este tm apenas 2


resultados possveis verdadeiro (true) ou falso (false)
Constantes e Variveis

Constante um dado que permanece inaltervel do inicio


ao fim do algoritmo.

Variveis um dado que pode sofrer alteraes durante o


algoritmo

nstrues de atribuio so as operaes internas de um


algoritmo ou programa que atribuem valores s variveis

Nos algoritmos o smbolo que se utiliza na operao de


atribuio

Problema:
Calcular a rea de um rectngulo

Dados de entrada (input) : comprimento e


largura

Dados de sada (output) : valor da rea


Caso concreto

Criar um algoritmo que calcule a rea de um rectngulo,


em linguagem informal:
1 Obter o valor do comprimento
2 Obter o valor da largura
3 Calcular a rea: comprimento x largura
4 Apresentar o valor da rea.
Para fazermos o algoritmo correto teremos de utilizar os
operadores utilizados em algoritmia e em programao.
Caso concreto
Em pseudocdigo
nicio
Ler (comprimento, largura)
area comprimento * largura
escrever (area)
Fim
ncio
Ler (comp, larg)
area comp * larg
Escrever (area)
Fim
Em Fluxograma
Smbolos utilizados nos fluxogramas
Smbolo de inicio ou de fim
Estes so usados para representar o inicio
ou o fim das operaes de um algoritmo

Smbolo de linha de fluxo



Estabelece a ligao entre as aes e
indica o sentido da sequncia delas
Smbolos utilizados nos fluxogramas

Smbolo de entrada ou de sada de dados


Representa uma ao de entrada (input) ou
de sada (output) de dados no sistema
Smbolos utilizados nos fluxogramas

Smbolo de processamento interno


Representa uma operao de processamento
interno, como, por exemplo, a atribuio de um
valor a uma varivel
Smbolos utilizados nos fluxogramas

Smbolo de Comentrio
.....
Este smbolo usado para fazer comentrios
explicativos do algoritmo
Smbolos utilizados nos fluxogramas

Smbolo de conetor
Usado para representar a ligao ou
conexo entre diferentes fluxos de aes
representadas num algoritmo
Smbolos utilizados nos fluxogramas

Smbolo de deciso
Representa uma condio ou expresso
lgica de que depender uma deciso a
seguir num sentido ou noutro
Smbolos utilizados nos fluxogramas

Smbolo de seleo mltipla


Representa uma situao em que o
algoritmo pode seguir por diversas vias,
opes ou sequncia de aes
Smbolos utilizados nos fluxogramas

Smbolo de subalgoritmo
Representa um subalgoritmo, ou seja uma
unidade mais pequena em que o algoritmo foi
decomposto, por outras palavras uma rotina, um
procedimento ou um conjunto de instrues
Smbolos utilizados nos fluxogramas
Resumindo.
Processamento em geral (ex. soma de dois nmeros)
Leitura/Escrita de dados (escrever a nota da prova 1)
Incio/Fim de processamento (ex. inicio do algoritmo)
Conetor de luxos (Liga!"o entre partes do luxograma)
#ecis"o condicional
Escol$a mltipla
%u&programa
Lin$a de luxo
ncio
Ler (comp, larg)
area comp * larg
Escrever (area)
Fim
Em Fluxograma
Exerccios

Faa um algoritmo em pseudocdigo e fluxograma que


recebe um valor inteiro, acresce duas unidades a este, e
exibe o resultado.

Faa um pseudocdigo de um algoritmo que receba 4


notas, calcule e mostre a mdia aritmtica entre elas.

Elabore um algoritmo que calcule a rea de um crculo.


rea = pi * r
Constantes, Variveis e Tipos de
Dados

Variveis e constantes so os elementos bsicos


que so usados num programa.

Variveis devem receber identificadores (nomes)


para poderem ser detetadas e modificadas
quando necessrio.
Constantes, Variveis e Tipos de
Dados

Um programa deve conter declaraes que


especificam de que tipo so as variveis que ele
utilizar e por vezes um valor inicial.

Tipos de dados podem ser por exemplo: inteiros,


reais, caracteres e lgico.

As expresses combinam variveis e constantes


para calcular novos valores.
Constantes

Constante um determinado valor fixo que no


se modifica ao longo do tempo, durante a
execuo de um programa.

Conforme o seu tipo, a constante classificada


como sendo numrica, lgica e literal
(caracteres). Exemplos:
(N1+N2)/2 constante
Ano 2014
VA 23%
Pi 3,14159
Variveis

Varivel a representao simblica dos


elementos de um certo conjunto.

Cada varivel corresponde a uma posio de


memria, cujo contedo pode se alterado ao longo
do tempo durante a execuo de um programa.

Embora uma varivel possa assumir diferentes


valores, ela s pode armazenar um valor de cada
vez.
Variveis
Exemplos:
Simples
Numrico
Caracter
(char)
Lgico
(boolean)
Inteiro
(integer)
Real
(real)
Matriz
(array)
Registo
(record)
Ficheiro
(ile)
Con!unto
(set)
Tipos de dados
Cadeia de caracteres
(string)
#struturados
Declarao de variveis
Sintaxe:
nome_variavel: tipo_de_dados
nicio
area, comprimento, largura:real
Ler (comprimento, largura)
area comprimento * largura
escrever (area)
Fim
Estruturas de controlo de um
programa

Em geral, um programa no constitudo por uma


sequncia rgida, linear, de instrues que so
executadas sempre do mesmo modo.

Por vezes, necessrio repetir um determinado


conjunto de instrues enquanto se verificar uma
determinada condio.
nstrues condicionais
Permitem uma seleo de sequencias alternativas de
instrues.
Se a condio for verdadeira a ao executada.
Se a condio for falsa no executada nenhuma ao,
passa a ser executada a instruo seguinte.
Uma ao pode ser constituda por uma ou mais
instrues.
Se a condio for verdadeira executada a ao_1.
Se a condio for falsa executada a ao_2.
nstrues condicionais

You might also like