Vous êtes sur la page 1sur 33

INF1025 - Mtodos Computacionais

Prof Mozart Gomes


E-mail mozart@unicap.br
Repositrio www.dei.unicap.br/~mozart/MC
CopyRight Prof Gilka Rocha Barbosa
Introduo Computao 2
INF1025 MTODOS COMPUTACIONAIS
EMENTA
Possibilitar ao aluno uma viso geral da
evoluo dos computadores e do uso de
softwares para a resoluo de problemas
tcnicos e cientficos.
Introduo Computao
Contextualizao
A disciplina visa atender aos alunos dos cursos de
engenharia civil, engenharia qumica e engenharia
ambiental como ferramenta nas aplicaes
profissionais, especificamente no que se refere
soluo de problemas tcnicos e cientficos que
envolvem modelagem e simulao. O contedo a
ser trabalhado fornece uma viso bsica dos
sistemas computacionais, alm de habilitar o aluno
par o uso de softwares especficos para a resoluo
de problemas tcnicos e cientficos, como Scilab,
Mathcad, Matlab.
Introduo Computao
O!eti"o#
Geral:
Capacitar o aluno para resoluo de problemas
tcnicos e cientficos que envolvem a rea das
engenharias.
Especficos:
Construir algoritmos.
Realizar clculos em ambientes computacionais.
Construir grficos em ambientes computacionais.
Programar em ambientes computacionais
Introduo Computao 5
INF1025 MTODOS COMPUTACIONAIS
CONTEDO PROGRAMTICO
Introduo aos conceitos da Computao.
os.
Ferramentas de programao.
Noes de programao (Algoritmos).
O uso de programas matemticos.
Software para soluo de problemas tcnicos e
cientficos.
Textos. Frmulas. Vetores e matrizes.
Equaes.
Sistemas de equaes. Grficos. Grficos de
equaes. Limites. Derivadas. Derivao
implcita. Integrais definidas e Indefinidas.
Introduo Computao 6
Breve histria da computao;
Computadores: unidades bsicas, instrues,
programa armazenados, endereamento,
programas em linguagem de mquina;
Conceitos de linguagens algortmicas:
expresses, comandos sequenciais, seletivos e
repetitivos.
Entrada e sada;
Subprogramas: funes;
Variveis estruturadas: vetores e matrizes;
Escopo de identificadores;
Extensa prtica de programao e depurao
de programas.
Contedo
Introduo Computao
Software - Scilab;
o Conhecendo o Scilab;
Introduo Programao no Scilab
o Entrada e Sada de dados.
o Estrutura Sequencial.
o Estrutura Condicional.
o Estruturas de Repetio.
Funcionalidades do Scilab;
o Vetores e Matrizes;
o Sistemas de Equaes;
o Funes;
Contedo
Introduo Computao
Funcionalidades do Scilab (continuao;
o Vetores e Matrizes;
o Sistemas de Equaes;
o Funes;
o Polinmios;
o Derivadas;
o Integrais;
o Grficos no Scilab;
o Grficos 2D;
o Grficos 3D.
Contedo
Introduo Computao
Meto$olo%ia
Os assuntos so ministrados atravs de
aulas expositivas. Conceitos e definies so
explicados com exemplos de vrias
literaturas e atravs de computadores. Aps
a concluso de cada assunto so realizados
exerccios de fixao, com o uso de software
especfico. So realizadas, periodicamente,
atividades extraclasse, complementando o
contedo programtico.
Introduo Computao 10
Fontes de pesquisa
&ilio%'a(ia &)#i*a
Ascencio, Ana Fernanda Gomes. Fundamentos da
programao de computadores. So Paulo: Pearson
Education do Brasil, 2012 - 3 Ed.
Introduo Computao 11
Fontes de pesquisa
&ilio%'a(ia &)#i*a
Farrer, Harry; Algoritmos Estruturados. 3 ed., LTC,
1999.
Introduo Computao 12
Fontes de pesquisa
&ilio%'a(ia &)#i*a
Mrio Leite; Scilab - uma abordagem prtica e
didtica. Rio de Janeiro: Cincia Moderna, 2009.
Introduo Computao 13
Fontes de pesquisa
&ilio%'a(ia Co+,le+enta'
FEDELI, Ricardo Daniel; POLLONI, Enrico Giulio
Franco; PERES, Fernando Eduardo. Introduo cincia
da computao. 2 ed. So Paulo: Cengage Learning,
2010.
FOROUZAN, Behrouz; MOSHARRAF, Firouz.
Fundamentos de cincia da computao. So Paulo:
Cengage Learning, 2011.
MATSUMOTO, E. Y. MAT-A& ./5: fundamentos de
programao. 2. ed. So Paulo: rica, 2004.
MATHCAD 8: user's guide. Cambridge: Mathsoft,
1998.
Introduo Computao 14
Conceitos
O que um COMPUTADOR?
Mquina que recebe dados (entrada),
processa conforme programado, e
fornece dados (sada).
Introduo Computao 15
Aplicativos
Sistema
Operacional
Componentes
Fsicos
Interface de
hardware
Componentes Bsicos
Perifricos
Componentes Multimdia
Componentes de rede
Windows
DOS
Linux
Sistemas de Informa!o
S"BD
Word
C#D
Monitor
$eclado
Processador
Estrutura geral de um sistema de computao
Introduo Computao 16
A evoluo dos sistemas de computador
Primeira gerao (aproximadamente entre 1951 e 1959)
Tecnologia de vlvulas.
Tem como marco inicial o UNIVAC, construdo em 1951.
Segunda gerao(aproximadamente entre 1955 e 1965)
Caracterizada pelos computadores transistorizados.
Tem como marco o TRADIC, construdo em 1955, alm da criao
das linguagens FORTRAN e COBOL,
Terceira gerao (aproximadamente entre 1965 e 1975)
Circuitos Integrados, os Chips. Fios, transistores e outros
componentes em um nico chip.
Quarta gerao(aproximadamente entre 1975 e 1985)
Microcomputadores
Tem como marco inicial o chip 8080 da Intel (1974),
Quinta gerao (a partir de 1985)
Atual gerao dos computadores, notebooks, palmtops e telefonia
mvel, multimdias, computadores inteligentes e a realidade virtual.
Introduo Cincia da Computao 17
Primeiro HD criado pela IBM em 1956
Capacidade: 4,7 MB
Peso: 1 tonelada
Preo: mais de US$ 1.000.000,00
Introduo Cincia da Computao 18
0NIAC:Eletronic Numeric Integrator And Calculator
112.
18.000 vlvulas,
Conseguia fazer 500 multiplicaes por segundo
Ma'3 I 4 1122
- Universidade de Harvard e a IBM
- Ocupava 120 m3
- Tinha milhares de reles e fazia um
barulho infernal.
- Uma multiplicacao de numeros de
10 digitos levava 3 segundos para ser
efetuada.
Introduo Computao 19
Mainframe: grande capacidade de memria e
velocidade de processamento
Mi*'o*o+,uta$o': utilizado em aplicaes pessoais
e domsticas ou como terminais de sistemas
multiusurio
Su,e'*o+,uta$o': voltado resoluo de
problemas que exigem grande capacidade de
processamento em termos de velocidade e preciso
de resultados
Clu#te' $e *o+,uta$o': conjunto de sistemas de
computadores independentes e ligados em rede, mas
que podem ser configurados para realizarem em
conjunto um determinado trabalho de processamento.
Tipos de computadores
Introduo Computao 20
Aplicativos
Sistema
Operacional
Componentes
Fsicos
Interface de
hardware
Componentes Bsicos
Perifricos
Componentes Multimdia
Componentes de rede
Windows
DOS
Linux
Sistemas de Informa!o
S"BD
Word
C#D
Estrutura geral de um sistema de computao
So(t5a'e
6a'$5a'e
Introduo Computao 21
Tecnologias de hardware
Arquitetura bsica de um sistema de computador
%nidade
central de
processamento
%nidade de
entrada
%nidade de
mem&ria
%nidade de
sada
Introduo Computao 22
Unidade de entrada
Formada pelos equipamentos que permitem a
incluso de dados a serem processados pelo
sistema de computador.
A evoluo das tecnologias de entrada de dados
busca mtodos, tcnicas e ferramentas cada
vez mais fceis de utilizar
Teclados
Dispositivos indicadores
Dispositivos de leitura magntica
Dispositivo de leitura tica
Dispositivos de captura de imagens
Dispositivos de captura de udio
Dispositivos de captura de sinais
Introduo Computao 23
Unidade de memria principal
Formada pelos dispositivos que armazenam os
dados e as instrues em processamento pela
Unidade Central de Processamento (UCP/CPU).
Os dados e os programas so armazenados na
memria principal durante o processamento.
Posteriormente, os resultados so liberados
para o armazenamento em memria secundria
ou para a unidade de sada.
A memria principal constituda por diferentes
componentes eletrnicos fabricados com
material semicondutor e denominados chips.
Entre os chips de memria, destacam-se:
RAM (Random Access Memory).
RM (Read nly Memory).
Introduo Computao 24
Unidade de memria secundria
Utilizada em virtude da limitao da memria
principal.
Dispositivos de armazenamento mais baratos que a
memria principal e viabilizam o armazenamento de
grandes volumes de dados por perodos prolongados.
apresenta como desvantagem uma menor velocidade
de acesso em virtude de empregarem mecanismos
eletromecnicos para leitura e gravao dos dados.
meios de armazenamento
Meio +a%n7ti*o
Fitas magnticas.
Discos magnticos
Meio 8ti*o
CD (compact dis!).
DVD ("igital #ideo "is!).
Introduo Computao 25
Memria
1 Byte 2
0
8 bits
1 Kilobyte (KB) 2
10
1024 bytes
1 Megabyte (MB) 2
20
1024 kilobytes
1 Gigabyte (GB) 2
30
1024 megabytes
1 Terabyte (TB) 2
40
1024 gigabytes
1 Petabyte (PB) 2
50
1024 terabytes
1 Exabyte (EB) 2
60
1024 petabytes
1 Zettabyte (ZB) 2
70
1024 exabytes
1 Yottabyte (YB) 2
80
1024 zettabytes
Introduo Computao 26
Tabela ASCII
American $tandard %ode for &nformation &nterchange
http://pt.wikipedia.org/wiki/ASCII
Introduo Computao 27
Unidade Central de
Processamento
Uni$a$e $e *ont'ole.
Comanda todo o sistema de processamento atravs de
cdigos especiais (instrues), que indicam ao computador
as operaes que ele deve realizar e quais os dados a que
elas se referem
Uni$a$e $e a'it+7ti*a e l8%i*a
Formada pelos componentes que realizam clculos
matemticos e comparaes lgicas.
9e%i#t'a$o'e#.
Armazenam as instrues e dados em processamento
Pastilha de silcio composta por duas unidades:
Introduo Computao 28
Unidade de sada
Formada pelos equipamentos que permitem
apresentao de resultados processados pelos
sistemas.
As tecnologias de sadas de dados tm evoludo
no sentido de proporcionar resultados mais
atraentes e fceis de utilizar
Dispositivos de sada em vdeo
Dispositivos de sada impressa
Dispositivos de sada sonora
Introduo Computao 29
In#t'uo um comando que pode ser decodificado
e executado
Al%o'it+o expressa formalmente uma soluo para
um problema atravs de um conjunto finito de
passos, que, ao ser executado, opera certas
estruturas de dados, produz resultados e cumpre
determinado objetivo
P'o%'a+a um algoritmo expresso em linguagem
de um sistema de computador e capaz de executar
Software o conjunto de programas que um
equipamento capaz de executar, uma soluo
para determinado problema
Software
Introduo Computao 30
$oftware
$oftware Exemplo
Bsico
Sistemas Operacionais
'oader
Compiladores
'in!-editores
Suporte
Gerenciador de rede
Controle de espao
Segurana
Aplicativo
Processador de texto
Planilha eletrnica
Edio grfica
Aplicativo
especfico
Sistema de contabilidade
Clculos de estruturas
Folha de pagamento
%surio'
Pro(lema
Hardware
U#u)'io
Software
a,li*ati"o :
#u,o'te
6a'$5a'e
So(t5a'e
)#i*o
Introduo Computao 31
$oftware de suporte
Ferramentas de desenvolvimento de software
empregadas para o desenvolvimento de outro
software.
Gerenciadores de Banco de Dados
Gerenciadores de rede
Linguagens de programao.
Tradutores de linguagens de programao.
....
Introduo Computao 32
Linguagem de programao
Conjunto de termos (vocabulrio) e
de regras (sintaxe) que permitem a
formulao de instrues a um
computador.
1 Gerao: Linguagens Binrias
2 Gerao: Linguagens Assembly
3 Gerao: Linguagens Alto-Nvel
Gerao: Linguagens !onsulta
" Gerao: Linguagens Naturais
Introduo Computao 33
Nvel #e
Abstrao !onsumo #e
$e%ursos
#e
&'uina
(a%ili#a#e
#e
)rogramao
- -
* *
1
2
3

"
Linguagens de Programao
Introduo Computao 34
Por que programar?
O Computador precisa ser "instrudo de como
deve realizar a operao.
Linguagem da mquina diferente da humana
So apenas dgitos binrios (zeros e uns);
Construmos programas que entendem uma
linguagem menos complexa (nvel mais alto);
O programa converte de uma linguagem para a
linguagem da mquina;
Permite escrever as instrues, mas no permite
comandos dbios;
.... Algoritmo .... Programa
Introduo Computao 35
Algoritmo
Um algoritmo formalmente uma
seqncia finita de passos que levam a
execuo de uma tarefa.
Estas tarefas no podem ser
redundantes nem subjetivas na sua
definio, devem ser claras e precisas.
Introduo Computao 36
Exemplo de Algoritmo
Sacar dinheiro num banco 24 horas
Passo 1: Ir at um banco 24 horas.
Passo 2: Colocar o carto.
Passo 3: Solicitar a quantia desejada.
Passo 4: Se o saldo for maior ou igual
quantia desejada, sacar;
caso contrrio,
escolher outro valor e refazer o Passo 2.
Passo 5: Retirar o carto.
Passo 6: Sair do banco 24 horas.
Introduo Computao 37
Representao de Algoritmos
Propriedades de um algoritmo:
descrio deve ser finita;
Ser objetivo nas instrues;
Usar somente um verbo por frase;
Escrever textos simples, para leigos;
Usar frases curtas e simples;
Usar palavras que no tenham sentido
dbio.
Teste de mesa
Testes de verificao da corretude de um
algoritmo de forma simples e interativa.
Introduo Computao 38
1. Somar trs nmeros
1. Fazer um sanduche
1. Trocar uma lmpada
1. Ir para a escola
Algoritmo - exemplos
Introduo Computao 39
Mtodo para construo de algoritmos
a) Ler atentamente o enunciado, destacando os
pontos mais importantes;
b) Definir os dados de sada
Quais dados sero gerados
c) Definir os dados de entrada
Quais dados sero recebidos
d) Definir o processamento
Quais clculos sero efetuados e quais as restries
para esses clculos.
e) Construir o algoritmo utilizando uma
representao escolhida;
f) Testar o algoritmo realizando simulaes.
Introduo Computao 40
Representao de algoritmos
De#*'io na''ati"a
Analisar o enunciado do problema e escrever os
passos a serem seguidos para resoluo do
problema utilizando uma linguagem natural.
Vantagem
No necessrio aprender nenhum novo
conceito.
Desvantagem
a linguagem natural abre espao para vrias
interpretaes, o que posteriormente dificultar
a transcrio desse algoritmo para programa.
Introduo Computao 41
Analisar o enunciado do problema e escrever os
passos a serem seguidos para resoluo do
problema utilizando smbolos grficos
predefinidos.
Vantagem
O entendimento de elemento grfico mais fcil
que o entendimento de textos.
Desvantagem
necessrio aprender a simbologia dos
fluxogramas e o algoritmo resultante no
apresenta muitos detalhes dificultando sua
transcrio para um programa.
Representao de algoritmos
Fluxo%'a+a
Introduo Computao 42
Conjunto de smbolos utilizados no fluxograma
Incio e fim do algoritmo
Indica o sentido do fluxo de dados, serve
exclusivamente para conectar os smbolos
existentes
Clculos e atribuies de valores
Entrada de dados
Sada de dados
Tomada de deciso, indicando a possibilidade se
desvios
Representao de algoritmos
Fluxo%'a+a
Introduo Computao 43
Representao de algoritmos
P#eu$o*8$i%o; Po'tu%ol ou Po'tu%u<# e#t'utu'a$o
Analisar o enunciado do problema e escrever os
passos a serem seguidos para resoluo do problema
por meio de regras predefinidas.
Vantagem
a passagem do algoritmo para qualquer linguagem de
programao quase imediata, bastando conhecer as
palavras reservadas da linguagem de programao.
Desvantagem
necessrio aprender as regras do pseudocdigo
Introduo Computao 44
a) Descrio narrativa
Passo 1: Receber os dois nmeros que sero somados.
Passo 2: Somar nmeros.
Passo 3: Mostrar o resultado obtido.
Exemplo de algoritmo
Mostrar o resultado da soma de dois nmeros
Incio
$ ( )* + ),
N1, N2
$
Fim
*= Pseudocdigo
ALGORITMO soma
DECLARE N1, N2, S : NUMRICO
INICIO
ESCREVA (Digite dois nmeros)
LEIA (N1, N2)
S N1 + N2
ESCREVA (Soma = , S)
FIM
b) Fluxograma
Introduo Computao 45
Exerccios - Usando ,#eu$o*8$i%o
1. Faa um algoritmo para mostrar o resultado do
produto de dois nmeros;
2. Faa um algoritmo para mostrar o resultado da
diviso de dois nmeros;
3. Faa um algoritmo para calcular a mdia
aritmtica entre duas notas de um aluno e para
mostrar a situao desse aluno, que pode ser
aprovado (mdia maior ou igual a 7,0) ou
reprovado;
4. Faa um algoritmo para calcular o novo salrio de
um funcionrio. Sabe-se que os funcionrios que
possuem salrio atual at R$ 500,00 tero
aumento de 20%, os demais tero aumento de
10%.
Introduo Computao 46
Estrutura de um algoritmo
Algoritmo
<declarao de variveis>
Incio
<comandos>
Fim.
P'o*e##a+ento
Da$o# $e
ent'a$a
Da$o# $e
#a>$a
Introduo Computao 47
Estrutura de um algoritmo
Algoritmo soma
declare A, B, C : inteiro;
Incio
leia (A, B);
C A + B;
escreva(`O valor da soma :, C);
Fim.
Introduo Computao 48
Conceitos bsicos - Dados
Os dados so representaes de abstraes
acerca do mundo.
So classificados em tipos.
Tipos podem ser primitivos ou construdos
Tipos primitivos so os tipos fornecidos
pela linguagem de programao de
forma intrnseca.
Inteiros, reais, caracteres, lgico
So a base para a construo de novos
tipos
Introduo Computao 49
Tipos de Dados
Numrico
Nmeros
Inteiros
Reais
Caractere
Smbolos da tabela ASCII
Literal
Agregado de caracteres
Lgico
verdadeiro / falso
Introduo Computao 50
Tipos de Dados
Constante
Determinado valor que no se modifica
durante a execuo de um programa.
Pode ser numrica, lgica e literal.
Pode ou no receber um identificador.
Pode aparecer dentro de expresses.
Ex: num + 2 - 5/val
Introduo Computao 51
Tipos de Dados
Variveis
reas reservadas na memria do
computador para armazenar um tipo de
dado determinado.
So posies de memria, s quais deve-
se associar nomes (identificadores) e um
tipo de dado.
O contedo pode ser alterado durante a
execuo do programa
S podem armazenar um valor a cada
instante
Introduo Computao 52
Tipos de Dados
Variveis - Constantes
a . + /
a, . e 5 so variveis ou constantes?
Introduo Computao 53
Atributos das variveis
Toda varivel tem
um nome (identificador)
um tipo de dado
um valor
val1 val2
real inteiro
x
a
Memria
Introduo Computao 54
Nomes ou identificadores
Regras para definir o nome ou identificador
(nome das variveis, constantes, programas...):
S podem conter letras e dgitos;
Primeiro caractere deve ser uma letra;
Letras maisculas e minsculas podem
ser consideradas caracteres diferentes;
O nico caractere especial aceito o
underline;
Palavras reservadas no podem ser
usadas.
Introduo Computao 55
Exemplo de identificadores
Identificadores
vlidos
A
a
nota
Nota
NOTA
a32
nota_1
Identificadores
invlidos
5b
e 12
x-y
case
prova 2n
Introduo Computao 56
Tipos das variveis
Numrico
Inteiros
-28, 156
Reais
23.45, -9.36
Lgico ou Boleano
Falso
Verdadeiro
Caractere
a, b
Literal
aluno, 1 + 2, ou "aluno, "1 + 2
val1 val2
real inteiro
x
a
Memria
Introduo Computao 57
Valor das variveis
Valor: a varivel contm um valor quando est
sendo usada
val1 val2
inteiro inteiro
x
a
Memria
Ateno! Uma varivel sem inicializao poder conter
um valor qualquer e imprevisvel.
Costuma-se dizer que contm lixo.
Introduo Computao 58
Variveis compostas homogneas
Identificadas por um mesmo nome, individualizadas
por ndices, cujo contedo do mesmo tipo.
Exemplo 1: Notas de 10 alunos (Vetor): N1
N1[3] referencia o terceiro elemento, cujo contedo 9,0
Exemplo 2: Notas de 10 alunos em dois semestres (Matriz): N2
N2[2 , 3] referencia o terceiro elemento da segunda linha, cujo
contedo 1,0
6,0 7,0 9,0 6,0 5,5 9,1 10,0 4,7 7,4 8,6
1 2 3 4 5 6 7 8 9 10
1 6,0 7,0 9,0 6,0 5,5 9,1 10,0 4,7 7,4 8,6
2 10,0 8,0 1,0 0,0 8,0 7,0 10,0 4,0 3,9 2,7
1 2 3 4 5 6 7 8 9 10
Introduo Computao 59
Declarao de variveis
declare 0identificador1 : 0tipo de dado1
Exemplos:
declare X : inteiro;
declare Y : real;
declare Z : caractere;
declare K, M, N : lgico;
Introduo Computao 60
Operaes com variveis
Variveis devem ser declaradas
Exemplo: 02ari32el14 0tipo15
As variveis so modificadas atravs de um
comando de atribuio (=, , ; := ) ou de leitura
Exemplo: Ler <varivel>;
a 3;
a a + 2;
As variveis podem ser impressas
Exemplo: Escre2er (a)5
Existem condies
para testar se a operao pode ser executada
para verificar o resultado (falso/verdadeiro)
Introduo Computao 61
Atribuies
Armazena um valor em uma varivel.
ex:
X 5;
Nome `fulano;
Z X + 9 * 15;
Qual o resultado de ??
A 4
B 5
A B
B A
Introduo Computao 62
Operaes
Conjunto de aes a serem
executadas sobre um conjunto de
objetos
Meio pelo qual incrementamos,
decrementamos, comparamos e
avaliamos dados no computador.
Tipos
Monodicas (--)
Didicas (a+.)
Introduo Computao 63
Combinaes de variveis, constantes e
operadores em uma nica sentena, que tm
como finalidade a obteno de um resultado.
As expresses mais comuns so as aritmticas.
Expresses
Operadores
Smbolos que representam as operaes
Tipos bsicos: aritmticos, relacionais, lgicos e
atribuio
Operaes
Introduo Computao 64
Linearizao de expresso
((2/3-(5-3))+1)*5
T'a$i*ional Co+,uta*ional
Introduo Computao 65
Operadores Aritmticos
Utilizados para obter resultados numricos.
Operao Operador
Exponenciao ** , ^
Radiciao raiz
Multiplicao *
Diviso /
Diviso inteira div, quociente
Resto da diviso resto
Adio +
Subtrao -
Introduo Computao 66
Operao Operador
Igual a =
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
Diferente de <>
Operadores Relacionais
Implementam comparaes entre os dados
Introduo Computao 67
Operao Operador
Conjuno OU
Disjuno E
Negao NO

Operadores Lgicos
Utilizam a lgica .ooleana para a construo de
expresses condicionais
Introduo Computao 68
Tabela Verdade
Negao
A no A
F V
V F


A B Conjuno
A ou B
Disjuno
A e B
V V V V
V F V F
Introduo Computao 69
Prioridade das operaes
Prioridade das Operaes
Potncias e operaes
monodicas
Multiplicaes e divises
Soma e Subtrao
Parnteses alteram a
ordem de execuo
Segue-se da esquerda
para a direita em caso de
indeterminao.
Prioridade
1: parnteses
2: funes
3: unrio
4: ** ^
5: * e /
6: + e -
7: relacionais
8: NO
9: E
10: OU
Introduo Computao 70
A B NOME PROFISSO NOME "ANA"
3 16 "MIRIAN" "ADVOGADO"
5 64 "PEDRO" "MDICO"
2,5 9 "ANA" "PROFESSOR"
PROFISSO =
"MDICO"
A+1B
Variveis Relaes
Operadores lgicos - exemplo
Introduo Computao 71
A B NOME PROFISSO NOME "ANA"
3 16 "MIRIAN" "ADVOGADO" VERDADEIRO VERDADEIRO FALSO
5 64 "PEDRO" "MDICO" FALSO VERDADEIRO VERDADEIRO
2,5 9 "ANA" "PROFESSOR" VERDADEIRO FALSO FALSO
PROFISSO =
"MDICO"
A+1B
Variveis Relaes
Operadores lgicos - exemplo
Introduo Computao 72
X Y Z COR NOME COR = "AZUL"
NOME
"JOS"
1 2 5 "AZUL" "PAULO"
4 3 1 "VERDE" "JOS"
1 1 2 "BRANCO" "PEDRO"
1 2 1 "AZUL" "JOS"
X
2
+Y>Z
Variveis
Relaes
Operadores lgicos - exerccio
Introduo Computao 73
X Y Z COR NOME COR = "AZUL"
1 2 5 "AZUL" "PAULO" FALSO VERDADEIRO
4 3 1 "VERDE" "JOS" VERDADEIRO FALSO
1 1 2 "BRANCO" "PEDRO" FALSO FALSO
1 2 1 "AZUL" "JOS" VERDADEIRO VERDADEIRO
X
2
+Y>Z
Variveis Relaes
Operadores lgicos - exerccio
Introduo Computao 74
a) 2 + 5 > 9 e "MARIA= "MARIA
b) SIM ou Y l X
c) no SIM e quociente (Z,Y) + 1 = X
no falso e quociente (9,5) + 1 = 2
no falso e verdadeiro
"e'$a$ei'o
d) NOME = "JORGE e SIM ou X2 < Z + 10
"MARIA = "JORGE e SIM ou 4 < 19
falso e falso ou verdadeiro
falso ou verdadeiro
"e'$a$ei'o
Operadores lgicos - exerccio
Varivel Tipo Contedo
X numrica 2
Y numrica 5
Z numrica 9
NOME literal "MARIA"
SIM lgica FALSO
Introduo Computao 75
a) 2 + 5 > 9 e "MARIA= "MARIA
falso e verdadeiro
(al#o
> 9 e "MARIA= "MARIA
b) SIM ou Y l X
falso ou 5 >= 2
falso ou verdadeiro
"e'$a$ei'o 5 l 2
falso ou verdadeiro
"e'$a$ei'o
c) no SIM e quociente (Z,Y) + 1 = X
no falso e quociente (9,5) + 1 = 2
no falso e verdadeiro
"e'$a$ei'o
n
d) NOME = "JORGE e SIM ou X2 < Z + 10
"MARIA = "JORGE e SIM ou 4 < 19
falso e falso ou verdadeiro
falso ou verdadeiro
"e'$a$ei'o
Operadores lgicos - exerccio
Varivel Tipo Contedo
X numrica 2
Y numrica 5
Z numrica 9
NOME literal "MARIA"
SIM lgica FALSO
Introduo Computao 76
Funes
Funes
sen(x), cos(x), abs(x), int(x), log(x),
raiz(x)
Introduo Computao 77
Expresses
Combinaes de variveis, constantes
e operadores em uma nica sentena.
X = Y
X <> Y
X + K > Y + 2
(A div B) = 0
(5 < Z) e (3 > 5 + 6 * 31)
4 + ( (3 + 2) * 7)
(4.5 div 5) invlido
X e 5 invlido
Introduo Computao 78
Exerccios
4. Se x possui o valor inicial 15 e se forem
executadas as seguintes atribuies na ordem em
que aparecem, qual o valor final de x?
x x + 2
x x - 6
x x/2
x 2 + 3 * x
5. Qual a seqncia de operaes necessrias
para trocar os valores das variveis -6 y e 7 de
modo que - fique com o valor de y, y fique com
o valor de 7 e 7 fique com o valor de -?
Introduo Computao 79
Atribuio
Atribui valores ou operaes a variveis.
0identificador1 0e-presso 8 identificador1
ex:
X 4;
X x + 1;
y `aula;
teste "falso;
?@ @
Introduo Computao 80
leia (<identificador> [,<identificador> [ ... ] ] );
Captura valores do dispositivo de entrada
especificado (Padro = teclado).
Os dados recebidos so armazenados em
variveis.
Pode conter mensagens.
leia (a)
leia (g, r, b)
leia (`Digite seu nome: `, nome)
Comando de entrada
Pala"'a4
*Aa"e
No+e $a# "a'i)"ei#
na# Buai# #e'o
a'+azena$o# o
"alo'e# ,'o"eniente#
$o +eio $e ent'a$a
Introduo Computao 81
escreva ( <expresso> );
Envia a expresso para o dispositivo de sada
especificado (Padro = tela).
Expresso pode ser uma combinao de
variveis, constantes e mensagens separadas
por vrgulas.
escreva (x)
escreva (`Contedo de Y = `, y)
escreva("O fatorial de, N, " ", fat);
Comando de sada
Pala"'a4
*Aa"e
ConteC$o Bue #e')
+o#t'a$o at'a"7# $e
u+ +eio $e #a>$a/
Faa um Teste de Mesa do algoritmo PRIME.
algoritmo PRIME
declare MA, AA, MES, ANO, A, R, T, CONT : numrico
incio
leia ("Informe o ms e o ano atuais, MA, AA)
leia ("Informe o ms e o ano do seu nascimento, MES, ANO)
se MES <= MA
A AA - ANO
R MA - MES
seno
A AA - ANO - 1
R 12 - MES + MA
fim-se
CONT 0
T 11 - MA
enquanto T > 0
CONT CONT + 1
T T - 1
fim-enquanto
escreva (`Tenho`, A , `anos e, R, `meses)
escreva (`Faltam `, CONT, ` meses para as frias)
fim
Problema da mdia final
Introduo Computao 83
algoritmo media
declare nota1, nota2, media: numrico
incio
escreva (`Digite dois nmeros)
leia nota1
leia nota2
media (nota1+nota2) / 2
escreva ("A mdia :, media)
fim
Representao do algoritmo
Introduo Computao 84
leia
Instrui o recebimento de um valor, o qual
ser armazenado na varivel indicada.
media (nota1+nota2)/2
Representa um clculo, onde a seta ( )
indica a varivel que receber o resultado
escreva
Faz com que o contedo armazenado na
varivel media seja escrito na sada padro
Representao do algoritmo
Comece com a palavra ALGORITMO
Declare os dados que sero
manipulados pelo programa
(variveis) com a palavra DECLARE e
indique o tipo de dado
As demais linhas devem estar
alinhadas em uma margem mais
direita.
Termina com a palavra FIM
Introduo Computao 85 Introduo Computao 86
Estrutura de um algoritmo
Algoritmo 0nome do algoritmo15
declarao de 2ari32eis5
in9cio
comando *5
comando ,5
....
comando n5
fim
Introduo Computao 87
Exerccio
6. Dados trs valores positivos, a, b e c,
determine a sua mdia aritmtica, harmnica,
geomtrica e ponderada com pesos de 1, 2 e
3 respectivamente.
Introduo Computao 88
Exerccio
7. Foram digitadas trs linhas. Cada
uma delas contm o nome e a nota de
um aluno.
a) Escrever o(s) comando(s) de entrada
que leiam estas linhas e armazene(m)
os valores na memria
b) Escrever o(s) comando(s) de sada
que imprima(m) o contedo das
posies de memria da questo
anterior.
Introduo Computao 89
Identao
So espaos utilizados nas linhas de
comandos de forma a refletir o alinhamento;
Facilitam a identificao das estruturas;
Facilitam a identificao dos comandos que
"pertencem a uma estrutura;
...<nvel 1>
.......<nvel 2>
Comandos do nvel 2
.......<fim - nvel 2>
...<fim - nvel 1>
Estruturas
Estrutura seqencial;
Estrutura condicional;
Estrutura de repetio;
Introduo Computao 90
Introduo Computao 91
Estrutura Seqencial
Os comandos so executados na ordem
em que aparecem, de cima para baixo.
Algoritmo $E:;E)%&A;
declare <lista de 2ari32eis>;
inicio
<comando 1>
<comando 2>
...
<comando n>
fim.
Os comandos sero
executados na ordem
em que aparecem.
Introduo Computao 92
Ex.:
Algoritmo Media
declare Nome : literal
Nota1, Nota2, Media : real
inicio
escreva (`Digite o nome do aluno: )
leia (nome)
escreva (`Digite as 2 notas: )
leia (nota1, nota2 )
media ( nota1 + nota2 ) / 2
escreva (`A mdia de `, nome,` : , media )
fim
Exerccio:
Faa um Teste de Mesa do algoritmo Mdia para 3 alunos.
Estrutura Seqencial
Introduo Computao 93
Exerccios
8. Dados dois nmeros inteiros A e B, calcular e
exibir: C=A+B+7, D=AB-A, E=A2, F=2A-5B,
G=5A/B-7A, H=5A/(B-7A), J=(A3-senB)/7.
9. Dado o raio de uma circunferncia, calcular sua
rea e seu permetro
10. Dado um nmero real x, calcular e exibir as
imagens de f(x)=5x4-x3 e de g(x)=5senx-2cosx
11. Ler dois nmeros inteiros e positivos X e Y e
efetuar as operaes de adio, subtrao,
multiplicao, diviso de X por Y e a raiz quadrada
do produto de X por Y.
Introduo Computao 94
Exerccios
12. Dada a temperatura de um corpo, em graus
Fahrenheit, calcular e exibir o valor da referida
temperatura em graus Celsius e em Kelvin.
13. Um aluno comprou trs itens em uma
papelaria. Para cada item so conhecidos: nome,
preo e percentual de desconto. Mostrar o nome do
item, o preo do item, o preo do item com
desconto e o total a pagar
14. Dado um nmero inteiro de segundos,
determinar o seu valor equivalente em horas,
minutos e segundos. Testar para 16723.
Introduo Computao 95
Permite a escolha entre blocos de
comandos alternativos.
Estrutura de Controle Condicional
Estrutura de Desvio Condicional,
Controle Condicional,
Deciso ou
Seleo
Introduo Computao 96
A tomada de deciso
Em muitas situaes, necessrio executar
um grupo de aes dependendo do
resultado de certas avaliaes.
Imagine o caso de identificar se um aluno
foi ou no aprovado. O resultado depende
da avaliao da mdia obtida pelo aluno.
Usamos o desvio condicional para executar
um grupo de comandos dependendo do
resultado de uma expresso lgica.
Introduo Computao 97
Desvio condicional simples
comandos Condio
Verdadeira
Falsa
Se a condio for verdadeira, provocar um
desvio e executar o bloco de comandos.
Introduo Computao 98
Desvio condicional simples
...
se <condio>
[ento]
<instruo para condio verdadeira>
fim-se
...
Condio uma expresso lgica.
Se o resultado da condio for verdadeiro, ser
executado o comando aps a palavra ento.
Caso a condio resulte em falso, ou aps a
execuo da instruo, o programa continua
executando os comandos aps o fim-se.
Introduo Computao 99
Algoritmo Condicional_Simples;
declare N1, N2, Media : real
inicio
escreva( `Digite duas notas: )
leia(N1, N2)
Media (N1 + N2)/2
se (Media < 7,0)
escreva (`Deve fazer o Exame Final)
fim-se
escreva (`Mdia = , Media)
fim
Desvio condicional simples
Introduo Computao 100
Desvio condicional composto
Se a condio for verdadeira, executar
o bloco de comandos A, caso contrrio,
executar o bloco B. Nunca os dois.
Comandos A Condio
Verdadeira Falsa
Comandos B
Introduo Computao 101
Desvio condicional composto
...
se <condio>
[ento ]
<instruo para condio verdadeira>
seno
<instruo para condio falsa>
fim-se
///
Se o resultado da condio for verdadeiro, ser
executado o comando aps a palavra ento,
caso contrrio, ser executado a instruo aps
a palavra seno.
Somente uma das duas ser executada. Aps,
o programa continua...
Introduo Computao 102
Algoritmo Condicional_Composto
declare N1, N2, Media : real
inicio
escreva ( `Digite duas notas: )
leia (N1, N2)
Media (N1 + N2)/2
se (Media < 7.0)
ento
escreva (`Aluno Reprovado!!!)
seno
escreva (`Aluno Aprovado!!!)
fim-se
escreva (`Mdia = , Media)
fim
Desvio condicional composto
Introduo Computao 103
Bloco de Comandos
Pode-se utilizar um grupo de
comandos ao invs de uma nica
instruo.
se Media < 7,0
ento
escreva (`Digite NotaFinal:)
leia (NotaFinal)
MediaFinal (Media+NotaFinal) / 2
seno
escreva(`Aprovado.)
fim-se
Introduo Computao 104
Aninhamento de Estruturas
Uma estrutura pode conter outras
estruturas subordinada a ela.
No h limites para a quantidade de
nveis de aninhamento.
Introduo Computao 105
Algoritmo Condicional_Aninhado
declare N1, N2, Media : real
inicio
escreva ( `Digite duas notas:, N1, N2)
Media (N1 + N2)/2
se (Media < 7,0)
se (Media < 3)
escreva(`Aluno Reprovado!!!)
seno
escreva ("Aluno em final)
fim-se
seno
escreva(`Aluno Aprovado!!!)
fim-se
escreva(`Mdia = , Media)
fim
Desvio condicional aninhado
Introduo Computao 106
Exerccios
15. Considerando A=3, B=2, C=5 e D=7,
qual o valor de X?
a) se no (D > C)
X (A + B) * D
seno X (A - B) / C;
b) se (A > 2) e (B > 7)
X (A + 2) * (B - 2)
seno X (A + B) / C * (C + D);
c) se (A > 2) ou (B > 7)
X (A + 2) * (B - 2)
seno X (A + B) / D * (C + D);
Introduo Computao 107
Exerccios
16. Ler trs valores inteiros e distintos (A, B e C)
e apresentar o maior valor.
17. Dados dois valores reais, apresentar a
diferena do maior pelo menor.
18. Dado um nmero inteiro positivo, informar se
o nmero lido par ou mpar.
19. Faa um algoritmo que para calcular as razes
reais de uma funo quadrtica, dados os valores
de a, . e c.
f (x)=ax
2
+bx+c
Introduo Computao 108
Exerccios
20. Construa um algoritmo que receba 2 nmeros
e, se o primeiro nmero for maior que zero e menor
que 10, mostre a soma destes nmeros; caso
contrrio, mostre a multiplicao deles.
21. Construa um algoritmo que receba cinco grupos
de 2 nmeros e mostre a soma destes nmeros;
22. Faa um algoritmo que receba dois nmeros e
mostre o maior deles;
23. Faa um algoritmo que receba trs nmeros e
mostre-os em ordem crescente.
Introduo Computao 109
Exerccio
Construa um algoritmo escrito em
PseudoCdigo para ler um conjunto de dois
valores, o primeiro valor corresponde ao
nmero do aluno, o segundo valor corresponde
sua mdia anual. Encontre e mostre o nmero
e a mdia do aluno que obteve a maior mdia
da turma. A leitura do conjunto ser encerrada
ao se informar um valor 0 (zero) para o nmero
e um valor zero para a mdia do aluno.
Introduo Computao 110
Estruturas de Repetio
Permitem a execuo de comandos
repetidas vezes.
Repetio condicional
A repetio acontecer com base em
uma condio.
Condio no incio
Condio no final
Repetio com varivel de controle
A repetio ser controlada por uma
varivel (contador)
Introduo Computao 111
Condio no incio
comandos condio
Verdadeira
Falsa
Se a condio for verdadeira, os
comandos sero executados e o processo
reinicia; caso contrrio, a repetio no
acontecer
Introduo Computao 112
Interrupo no incio
enquanto <condio> [faa]
[incio]
<comandos>
fim-enquanto
Exemplo 1
leia ("Digite um nmero: ", Y)
X 0
enquanto (X<Y)
escreva ( X )
X X + 1
fim-enquanto
Sintaxe
Introduo Computao 113
Exemplo: Calcular a mdia de vrias notas. A nota = -1
indica que j foram informadas todas as notas (flag).
Algoritmo Media
declare Nota,N,Total : numerico
inicio
leia(Nota)
Total 0
N 0
enquanto (Nota<>-1)
Total Total + Nota
N N + 1
leia (Nota)
fim-enquanto
se N > 0
entao
Media Total / N
escreva ( Media )
seno
escreva ( "Notas no informadas)
fim-se
fim
Introduo Computao 114
Exerccios
24. Escrever um programa que l dois nmeros
inteiros: inicial e final, e mostra os nmeros
inteiros existentes entre o nmero inicial e o final
(inclusive). Crtica: o nmero final deve ser maior
do que o inicial.
25. Implemente um programa que calcula a soma
dos nmeros pares entre dois nmeros lidos
(inclusive).
26. Escrever programa para calcular e escrever,
para N (inteiro) lido, o valor de S, dado por
S=
1
N
+
2
N 1
+
3
N 2
+. ..+
N 1
2
+
N
1
Introduo Computao 115
Interrupo no final
comandos
Condio
Verdadeira
Falsa
O bloco de comandos executado uma vez.
Se a condio for falsa, os comandos sero
executados novamente;
Caso contrrio, a repetio no acontecer e o
programa continua.
Introduo Computao 116
Interrupo no final
Faa
<comandos>
Enquanto <condio>
Exemplo 1
X 0
Faa
escreva ( X )
X X + 1
enquanto (X < 5)
Sintaxe
Introduo Computao 117
leia(Nota)
N 0
faa
Total Total + Nota
N N + 1
leia (Nota)
enquanto Nota <> -1
se N > 0
Media Total / N
escreva ( Media )
seno
escreva ( "Notas no informadas)
fim-se
Exemplo: Calcular a mdia de vrias notas. A nota = -1
indica que j foram informadas todas as notas (flag).
Introduo Computao 118
Varivel de Controle
Repeties que possuem um nmero finito de
execues (conhecido) podem ser processadas
atravs de uma repetio controlada por uma
varivel de controle do tipo contador;
Podem ser crescentes ou decrescentes;
A execuo dos comandos deve acontecer para
cada valor de um determinado conjunto de
valores. Em cada repetio, a varivel de
controle assume um dos valores do conjunto.
Quando a varivel tiver assumido uma vez
cada valor, ento a repetio termina.
Introduo Computao 119
Varivel de controle
A varivel de controle (VarControle) assumir cada
elemento entre o ValorIni e o ValorFim;
Na primeira vez, a varivel de controle assume o
ValorIni e executa os comandos uma vez. Ao terminar
a execuo, assume o sucessor de ValorIni e executa
novamente. Ao assumir o ValorFim e executar os
comandos, a repetio interrompida;
Algumas linguagens aceitam definir o tamanho do
incremento.
para <VarControle> <ValorIni> at
<ValorFim> [de <Incremento>] [faa]
[incio]
<comandos>
fim-para
Sintaxe
Introduo Computao 120
Varivel de Controle
Exemplo 1
para X 1 at 10 faa
escreva ( X )
fim-para
Exemplo 2
z 0
para X 1 at 5
leia ( Y )
z z + Y
fim-para
x z/X
Escreva (x)
Introduo Computao 121
Acompanhe a execuo dos algoritmo Primo com os valores 4 e 5
da varivel N e informe o resultado da varivel P.
ALGORITMO Primo
declare N, Max, Aux, Resto, k : inteiro
declare P : lgico
inicio
leia (`Digite um nmero, N)
Aux 1
P VERDADE
Max N / 2
k2
enquanto (P = VERDADE) e (k Max)
Resto N - (N/k * k)
se (Resto = 0)
P FALSO
fim-se
k k + 1
fim-enquanto
se (P = VERDADE)
escreva (N, primo)
fim-se
fim
Introduo Computao 122
Exerccios
27. Construa um algoritmo que receba um valor N inteiro e
positivo, calcule e mostre o fatorial de N (N!).
28. Construa um algoritmo que leia dez conjuntos de dois
valores, o primeiro valor corresponde ao nmero do aluno,
o segundo valor corresponde sua altura em centmetros.
Encontre e mostre o nmero e a altura do aluno mais baixo
e do aluno mais alto.
29.Faa um algoritmo que leia cinco pares de valores (a,b),
todos inteiros, positivos, um de cada vez. Mostre os
nmeros inteiros pares de a at b (inclusive) para cada par
de nmero lido.
30.Faa um algoritmo que leia o nmero de termos e um
valor positivo para x, calcule e mostre o valor da srie:
s=
x
2
1!
+
x
3
2!

