LINGUAGEM ALGORÍTMICA Introdução

Propaganda
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
LINGUAGEM
ALGORÍTMICA
Adriano Mauro Cansian
André Proto
UNESP - São José do Rio Preto
______________________________
Linguagem Computacional
Introdução
•! Para uma melhor padronização de
nosso estudos, vamos agora definir
uma linguagem para a construção de
nossos algoritmos.
•! Antes de começarmos a definir as
operações básicas de nossa linguagem
algorítmica, é importante definir o
conceito de variável.
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
2
1
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Conceito de variável (1)
•! Na Matemática: uma variável é a
representação simbólica de um
elementos matemático.
•! Nos algoritmos:
–!Queremos resolver um problema no
computador.
–!Uma variável vai “carregar” um
determinado valor de dados.
Adriano Mauro Cansian
3
Conceito de variável (2)
•! Definição mais formal: a cada variável
corresponde uma posição de memória.
–! Cujo conteúdo pode variar (mudar) ao longo
do tempo durante a execução de um algoritmo.
•! Embora a variável possa assumir diferentes
valores, ela só pode armazenar um valor a
cada instante.
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
4
2
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Conceito de variável (3)
•! Toda variável é identificada por um nome ou
identificador.
•! Por exemplo, num algoritmo para calcular a
área de um triângulo retângulo pelo teorema
de Pitágoras (a2 = b2 + c2):
–! Os identificadores (ou “nomes”) A, B e C podem
representar as posições de memória que
armazenam o valor da hipotenusa e dos catetos.
–! Mas estes identificadores poderiam ser chamados
também de: LADO_A, LADO_B e LADO_C
Adriano Mauro Cansian
5
Conceito de variável (4)
•! Observação importante: para um nome de
variável, nunca devemos usar uma “palavra
reservada”.
•! Uma palavra reservada é alguma palavra ou
comando que faça parte da linguagem
algorítmica.
–! Pois causa ambigüidade no entendimento do
algoritmo.
–! Palavras reservadas serão vistas mais adiante.
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
6
3
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Conceito de variável (4)
•! Na nossa linguagem algorítmica, vamos
admitir que nossas variáveis poderão
armazenar (carregar) valores
numéricos ou alfanuméricos
(“strings”).
Agora que sabemos o que é uma variável,
veremos as definições das operações
básicas de nossa linguagem algorítmica.
Adriano Mauro Cansian
7
Colocando dados na variável
•! Há duas maneiras de se colocar dados numa
variável:
1.!Através de uma operação de “atribuição”.
–! Variável “recebe” um valor.
2.!Através de uma operação de “leitura”.
–! Um valor é lido (no teclado) e colocado na
variável.
Veremos a seguir...
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
8
4
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Operação de atribuição (1)
•! A operação de atribuição permite
armazenar um valor numa variável.
•! Variações:
–!Se for atribuído uma expressão à variável,
será armazenado o resultado final
daquela expressão.
–!Se for atribuído uma outra variável, será
armazenado o conteúdo daquela variável.
Adriano Mauro Cansian
9
Operação de atribuição (2)
•! Para a operação de atribuição,
utilizaremos a seguinte sintaxe:
variável ! expressão
•! Onde o símbolo “!” denota o operador
de atribuição (dizemos “recebe”).
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
10
5
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Exemplos de atribuições
Adriano Mauro Cansian
11
Operações de Entrada e Saída (1)
•! Para fazer operações num computador:
1.!Deve ser possível fornecer os dados sobre os
quais o computador vai operar.
–! Entrada de dados.
2.!Deve ser possível ver os resultados das
operações feitas sobre os dados.
–! Saída de dados
•! Operações de E/S, ou operações de I/O
(Input/Output).
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
12
6
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Comandos de Entrada e Saída
•! Definimos agora dois novos comandos da
nossa linguagem algorítmica para manusear
entrada e saída:
•! O comando leia nos permite ler valores
dados, atribuindo-os à variáveis indicadas;
–! Leia recebe os dados do dispositivo de entrada e
automaticamente atribui à variável associada.
•! O comando escreva nos permite mostrar os
resultados.
Adriano Mauro Cansian
13
Operações de Entrada e Saída (2)
•! A entrada pode vir do teclado, ou de
qualquer outro dispositivo de entrada.
•! A saída pode aparecer na tela do
monitor de vídeo, ou ser impressa em
papel.
–!Por enquanto não nos preocuparemos com
detalhes destes dispositivos.
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
14
7
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Sintaxe de entrada e saída
•! As sintaxes destes comandos são:
leia variável-1, variável-2, ..., variável-n
escreva expressão-1, expressão-2, ..., expressão-n
Adriano Mauro Cansian
15
Se op = ‘+’ então { R ! X + Y;
escreva(“A soma é =“, R); }
Se op = ‘-’ então { R ! X - Y;
escreva(“A diferença é =“, R); };
Se op = ‘*’ então { R ! X * Y;
escreva(“A multipl é =“, R); };
Se op = ‘/’ então { R ! X / Y;
escreva(“A divisão é =“, R); }
Se op ! (+,-,*,/)
então escreva (“tente outra vez”);
fim
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
16
8
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Exemplos
Adriano Mauro Cansian
17
Estrutura Sequencial
Prof. Dr. Adriano Mauro Cansian
9
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
!! Sequencial !!
•! Num algoritmo (e num programa), os
comandos deverão ser executados numa
sequência linear.
–! Segue-se o texto na ordem em que estão escritos
os comandos, de cima para baixo.
–! A menos que exista alguma indicação especial em
contrário.
•! Em nossa linguagem algorítmica, os
algoritmos são iniciados com a palavra início
e finalizados com a palavra fim.
Adriano Mauro Cansian
19
Na Linguagem Algorítmica:
•!
Linguagem Algorítmica:
inicio
comando-1
comando-2
...
comando-n
Exemplo:
início
leia A,B
SOMA ! A + B
escreva SOMA
fim
fim
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
20
10
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
No Fluxograma
INICIO
Comando-1
Comando-2
Comando-n
FIM
Adriano Mauro Cansian
21
Estrutura Condicional (1)
•! A estrutura condicional permite
escolher um grupo de ações e
estruturas a serem executados quando
(ou “SE”) determinadas condições
forem ou não satisfeitas.
•! Também conhecida como estrutura de
DECISÃO.
–!Decide qual caminho deve seguir na
execução do algoritmo.
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
22
11
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Estrutura Condicional (2)
•! “SE” determinada condição for verdadeira,
segue um caminho.
•! “SE” determinada condição for falsa, segue
outro caminho.
–! As condições são sempre expressões lógicas:
•! Resultam em Verdadeiro ou Falso.
•! Estrutura condicional pode se apresentar de
duas formas:
–! Estrutura condicional simples.
–! Estrutura condicional composta.
Adriano Mauro Cansian
23
Estrutura Condicional Simples (1)
•! Também chamada de
Exemplo:
“se-então”.
...
se MÉDIA ! 7 então
início da condicional
se condição for verdadeira
então
comando-1
comando-2
...
comando-n
SITUAÇÃO ! 'Aprovado'
Escreva SITUAÇÃO
...
fim da condicional
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
24
12
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Estrutura Condicional Simples (2)
Falso:
Não executa
Verdadeiro:
Condição
comandos
Executa comandos
Comando-1
Comando-2
Comando-n
Adriano Mauro Cansian
25
Estrutura condicional composta (1)
•! SE condição “x” verdadeira
então <execute estes comandos “A”>
SENÃO <execute estes comandos “B”>
“SENÃO” quer dizer:
se a condição “x” for falsa
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
26
13
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Estrutura condicional composta (2)
Exemplo:
...
se PESO > 80 então
se condição então
comando-A1
comando-A2
...
comando-An
senão
comando-B1
comando-B2
...
comando-Bn
escreva 'Você está obeso'
escreva 'Faça atividades
físicas'
senão
escreva 'Você está no
peso certo'
escreva 'Procure manter
sua forma'
...
Adriano Mauro Cansian
27
Estrutura condicional composta (3)
SENÃO (falso):
SE (verdadeiro):
Executa
comandos A
Executa
F
Condição
comandos B
V
Comando-A
1
Comando-A
2
Comando-A
n
Comando-B
1
Comando-B
2
Comando-B
n
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
28
14
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Estrutura de Repetição
Estrutura de repetição (1)
•! Estrutura de repetição executa uma
sequência de comandos,
repetidamente, até que uma
determinada condição não seja
satisfeita.
•! Também conhecida como “laço”.
•! Utilizaremos o comando enquanto para
representar esta estrutura.
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
30
15
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Estrutura de repetição (2)
ENQUANTO uma condição for verdadeira
EXECUTA COMANDOS.
QUANDO a condição for falsa
Pára de executar comandos.
Adriano Mauro Cansian
31
Estrutura de repetição (3)
enquanto condição
verdadeira
comando-A1
comando-A2
...
comando-An
Exemplo:
...
leia SENHA
enquanto SENHA <>
’apple’
escreva 'Senha inválida'
escreva 'Digite a senha
novamente'
leia SENHA
...
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
32
16
2 - Linguagem Algorítmica
UNESP - Campus de São José do Rio Preto
Estrutura de repetição (4)
Condição
Falso
Verdadeiro
Comando-A1
Comando-A2
Comando-An
Adriano Mauro Cansian
33
Resumo
•! Neste tópico vimos:
–! Conceito de variável.
–! Conceito de comandos e atribuições
–! Operações de entrada e saída.
–! Estruturas de decisão (se)
–! Estruturas de repetição (enquanto)
•! Estes conceitos e estruturas formam a base de
nossa linguagem algorítmica, que aos poucos irá
se tornar uma linguagem de programação.
Adriano Mauro Cansian
Prof. Dr. Adriano Mauro Cansian
34
17
Download