Page 1

Programação
de
Sistemas
de
 Informação
 10º
ano
 2011/2012
 
 
 
 ESCOLA
SECUNDÁRIA
DE
PENAFIEL
 DOCENTE:
Aida
Meira



CONTEÚDOS
  

1.
Introdução
à
Lógica
de
Programação



 

1.1.
Lógica



 

1.2.
Sequência
Lógica



 

1.3.
Instruções



 

1.4.
Algoritmos




2.
Desenvolvimento
de
Algoritmos

  

2.1.
Pseudocódigo



 

2.2.
Regras
e
Fases
de
Construção
de
um
Algoritmo



 

2.3.
Fluxogramas

    

2.3.1.
Introdução
ao
fluxograma
 2.3.2.
Simbologia




3
‐
Constantes,
Variáveis
e
Tipo
de
Dados

 3.1.
Constantes

 3.2.
Variáveis

 3.3.
Tipos
de
Dados




4.
Operadores
e
Funções
Pré
–
Definidas

  

4.1.
Operadores
Aritmé^cos



 

4.2.
Operadores
Relacionais



 

4.3.
Operadores
Lógicos



 

4.4.
Funções
Pré‐Definidas




 

5
–
Teste
e
correcção
de
erros



Lógica
  

A
lógica
de
programação
é
necessária
para
quem
deseje
trabalhar
com
o
 desenvolvimento
de
sistemas
e
programas,
ela
permite
a
sequência
lógica
 para
o
desenvolvimento.
Então
o
que
é
a
lógica.



Lógica
de
programação
é
a
técnica
de
estruturar
e
construir
pensamentos
e
 deduções
para
a^ngir
determinado
objec^vo.




UTILIDADE
DA
LÓGICA

   Resolução
de
Problemas


É
de
grande
importância
pois
é
basicamente
com
ela
 que
conseguirás
programar
em
qualquer
linguagem
seja
 delphi,
pascal,
java,
c
ou
outra.
A
lógica
é
a
parte
onde
 observamos
o
problema
e
procurámos
uma
solução
 para
resolver
esse
problema.




UTILIDADE
DA
LÓGICA

   Eficiência
e
Eficácia


Permite
chegar
a
resolução
de
um
problema
com
mais
 rapidez
e
com
maiores
probabilidades
da
sua
resolução,
 facilitando
também
o
retorno,
repensar
o
problema.




UTILIDADE
DA
LÓGICA

   Potenciar
raciocínios


Define
como
se
deve
realmente
pensar
para
não
errar,
 usando
a
razão.




Sequência
Lógica
 A
construção
dos
pensamentos
lógicos
para
a
resolução
do
problema,
podem
 ser
descritos
como
uma
sequência
de
instruções,
que
devem
ser
seguidas
 para
se
cumprir
uma
determinada
tarefa



Sequência
Lógica,
corresponde
a
um
conjunto
de
passos
(instruções)
a
executar
ou
 executados
para
a^ngir
um
determinado
objec^vo
ou
solução
proposta.




Exemplo
  

Exemplo
de
uma
sequência
de
instruções
para
a^ngir
um
determinado
 objec^vo,
como
a
realização
de
um
bolo,
pode
ser
descrito
assim:



 

1.
Bate‐se
as
gemas
com
o
açúcar.



 

2.
Derrete‐se
a
manteiga
com
o
chocolate
e
depois
de
arrefecidas,
 junta‐se
ao
creme
ob^do
anteriormente.



 

3.
Bate‐se
as
claras
em
castelo
e
junta‐se
ao
preparado
ob^do
em
2.



 

4.
Junta‐se
agora
a
farinha
e
o
fermento.



 

5.
Coloca‐se
o
preparado
numa
forma
grande,
previamente
barrada
 com
manteiga
e
pão
ralado.



 

6.
Coloca‐se
no
forno
a
180º,
durante
mais
ou
menos
45
minutos.




Exercício
 Organiza
os
tópicos
anteriores
usando
uma
outra
sequência,
mas
sem
alterar
o
resultado
 final.

 Podes
acrescentar
(dividindo)
os
tópicos.




Ficha
de
Trabalho
1



Programação de Sistemas de Informação 10º ano 2011/2012

ESCOLA SECUNDÁRIA DE PENAFIEL DOCENTE: Aida Meira


Aula 16– 12 de Outubro 

UTILIZAÇÃO DE OPERADORES RELACIONAIS

 INSTRUÇÕES CONDICIONAIS


Exercício 

Elabore um algoritmo que deverá ler duas variáveis do tipo texto (nome e apelido) e duas variáveis (a e b) do tipo inteiro.

Inicialmente deve questionar o utilizador pelo seu Nome e depois o apelido.

O Layout deve ser o seguinte: Olá, Aida Meira Compreender os operadores relacionais


No passo seguinte deve ser pedido a introdução dos números (a e b). E o programa deverá testar os operadores =, >, >=, <, <=, ==, <>

Exemplo: “Operador Maior:” a, ”>”, b, “isto é,” a>b

Elabore o fluxograma do exercício anterior


Aida Meira Aida Meira


Estruturas Condicionais 1. Decisão ou Seleção


Estruturas de decisão 

Quanto às estruturas de decisão podemos ter dois tipos:

Base numa condição: SE… ENTÃO… SENÃO (IF…THEN…ELSE)

Escolha Múltipla: SELECIONAR CASO… (SELECT CASE)


SE… ENTÃO… SENÃO 

Existe em todas as linguagens de programação e em aplicações (Folha de Cálculo)

Permite: 

Com base numa condição

Depois do SE

Decidir a execução ou não Optar entre duas alternativas


A decisão é tomada com base numa condição ou expressão lógica (booleana) Surge sempre depois do SE

Se a condição for VERDADEIRA Então será executado o bloco de ação a seguir a ENTÃO

Se a condição for FALSO Então

Executado Bloco de Ação a seguir a SENÃO