x
4
3!
+
x
5
4!

x
6
5!
+
x
7
6!
.. .
Introduo Computao 123
Vetores
Vetor uma varivel composta homogenia
unidimensional formada por uma
seqncia de variveis do
mesmo tipo, com o mesmo
identificador e alocadas
sequencialmente na memria.
As variveis so distinguidas por ndices
Declarao
declare nome[tamanho] : tipo
Nome:
0 1 2 3 4 5 6 7
Introduo Computao 124
Vetores
Representao
declare v[8] : inteiro
elemento
varivel
1 2 3 4 5 6 7 8
V[1] V[2] V[3] V[4] V[5] V[6] V[7] V[8]
56 2 30 4 50 6 17 87
valor
Introduo Computao 125
Exemplo
* declarar
declare v[5] : numrico
* Atribuir valor
v[1] 45
v[4] 0
* Carregar
para i 1 at 5
escreva ("Digite o ", i, " elemento)
leia v[i]
fim-para
* Mostrar
para i 1 at 5
escreva ("Este o ", i, " elemento do vetor: , v[i])
fim-para
Introduo Computao 126
Exerccio - Calcular a mdia geral de uma
turma de 15 alunos.
declare MD1, MD2, MD3, MD4, MD5, MD6, MD7, MD8,
MD9, MD10, MD11, MD12, MD13, MD14,
MD15, SOMA, MEDIA : real
inicio
SOMA 0
Escreva('Informe as 15 medias')
leia(MD1,MD2,MD3,MD4,MD5,MD6,D7,MD8,MD9,
MD10, MD11, MD12, MD13,MD14,D15)
SOMA MD1 + MD2 + MD3 + MD4 + MD5 + MD6
+ MD7 + MD8 + MD9 + MD10 + MD11
+ MD12 + MD13 + MD14 + MD15
MEDIA SOMA / 15
escreva (` Media =`, MEDIA)
fim
Introduo Computao 127
Algoritmo Usa_Vetor
declare I : inteiro;
MD[15], SOMA, MEDIA : real
inicio
SOMA 0
para I 1 at 15
escreva(`Informa a ,I,` media)
leia MD[ I ]
SOMA SOMA + MD[ I ]
fim-para
MEDIA SOMA / 15
escreva (` Media =`, MEDIA)
fim
Exemplo - Calcular a mdia geral de uma
turma de 15 alunos.
Introduo Computao 128
Matrizes
Varivel composta homogenia bidimensional formada
por uma seqncia de variveis do mesmo tipo, com
o mesmo identificador e alocadas seqencialmente na
memria.
As variveis so distinguidas por ndices
As variveis so compostas por linhas e colunas
Declarao
declare nome[linha, coluna] : tipo
"a'i)"el
linAa
1 2 ///
*oluna
1
2
///
Introduo Computao 129
Matrizes
Representao
declare m[4,4] : inteiro
linha
varivel
1 2 3 4
v[1,1] v[1,2] v[1,3] v[1,4]
v[2,1] v[2,2] v[2,3] v[2,4]
coluna
1
2
3
v[4,1] v[4,2] v[4,3] v[4,4] 4
v[3,1] v[3,2]
v[3,3] v[3,4]

Exemplo
* declarar
declare m[3,2] : numrico
* Atribuir valor
m[1,2] 45;
m[3,2] 0
* Carregar
para i 1 at 3
para J 1 at 2
escreva ("Digite o contedo da linha ", i, " e coluna , j)
leia m[i,j]
fim-para
fim-para
* Mostrar
para i 1 at 3
para J 1 at 2
escreva ("Linha ", i, " e coluna , j, ": ", m[i,j])
fim-para
fim-para
Introduo Computao 131
Exerccios
31. Sabe-se que:
1 p = 12 polegadas
1 jarda = 3 ps
1 milha = 1.760 jardas
Faa um algoritmo que receba uma medida em ps, faa as
converses a seguir e mostre os resultados em Polegadas,
Jardas e Milhas.
32. Faa um algoritmo que receba o ano de nascimento de uma
pessoa e o ano atual, calcule e mostre:
a) A idade dessa pessoa;
b) Quantos anos essa pessoa ter em 2015
33. Construa um algoritmo que receba cinco grupos de 2
nmeros pelo teclado e mostre a soma destes nmeros;
34. Altere o algoritmo acima para ler um nmero qualquer de
pares.

Vous aimerez peut-être aussi