Não é feito mais nada e passa à proxima ação


SINTAXE Pseudocódigo

Fluxograma

SE <condição>

F

ENTÃO <bloco de instruções>

SE <condição>

SENÃO V <bloco de instruções> FIMSE

ENTAO <Bloco I>

SENÂO<Bl oco I>


Exemplo Inicio

FimSe

Inteiro nota1, nota2

Escrever “Introduza a segunda nota”

Escrever “Introduza a 1ºnota”

Fim

Ler nota1 Se nota1>10 Então Escrever “Aprovado”


Inicio

Escrever “Reprovado”

Inteiro nota1, nota2

FimSe

Escrever “Introduza a 1ºnota”

Escrever “Introduza a segunda nota”

Ler nota1

Fim

Se nota1>10 Então Escrever “Aprovado” SENÃO


Exercício O Programa e fluxograma a elaborar deve ler um número e determinar se este é POSITIVO ou NEGATIVO. Para determinar se o número é positivo ou negativo, é necessário colocar uma instrução condicional, que permita ao fluxograma decidir por duas ou mais hipóteses. Para tal devemos colocar as seguintes perguntas. - Como determino se um número inserido é POSITIVO ou NEGATIVO?

numero >0

- Qual a condição relacional a construir? “Número negativo ”

“Número

positivo


Início inteiro numero numero <- 0 escrever "Inserir um número: " ler numero se numero > 0 entao escrever "Número Positivo" senao escrever "Número Negativo" fimse Fim


Ficha 9


Programação
de
Sistemas
de
 Informação
 10º
ano
 2011/2012
 
 
 
 ESCOLA
SECUNDÁRIA
DE
PENAFIEL
 DOCENTE:
Aida
Meira



Aula
17–
14
de
Outubro
  

CONTINUAÇÃO
DA
FICHA
9


 





 

FICHA
DE
TRABALHO
10



Programação
de
Sistemas
de
 Informação
 10º
ano
 2011/2012
 
 
 
 ESCOLA
SECUNDÁRIA
DE
PENAFIEL
 DOCENTE:
Aida
Meira



Aula
3
–
19
de
Setembro
  

Verificação
e
correcção
dos
trabalhos
de
casa.


 

Definição
de
Programa.



 

Instruções:
Definição
e
Tipos.



 

Exercícios




Programa
  

É
um
conjunto
de
instruções
que
dizem
ao
computador
o
que
fazer.
Esse
 conjunto
de
instruções,
escritas
originalmente
pelo
programador,
é
 chamado
de
código‐fonte.



 

Os
programas
de
computadores
são
instruções
escritas
numa
linguagem
de
 programação
(Pascal,
C,
Visual
Basic,
etc)
e
que
são
interpretados
e
 executados
por
uma
máquina.




Programaâ&#x20AC;Š


Linguagem
de
Programação
  

É
uma
linguagem
entendida
pelo
computador,
como
método
para
expressar
 instruções
para
a
máquina.



 

Segue
um
conjunto
de
regras
sintácacas
e
semânacas
usadas
para
definir
 um
programa




Instruções
  

Na
linguagem
comum,
entende‐se
por
instruções
“um
conjunto
de
regras
ou
 normas
definidas
para
a
realização
ou
emprego
de
algo”.
Em
informáaca,
 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
em
 ordem
sequencial
lógica.



 

Por
exemplo,
se
quisermos
fazer
batatas
fritas,
precisamos
colocar
em
práaca
 uma
série
de
instruções:
descascar
as
batatas,
fritar
as
batatas,
escorrer,
etc...



 

É
evidente
que
essas
instruções
têm
que
ser
executadas
numa
ordem
adequada.




 

Dessa
maneira,
uma
instrução
tomada
em
separado
não
tem
muito
senado;
 para
obtermos
o
resultado,
precisamos
colocar
em
práaca
o
conjunto
de
 todas
as
instruções,
na
ordem
correcta.



Instruções
são
conjunto
de
regras
ou
normas
definidas
para
a
realização
ou
 emprego
de
algo.
Em
informá;ca,
são
os
passos
necessário
a
indicar
a
um
 computador
uma
acção
elementar
a
executar
usando
uma
linguagem
de
 programação.




Tipo
de
Instruções
  

Atribuição



 

Leitura



 

Escrita



 


Sequencial



 

Decisão
condicional



 

Ciclos
ou
Repeação




Instrução
de
atribuição
  

As
instruções
de
atribuição,
designam
um
valor
para
uma
qualquer
variável.



 

    

Contexto
geral:
A
sopa
do
João
é
de
cenoura.

 Programação:
A
altura
do
prédio
é
de
15
metros
(altura=15).




Instruções
de
leitura
  

Todas
as
linguagens
de
programação,
necessitam
de
instruções
de
leitura,
 que
lhe
permitem
a
entrada
de
dados.



   

Contexto
geral:
A
Carla
lê
a
mensagem.

 Programação:
Ler
altura
do
prédio.
(Ler
altura).




INSTRUÇÃO
DE
ESCRITA

  

Da
mesma
forma
que
as
linguagens
de
programação,
necessitam
de
 instruções
de
leitura,
têm
também
necessidade
de
colocar
no
exterior,
saída
 de
dados
processados.



   

Contexto
geral:
O
Pedro
escreve
no
quadro
o
seu
número
de
telemóvel.

 Programação:
Escrever
o
resultado
da
operação.
(Escrever
resultado).




INSTRUÇÕES
SEQUENCIAIS

  

Conjunto
de
instruções
de
leitura
e
escrita,
definidas
de
forma
sequencial
e
 organizada
para
aangir
um
determinado
objecavo.

  

 

Contexto
geral:
(
Escolher
livros
para
o
dia;
Colocar
os
livros
na
mochila;
Colocar
a
 mochila
às
costas;
Sair
de
casa;
Apanhar
o
autocarro;
Sair
do
autocarro;
Dirigir‐se
 para
a
escola;
…)

 Programação:
(Ler
o
valor
de
X;
Mulaplicar
por
2;
Somar
o
valor
50;
Dividir
por
3;
 Escrever
o
resultado
final).




INSTRUÇÃO
CONDICIONAL

  

Instrução
que
condiciona
a
decisão
final,
isto
é,
o
objecavo
é
real,
mas
por
 situações
adversas
poderá
ser
necessário
tomar
determinada
decisão.

  

Contexto
geral:
Se
chover


Se
não


Levar
Guarda‐Chuva



Deixar
Guarda‐Chuva
em
casa




  

Programação:
Se
X
é
par


Se
não


Escrever
“X
é
par”



Escrever
“X
é
ímpar”




INSTRUÇÃO
DE
CICLO
OU
REPETIÇÃO

  

Esta
instrução,
é
necessária
quando
se
pretende
a
execução
de
um
conjunto
 de
passos
repeadas
vezes
até
uma
determinada
altura.



   

Contexto
geral:
Enquanto
autocarro
não
chega
 Esperas.

 Programação:
Ler
os
valores
para
X
enquanto
X
for
PAR.




Ficha
de
trabalho
N2
  

www.psi10.tumblr.com


 

Separador
Fichas



Programação
de
Sistemas
de
 Informação
 10º
ano
 2011/2012
 
 
 
 ESCOLA
SECUNDÁRIA
DE
PENAFIEL
 DOCENTE:
Aida
Meira



Aula
4
–
19
de
Setembro
  

Introdução
à
Algoritmia.


 

Regras
e
fases
para
construção
de
um
algoritmo.


 

Exercícios



Algoritmo
 Um
algoritmo
é
uma
sequência
finita
de
instruções
que
levam
a
execução
de
uma
 tarefa.



 

Exemplo:
        

Instruções
para
montar
uma
cadeira
do
IKEA;
 Receita
para
fazer
um
bolo;
 Indicações
para
percorrer
um
trajecto
de
X

Y.
 Livro
de
instruções
de
um
electrodomés[co



As
Instruções…
   
Não
podem
ser
redundantes;
   Não
podem
ser
subjec[vas
na
sua


definição;


  
Devem
ser
claras
;
   Devem
ser
precisas.



Regras
para
a
construção
de
algoritmos
   Para
escrever
um


algoritmo
precisamos
 descrever
a
sequência
de
 instruções,
de
maneira
 simples
e
objec[va.




Regras
para
a
construção
de
algoritmos
 Para
isso
u[lizaremos
algumas
técnicas:

 
  Usar
somente
um
verbo
por
frase;

 
  Imaginar
que
estámos
a
desenvolver
um
algoritmo
para
pessoas
 que
não
trabalham
com
informá[ca,
ou
que
nada
entendem
de
 como
resolver
o
problema;

 
  Usar
frases
curtas
e
simples;

 
  Ser
objec[vo;

 
  Procurar
usar
palavras
que
não
tenham
sen[do
dúbio
(duplo).




Fases
de
um
algoritmo
  

Na
realização
de
um
algoritmo,
precisamos
primeiro
dividir
o
problema
 apresentado
em
três
fases
fundamentais.



Entrada


Processamento


Saída



Fases
de
um
algoritmo
 Entrada


Processamento


Saída


São
os
dados
de
entrada
do
algoritmo


São
os
procedimentos
u[lizados
para
chegar
ao
resultado
final


São
os
dados
já
processados



Exemplo


 Imaginem
o
seguinte
problema:
Calcular
a
média
final
 dos
alunos
da
turma
A.

 Os
alunos
realizarão
quatro
provas:
P1,
P2,
P3
e
P4.

 
 Onde:

 
 Média
Final=
(p1+P2+P3+P4)/4



Exemplo
(cont)
 Para
construir
o
algoritmo
proposto,
faremos
três
perguntas:

  

1)
Quais
são
os
dados
de
entrada?

  

 

2)
Qual
será
o
processamento
a
ser
u[lizado?

  

 

R:
Os
dados
de
entrada
são
P1,
P2,
P3
e
P4



R:
O
procedimento
será
somar
todos
os
dados
de
entrada
e
dividi‐los
por
4



3)
Quais
serão
os
dados
de
saída?

  

R:
O
dado
de
saída
será
a
média
final




Exemplo
(cont)
|
Resolução


 1. 

Ler
a
nota
da
prova
1


2. 

Ler
a
nota
da
prova
2


3. 

Ler

nota
de
prova
3


4. 

Ler
a
nota
da
prova
4


5. 

Somar
todas
as
notas
e
dividir
o
 resultado
por
4


6. 

Mostrar
o
resultado



Exemplo
(cont)
|
Resolução


 1. 

Ler
a
nota
da
prova
1


2. 

Ler
a
nota
da
prova
2


3. 

Ler

nota
de
prova
3


4. 

Ler
a
nota
da
prova
4


5. 

Resultado=
 (prova1+prova2+prova3+prova4)/ 4


6. 

Escrever
o
resultado



Formas
de
Representação
de
Algoritmos
 
 Não
Gráficos


  


Português
corrente,
Uso
de
 Pseudocódigo
ou
Português
Estruturado



 

Representação
descri[va
dos
passos
 que
realizam
um
algoritmo.



Ler
Largura
 Ler
Comprimento
 Area
<‐
largura*comprimento
 Escrever
area



Formas
de
Representação
de
Algoritmos
 
 

Gráficos



  

Uso
de
Diagramas



 

Representação
gráfica
das
operações
 que
realizam
um
algoritmo.



Largura


comprimento


Area
<‐
largura*comprimento


area



Ficha
de
trabalho
3



Programação
de
Sistemas
de
 Informação
 10º
ano
 2011/2012
 
 
 
 ESCOLA
SECUNDÁRIA
DE
PENAFIEL
 DOCENTE:
Aida
Meira



Aula
5
–
21
de
Setembro
  

Desenvolvimento
de
algoritmos
–
Resolução
da
Ficha
nº
4


 

Fluxogramas





CORRECÇÃO
 
‐
FICHA
NÚMERO
4
‐




1
 
Inicio


 

6.
Ler
V6




 

1.
Ler
V1




 

7.
Soma
=
V1+v2+V3+V4+V5+V6




 

2.
Ler
V2




 

8.
Media
=
Soma/6




 

3.
Ler
V3




 

9.
Escrever
Media



 

4.
Ler
V4




 

5.
Ler
V5




  
Fim



2
 1. 

Inicio



2. 

Ler
Base


3. 

Ler
Base


4. 

area=(base*altura)/2


5. 

Escrever
area


6. 

Fim



3
 1. 

Inicio



2. 

Ler
Raio;


3. 

Pi=3.14


4. 

Area=4*Pi*raio*raio


5. 

Escrever
area


6. 

Fim



4
 1. 

Inicio


2. 

Ler
notaAluno


3. 

Se
notaAluno

>=10
Então
 
Escrever
“Aprovado”
 Senão
 
Escrever
“Reprovado”
 Fim
 







5
 1. 

Inicio


2. 

Ler
Gasto_P


3. 

Ler
Gasto:C


4. 

Despesa=Gasto_P+GastoC


5. 

Escrever
Despesa


6. 

Fim



6
a)
  

Quais
são
os
dados
de
entrada?
  

 

ii.
Qual
será
o
processamento
a
ser
umlizado?
  

 

T1,
T2,
T3
e
T4
(notas
dos
alunos)


(T1+T2+T3+T4)/4)


iii.
Quais
são
os
dados
de
saída?
  

MF
(média
final)



6
b)
 1. 

Inicio


2. 

Ler
(t1,
t2,
t3,
t4)


3. 

MF

(t1+t2+t3+t4)/4


4. 

Escrever
(MF)


5. 

Fim



7
 1. 

Inicio


2. 

Ler
(num1,
num2)


3. 

soma
(num1+
num2)


4. 

result

soma
*
num1


5. 

Escrever
(result)


6. 

Fim



‐
FLUXOGRAMAS



8
  

Ler
o
código
da
peça
»»»»Entrada


 

Ler
o
valor
da
peça
»»»»
Entrada


 

Ler
a
quanmdade
de
peças
»»»»
Entrada


 

Calcular
o
valor
total
da
peça
(Quanmdade
*
valor
da
peça)
»»»»
 Processamento


 

Escrever
o
código
da
peça
e
o
seu
valor.
»»»»Saída



Fluxograma
  

Permite representar graficamente um algoritmo.

 

Explícitos e facilmente compreensíveis.

 

Há várias formas de fluxogramas: com mais detalhe (orientado para a máquina) ou menos detalhe (orientado para o homem).



Fluxograma
  

Um fluxograma orientado para o homem é bom se for entendido por uma pessoa com conhecimentos na área em que se enquadra o problema, mesmo que este não possua qualquer experiência a nível de programação de computadores.


Fluxograma


 

Um bom fluxograma orientado para a máquina é aquele em que o programa pode ser praticamente escrito directamente, sem codificação intermediária, excepto para comandos de entrada/saída e declarações.


RECOMENDAÇÃO
  

É recomendável que se faça um fluxograma para todos os programas, por mais simples que estes sejam, até que se torne um hábito pensar no fluxograma antes de se pensar no programa.


TERMINAL •  Usado no início e no final de um fluxograma.

Inicio
 Fim


ENTRADA/SAÍDA •  Qualquer função dum dispositivo genérico de entrada/saída de dados/resultados.

Escrever
…
 Ler…


CONECTOR •  Uma entrada ou uma saída de ou para uma outra parte do fluxograma, ou quando existe mais do que uma seta de direcção de fluxo a confluir para o mesmo local.


PROCESSAMENTO •  Uma instrução ou conjunto de instruções que indicam processamento

(cálculos…)


DECISÃO •  Indicação da possibilidade de desvios para outros pontos do programa de acordo com certas condições.

DIRECÇÃO DE FLUXO •  Indicação da ordem de execução das instruções.


 

Conjunto de desenhos gráficos (símbolos) normalizados que permitem representar em fluxogramas: acções, entidades, etc.


FICHA
Nº
4




CORRECÇÃO
 
‐
FICHA
NÚMERO
4
‐




2)
 Início
 
Ler
(Num)

 
Triplo

Num*3

 
Escrever
(Triplo)

 Fim
 



3)


!


3…
  

3.1.
–
Quantos
símbolos
“Terminal”
são
precisos?
JusGfique.
  

 

3.2
–
Quantos
símbolos
“Processamento”
são
necessários?
JusGfique.

  

 


Dois,
um
para
o
início
e
outro
para
o
fim.


Um
para
calcular
o
triplo.


3.3
–
Quantos
símbolos
de
“Entrada/Saída”
uGlizou?
Dois.
  


Um
para
o
dado
de
entrada
“Num”
e
outro
para
o
dado
de
saída
“Triplo”.



Programação
de
Sistemas
de
 Informação
 10º
ano
 2011/2012
 
 
 
 ESCOLA
SECUNDÁRIA
DE
PENAFIEL
 DOCENTE:
Aida
Meira



Aula
6
–
23
de
Setembro
  

Correção
dos
exercícios
da
ficha
4
sobre
Fluxogramas.


 

TEORIA
DOS
ALGORITMOS.



 

DESENVOLVIMENTO
DE
ALGORITMOS,
COM
RECURSO
A
PORTUGUÊS
 INFORMAL/
ESTRUTURADO.




FICHA
Nº
4




CORRECÇÃO
 
‐
FICHA
NÚMERO
4
‐




2)
 Início
 
Ler
(Num)

 
Triplo

Num*3

 
Escrever
(Triplo)

 Fim



3)


!


3…
  

3.1.
–
Quantos
símbolos
“Terminal”
são
precisos?
JusEfique.
  

 

3.2
–
Quantos
símbolos
“Processamento”
são
necessários?
JusEfique.

  

 


Dois,
um
para
o
início
e
outro
para
o
fim.


Um
para
calcular
o
triplo.


3.3
–
Quantos
símbolos
de
“Entrada/Saída”
uElizou?
Dois.
  


Um
para
o
dado
de
entrada
“Num”
e
outro
para
o
dado
de
saída
“Triplo”.



Teoria
dos
Algoritmos
  

Em
programação,
a
melhor
forma
de
resolução
de
 um
problema,
baseia‐se
na
subdivisão
desse
 mesmo
problema,
em
problemas
mais
pequenos.




FASES
PARA
A
RESOLUÇÃO
DE
UM
 PROBLEMA

  

1.
Analisar
o
problema
‐
ANÁLISE



 

2.
Resolver
o
problema
‐
RESOLUÇÃO



 

3.
Implementar
a
solução
‐
IMPLEMENTAÇÃO




|
Análise
  

Na
análise
deve‐se
entender
o
problema,
perceber
o
objecEvo
que
se
 pretende
acngir,
subdividir
o
problema
e
detalhar
essa
subdivisão
em
 esquemas
para
serem
novamente
analisados.




|
Resolução
  

Na
resolução
deve‐se
escrever
passo
a
 passo,
 o
 raciocínio
 para
 a
 resolução
 do
 problema
 de
 forma
 a
 garancr
 que
 não
 existam
 ambiguidades,
 dúvidas.
 Nesta
 fase
 a
 resolução
 passa
 pela
 construção
 de
 um
 Algoritmo
 gráfico
 (fluxograma)
ou
não
gráfico
(descricvo
 o u
 P o r t u g u ê s
 E s t r u t u r a d o
 –
 Pseudocódigo).




Implementação
  

Esta
fase
consiste
na
implementação
do
algoritmo
numa
qualquer
 linguagem
de
programação.
Esta
é
a
fase
da
elaboração
de
um
programa
 informácco.




Do
Problema
à
Elaboração
do
Programa.

  

A
elaboração
de
um
programa,
como
qualquer
trabalho
que
possa
ser
feito
 segundo
uma
organização
racional,
pode
ser
analisada,
genericamente,
 segundo
determinados
passos
ou
etapas.



 

Considera
o
esquema
da
figura
seguinte
como
base
para
abordagem
desta
 questão.




Análise
de
um
Problema
  

Pretende‐se
criar
um
programa
que
permita
calcular
o
volume
de
uma
 esfera.



COMPREENSÃO
DO
PROBLEMA:



Este
problema
à
parcda,
não
consctui
qualquer
dificuldade
em
termos
de
 compreensão,
pois
o
que
se
pretende
é
calcular
o
volume
da
esfera,
por
isso
basta‐ nos
saber
e
aplicar
função
para
o
cálculo
do
volume.




Análise
de
um
Problema
 INSTRUÇÕES
PARA
ENTRADA
DE
DADOS

 No
enunciado,
nada
é
dito
acerca
dos
dados
de
 entrada,
por
isso
necessitámos
saber
qual
a
 função
uclizada
para
o
efeito.




Análise
de
um
Problema
 Assim
sendo,
apenas
necessitamos
de
ler
o
valor
do
Raio
a
parcr
do
teclado,
que
 representaremos
pela
variável
R.

 
 O
R,
é
então
considerada
uma
variável,
ou
seja,
um
espaço
em
memória
no
qual
 guardaremos
o
valor
que
vai
ser
lido
e
uclizado
ao
longo
do
programa
e
que
pode
ser
 modificado.

 
 Durante
este
processo
de
análise,
notamos
ainda
que
R
não
pode
ser
menor
ou
igual
a
 zero,
pois
não
faz
senEdo,
pelo
que
a
entrada
deverá
ser
validada
para
evitar
este
caso.
 

 Por
outro
lado,
temos
também
o
valor
de
π
que
é
constante
e
como
tal
deverá
ser
definido
 o
seu
valor
inicial,
sendo
esta
constante
representada
por
PI.




Análise
de
um
problema
 INSTRUÇÕES
PARA
SAÍDA
DE
DADOS

 No
que
respeita
aos
dados
de
saída,
naturalmente
que
o
único
valor
de
saída
é
o
 do
valor
do
volume,
que
representamos
pela
variável
V.

 Estudo
das
relações
entre
as
ENTRADAS
e
SAÍDAS

 A
relação
entre
as
entradas
e
saídas
só
exiscrá
se
o
valor
de
R
maior
que
0
(R>0),
 caso
contrário
deve
repecr‐se
a
leitura
de
R,
ou
dar‐se
como
concluído
este
 processo.




Algoritmo
inicial

 PI
=
3.14

 Ler
R

 V
=
3/4*PI*R*R*R

 Escrever
V



Algoritmo
inicial
melhorado
fase
2

 PI
=
3.14

 R
=
0

 Enquanto
R
<=
0
Faz

 Ler
R

 Se
R>0

 V
=
3/4*PI*R*R*R

 Escrever
V

 Senão

 Escrever
“Raio
não
pode
ser
zero,
volte
a
 inserir
o
raio”



Algoritmo
inicial
melhorado
fase
1

 PI
=
3.14

 Ler
R

 Se
R>0
Então

 V
=
3/4*PI*R*R*R

 Escrever
V

 Senão

 Escrever
“Raio
não
pode
ser
zero”




Programação
de
Sistemas
de
 Informação
 10º
ano
 2011/2012
 
 
 
 ESCOLA
SECUNDÁRIA
DE
PENAFIEL
 DOCENTE:
Aida
Meira



Aula
7
e
8
–
26
de
Setembro
  

Instruções,
Variáveis,
Constantes
e
Operadores


 

Exercícios


 


Tipo
de
Dados,
instruções
e
atribuições;


 

Desenvolvimento
de
algoritmos


 

Expressões



Exercício
  


Elabore
o
algoritmo
para
calcular
o
área
de
um
rectângulo


 

A=
comprimento
*
largura



Exemplo
  

Algoritmo
com
uma
declaração
de
variáveis
e
três
exemplos
de
instruções
 básicas
(leitura,
atribuição
e
escrita)
 Instruções
de:
 Variáveis
area,
comp,
larg:
inteiros;
 Início
 Ler
(comp,
larg);
 
 area<‐
comp
*
larg;
 
 Escrever
area
 
 Fim


Leitura
 
 Atribuição
 
 Escrita
 
 



Operadores
 Adição
 Subtração
 Mul_plicação
 Divisão



Operadores
  

Traduzem
operações
de
cálculos
aritmé_cos
que
os
sistemas
informá_cos
 podem
realizar
e
que
são
habitualmente
indicadas
em
algoritmos
para
 programas
de
computador.



Operações
 1)  Leitura
ou
input
 2)  Atribuição
 3)  Escrita
ou
output


Instruções
 Ler
(comp,
larg);
 Area<‐
comp*
larg;
 Escrever(area)
 


Em
cada
uma
destas
instruções
são
usadas



Variáveis
 Variáveis
 Comp
 Larg
 area


Correspondência
 Comprimento
 Largura
 Area


Estas
variáveis
são
declaradas
logo
no
começo
do
algoritmo
(no
seu
cabeçalho),
 Neste
caso
com
a
seguinte
declaração:
 
 Variáveis
area,
com,
larg:
inteitos



 

Estamos
a
declarar
que
vamos
usar
três
variáveis
com
dados
numéricos
do
 7po
inteiro.


 

As
variáveis
são
sempre
representadas
por
palavras,
letras
ou
abreviaturas.


 

É
recomendável
que
esses
nomes
escolhidos
sejam
facilmente
iden_ficáveis
 por
quem
ler




Exemplos de atribuições CORRECTAS e INCORRECTAS de nomes para variáveis.~ Nomes de Variáveis nota_exame NotaExame preço_de_venda 1ª Nota Nota de Exame nome do aluno NomeAluno _nome

Observações ! Certo ! Certo " Errado. Não pode ter o carácter ç " Errado. Não pode iniciar por um número " Errado. Não pode ter espaços em branco " Errado. Não pode ter espaços em branco ! Certo ! Certo inicial por um _


Exercício
  

Assinale
as
variáveis
não
válidas.


(


)
abc
 



(


)
3abc







(


)
a 




(


)
123a



(


)
–a
 




(


)
acd1







(



)
A&a



(


)
guarda
chuva


(


)
ler
 







ESTRUTURA
DE
UM
ALGORITMO
EM
PSEUDOCÓDIGO

 
  

Os
programas
em
pseudocódigo,
escritos
no
sokware
portugol
e
ou
no
 papel,
devem
ter
sempre
uma
estrutura
assim
definida:
 //Nome
do
programa

 //Informação
descri1va
do
que
faz
o
programa
 Início

 
//Declaração
de
variáveis
e
constantes
 
declaração
de
variáveis
e
constantes;

 
 
…

 
 
instrução
ou
blocos
de
instruções;
 
 
 
…

 Fim

 



 

Nome
do
Programa
‐
Iden_ficação
do
programa.
Deve
ser
um
nome
curto,
 podendo
logo
de
seguida
ter
algumas
linhas
que
fazem
uma
pequena
descrição
 do
que
faz
o
algoritmo,
nome
do
autor,
data,…


 

Início
‐
Iden_fica
o
ponto
de
par_da
(início)
do
programa
ou
bloco
de
instruções


 

Blocos
de
instruções
–
Instruções
que
ficam
entre
o
início
e
o
fim.
Como
 veremos,
mais
à
frente,
sempre
que
uma
estrutura
de
dados,
condicional
ou
 cíclica,
possui
mais
do
que
uma
instrução,
estas
instruções
devem
estar
 limitadas
por
Início
e
Fim


 

Fim
‐
Iden_fica
o
ponto
de
chegada
(fim)
do
programa
ou
bloco
de
instruções.




Exemplo
de
um
algoritmo
escrito
no
sokware
portugol.
 


//Programa
Calcular
IDADES
 //Este
algoritmo
faz
a
leitura
de
duas
variáveis
e
efectua
o
cálculo
da
idade


 Início
 


//Declaração
de
variáveis
 


inteiro
ano_nasc,
ano_actual,
idade
 



 


//
Escrita
da
mensagem
para
o
u_lizador
 


Escrever
"Qual
o
ano
de
nascimento?
"
 


//
Leitura
de
dados
para
as
variáveis
 


Ler
ano_nasc
 


//
Escrita
da
mensagem
para
o
u_lizador

 


Escrever
"Qual
o
ano
actual?
"
 


//
Leitura
de
dados
para
as
variáveis

 


Ler
ano_actual
 

 


//Cálculo
que
atribui
à
variável
idade
o
valor
da
subtracção
 


idade
<‐
ano_actual
‐
ano_nasc
 



 


//
Processo
para
Escrever
no
ecrã
"texto",
variável
 


Escrever
"A
tua
idade
é
"
,idade,
"
Anos"
 Fim



Tipos
de
Dados
  

INTEIRO
‐admite
somente
números
inteiros
(sem
casas
decimais)
posi_vos
ou
nega_vos.
 Geralmente
é
u_lizado
para
representar
uma
contagem
(quan_dade).
Exemplos:
12,
‐4,
 1000,
345,
‐34,
‐1400.



 

REAL 
‐
admite
números
reais
(com
ou
sem
casas
decimais).
Geralmente
é
u_lizado
para
 representar
uma
medição.
Exemplos:
13.45,
10,
5.55,
130.45,
‐139.5,
‐100



 

CARACTERE
ou
TEXTO
 
‐
admite
caracteres
alfanuméricos.
São
sequências
de
todos
 os
caracteres
individuais
que
podem
ser
representados
num
computador.
Representam‐ se
entre
aspas.
Os
números
quando
declarados
como
caracteres
tornam‐se
 representa_vos
e
perdem
a
atribuição
de
valor.
 
Exemplos
(“Portugal”)



 

LÓGICO
‐
admite
somente
valores
lógicos
que
podem
ser
Verdadeiro
ou
Falso
e
True
ou
 False.



Pascal


Caracteres


Char
 Short
int


Números
Inteiros


Integer
 Long
int


C


Char
 Int
 Long
 Single


Números
Reais


Real


Valores
Lógicos


Boolean


Double
 N
tem



Variáveis
e
Constantes
  

As
variáveis
e
constantes,
são
posições
de
memória
reservadas
durante
a
 execução
do
programa,
para
armazenar
informação.



 

São
iden_ficadas
por
um
nome,
que
deve
estar
relacionado
com
o
seu
 conteúdo.



 

Por
norma
são
declaradas
no
início
do
programa,
sendo
aí
especificado
o
 seu
_po,
conforme
o
conteúdo
da
informação
a
armazenar.
As
variáveis
 recebem
valores
durante
a
execução
do
programa
e
estes
valores
podem
 sofrer
alterações.
As
constantes
por
seu
turno,
recebem
um
valor
quando
 são
declaradas
e
esse
valor
mantém‐se
estável
(fixo)
durante
a
execução
do
 programa.



Declaração
de
Constantes:

  

Para
melhor
dis_nguir
as
variáveis
das
constantes,
estas
devem
estar
em
 MAIÚSCULAS
(não
é
necessário),
mas
é
uma
norma
que
facilita
em
muita
a
 leitura
de
programas
extensos.



 

Sintaxe:

contante
1po
NOME
=
valor



 

Exemplos
    

constante
real
ENTRADA
=
5.5
 constante
real
PI
=
3.14

   Taxa=0,17
   Nome=“Ana
Maria”



DECLARAÇÃO
DE
VARIÁVEIS:
 
  

inteiro
n1,
n2,
n3; 
 




//
Três
variáveis
do
_po
inteiro

 

inteiro
idade; 




//Variável
do
_po
inteiro
(16)


 

inteiro
ano_nascimento; 



//
Variável
do
_po
inteiro
(1994)


 

real
n4;

 

texto
nome;



//Variável
do
_po
texto
”Paulo
Borges”


 

lógico
vf1,
vf2;
 



//Variável
com
valores
True
ou
False



 






//
Variável
do
_po
real
(1.76)



Instruções
de
Atribuição
 Custo
<‐
10;
 Prex
<‐
custo
*10;
 Nome
<‐
“Ana
Maria”;


Linguagens


Sinal
de
atribuição


Basic
e
C


=


Pascal


:=


Algoritmia


=
ou
<‐



Exemplos
 
  

a=10;






ou



a
<‐
10


 

b=8;






ou



b
<‐
8


 

c=“olá”


ou



c
<‐
“olá”


 

x=a+b




ou



x
<‐
a+b



Instruções
de
input
e
output
  

Leitura
ou
entrada
de
dados


Ler
(dado)


A
leitura
de
variáveis,
faz‐se
usando
o
 comando
Ler
 




 

Escrita
ou
Saída
de
dados


Escrever
(dado)
 A
escrita
ou
saída
de
informação
para
os
 disposi_vos
de
saída
(ecrã
ou
impressora)
é
 feita
pelo
comando
Escrever.
A
saída
do
 comando
escrever,
pode
ser
para
escrever
 uma
indicação
ou
um
pedido
ou
para
escrever
 o
conteúdo
de
uma
variável.



Ficha
5



EX01
  

//Programa
Calcular
IDADES


 

Início


 




inteiro
ano_nasc,
ano_actual,
idade


 




Ler
ano_nasc


 




Ler
ano_actual


 




idade
<‐
ano_actual
‐
ano_nasc


 




Escrever
idade


 

Fim



//Programa
Calcular
IDADES
 Início
 


//Declaração
de
variáveis
 


inteiro
ano_nasc,
ano_actual,
idade
 



 


//
Leitura
de
dados
para
as
variáveis
 


Ler
ano_nasc
 


Ler
ano_actual
 



 


//Calculo
que
atribui
à
idade
o
valor
da
 subtracção
 


idade
<‐
ano_actual
‐
ano_nasc
 



 


//
Processo
para
Escrever
no
ecrã
 


Escrever
"A
tua
idade
é
",
idade
 Fim



//Programa
Calcular
IDADES
 Início
 


//Declaração
de
variáveis
 


inteiro
ano_nasc,
ano_actual,
idade
 



 


//
Leitura
de
dados
para
as
variáveis
 


//
Apresenta
no
ecrã
as
questões
 


Escrever
"Qual
o
ano
de
nascimento
?
"
 


Ler
ano_nasc
 


Escrever
"Qual
o
ano
actual
?
"
 


Ler
ano_actual
 



 


//Calculo
que
atribui
à
idade
o
valor
da
 subtracção
 


idade
<‐
ano_actual
‐
ano_nasc
 



 


//
Processo
para
Escrever
no
ecrã
 


Escrever
"A
tua
idade
é
"
,idade
 Fim



Ex
02
 Início
 

real
altura,
peso,
imc
 


 

ler
altura
 

ler
peso
 


 

imc
<‐
peso
/
(altura
*
altura)




 
escrever
imc



 Fim
 




Início
 

real
altura,
peso,
imc
 


 

escrever
“Indique
a
sua
altura?
“
 

ler
altura
 

escrever
“Indique
o
seu
peso?
“
 

ler
peso
 


 

imc
<‐
peso
/
(altura
*
altura)




 
escrever
“O
seu
IMC
é
igual
a
“,imc



 Fim




Ex
03


Início
 

inteiro
valor1,
valor2
 

real
resultado
 

escrever
“Qual
o
primeiro
valor?
“
 

ler
valor1
 

escrever
“Qual
o
segundo
valor?
“
 

ler
valor2
 

escrever
“\nResultado
das
Operações”
 

resultado
<‐
valor1
+
valor2
 

escrever
“\nAdição
é
“,valor1,”+”,valor2,”=”,resultado
 

resultado
<‐
valor1
‐
valor2
 

escrever
“\nSubtracção
é
“,valor1,”‐”,valor2,”=”,resultado
 

resultado
<‐
valor1
*
valor2
 

escrever
“\nMul_plicação
é
“,valor1,”x”,valor2,”=”,resultado
 

resultado
<‐
valor1
/
valor2
 

escrever
“\nDivisão
é
“,valor1,”:”,valor2,”=”,resultado
 Fim



Programação
de
Sistemas
de
 Informação
 10º
ano
 2011/2012
 
 
 
 ESCOLA
SECUNDÁRIA
DE
PENAFIEL
 DOCENTE:
Aida
Meira



Aula
9
–
28
de
Setembro
  

Revisões


 

OPERADORES
ARITMÉTICOS,
RELACIONAIS
E
LÓGICOS.



 

EXERCÍCIOS
GUIADOS




Próximas
aulas
|
Agenda
  

Aula
10
–
29
de
Setembro
–
Exercicios
e
consolidação
da
materia


 


Aula
11
e
12
–
3
de
Outubro
–
Ficha
de
Revisões
da
materia
dada


 

Aula
13
–
5
Outubro
–
Ficha
forma\va
e
Correcção



Revendo
conceitos



Declaração
de
variáveis
e
0po
de
dados
  

num


Inteiro


 

raio



Real


 

Nome,
ul\monome


Texto


 

altura



Real


 

premio_totoloto



Real



Instruções
de
Escrita
  

Escrever
“Escrever
o
teu
nome”
 //
Escreve
o
texto


 

Escrever
nome
 //
Escreve
o
valor
da
variável



Instruções
de
Leitura
  

Ler
variável


EX:


Ler
altura
 







Ler
nome
 





Ler
Raio



Instruções
de
atribuição
  

area
<‐
3.14
*
raio
*
raio;



 

comprimento
<‐
largura
+10;




OPERADORES
 Os
operadores
são
meios
pelo
qual
 incrementamos,
decrementamos,
 comparamos
e
avaliamos
dados
dentro
do
 computador.
Temos
três
\pos
de
 operadores:

 • 

Operadores
Aritmé\cos



• 

Operadores
Relacionais



• 

Operadores
Lógicos




OPERADORES
ARITMÉTICOS

  

Os
operadores
aritmé\cos
são
os
u\lizados
para
obter
resultados
 numéricos.
Além
da
adição,
subtracção,
mul\plicação
e
divisão,
podem
 u\lizar
também
o
operador
para
exponencial.
Os
símbolos
para
os
 operadores
aritmé\cos
são:

 Operadores


Operação


+


Adição


‐


Subtração


*


Mul\plicação


/


Divisão


%


Resto
da
divisão
inteira


^


Expoente



HIERARQUIA
DAS
OPERAÇÕES
 ARITMÉTICAS

  

1.
(
)
Parênteses



 

2.
Exponencial



 

3.
Mul\plicação,
divisão
(o
que
aparecer
primeiro)



 

4.
+
ou
–
(o
que
aparecer
primeiro)



TOTAL
=
PREÇO
*
QUANTIDADE



1
+
7
*
2
^
2
–1
=
28

 3
*
(1
–
2)
+
4
*
2
=
5




Operadores
Relacionais
  

Os
operadores
relacionais
são
u\lizados
para
comparar
String
(frase)
de
 caracteres
e
números.
Os
valores
a
serem
comparados
podem
ser
 caracteres
ou
variáveis.



 

Estes
operadores
retornam
sempre
valores
lógicos
(verdadeiro
ou
falso/
 True
ou
False).
Para
estabelecer
prioridades
no
que
diz
respeito
a
qual
 operação
executar
primeiro,
u\lize
os
parênteses.
Os
operadores
relacionais
 são:




 

Tome
em
consideração
as
seguintes
variáveis:
  

A
<‐
4
 B
<‐
6


 

C
<‐
8


 

1.  

a=b


2.  3.  4.  5.  6. 

B
=!=
c
 a>=
b‐2
 a>=b‐2
 B+c=c+b
 a+b=!=b+a



Exercício
 Considere
as
seguintes
variaveis:
A
=
 5
e
B
=
3.

 Quais
seriam
os
resultados
das
 expressões
seguintes?

 
 1.
A=B


 2.
A
<>
B


 3.
A
>
B


 4.
A
<
B


 5.
A
>=
B


 6.
A
<=
B

 



OPERADORES
LÓGICOS

  

Os
operadores
lógicos
servem
para
combinar
resultados
de
expressões,
 retornando
se
o
resultado
final
é
verdadeiro
ou
falso.
Os
operadores
lógicos
 são:




AND
|
e
  

Uma
expressão
AND
é
verdadeira
se
todas
as
condições
forem
verdadeiras




Or
|
ou
  

Uma
expressão
OR
é
verdadeira
se
pelo
menos
uma
condição
for
verdadeira




NOT
|
Não
  

Uma
expressão
NOT
inverte
 o
valor
da
expressão
ou
 condição,
se
verdadeira
 inverte
para
falsa
e
vice‐ versa.



 

A
tabela
abaixo
mostra
 todos
os
valores
possíveis
 criados
pelos
três
 operadores
lógicos
(AND,
OR
 e
NOT).




 
Considere
três
variáveis
A
=
5,
B
=
8
e
C
=1




Ficha
6


PSI-Modulo1  

Introdução à algoritmia

Advertisement