Você está na página 1de 39

Noes de Programao

Victor Dalton
Instagram: @victordalton
Facebook: Facebook.com/professorvictordalton
Youtube: youtube.com/victordalton

Linguagens de programao
Meio de comunicao entre mquinas e humanos

Alto nvel mais prximas da comunicao humana. Exige


traduo para linguagem binria (compilador).
ALGORITMO SOMA(numero 1, numero 2);
VAR A, B, C: INTEIRO;
A = numero1;
B= numero2;
INICIO
C = A+B;
Escrever (C) FIM.

Linguagem de programao
Meio de comunicao entre mquinas e humanos

Baixo nvel interpretadas diretamente pelo computador.


Linguagem binria, Assembly
MOV r0, #0C ;
LOAD: MOV r1,(r0) ;
CALL PRINT;
INC r0 ;
JMP LOAD;

Lgica de programao
Lgica de Programao a tcnica de encadear pensamentos, com o intuito
de atingir determinado objetivo.

Como acessar um curso do Estratgia?


1.Ligar o computador;
2.Abrir o navegador de Internet;
3.Acessar o site do Estratgia;
4.Selecionar o curso;
5.Confirmar a compra;
6.Se no for usurio cadastrado do site, preencher cadastro;
7.Realizar o pagamento;
8.Acessar os PDFs.

Lgica de programao
A lgica de uma determinada tarefa ou atividade centrada em um algoritmo.
Um algoritmo uma sequncia finita de passos que levam execuo de
determinada tarefa ou conjunto de tarefas.
Por exemplo, um algoritmo que calcule a mdia entre dois nmeros inteiros
dever:
1.
2.
3.
4.

Ler dois nmeros inteiros;


Realizar uma soma entre os nmeros;
Dividir por dois o nmero obtido anteriormente;
Escrever o resultado.

Lgica de programao
Os algoritmos so definidos por cinco caractersticas. So elas:
Finitude: um algoritmo tem de terminar ao fim de um nmero finito de passos;
Clareza/definio: cada passo do algoritmo tem de ser definido com preciso,
sem ambiguidades;
Entrada: um algoritmo pode ter zero ou mais entradas;
Sadas: um algoritmo tem uma ou mais sadas;
Eficcia/efetividade: todas as operaes feitas por um algoritmo tm de ser
suficientemente bsicas.

Lgica de programao
Na computao, comum a escrita de algoritmos em uma linguagem comum,
que seja independente de linguagem de programao. Esta linguagem se chama
pseudocdigo, ou portugol.
ALGORITMO MEDIA_FINAL;
VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;
NOME: CARACTERE [35]
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA:= (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
ESCREVER (NOME, MEDIA)
FIM.

Formas de representao de um algoritmo


A descrio narrativa descreve o algoritmo em linguagem natural. Vamos
escrever um algoritmo para calcular a mdia de dois nmeros:
1.Digite o primeiro nmero;
2.Digite o segundo nmero;
3.Caso os dois nmeros sejam iguais a zero, volte ao passo 1;
4.Some os dois nmeros e divida por 2;
5.Imprima o resultado encontrado.

Formas de representao de um algoritmo


Fluxograma ou diagrama de blocos

Formas de representao de um algoritmo


Pseudocdigo ou Portugol forma mais trabalhada

ALGORITMO MEDIA_FINAL;
VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;
NOME: CARACTERE [35]
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA:= (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
ESCREVER (NOME, MEDIA)
FIM.

Elementos de um algoritmo
Varivel
Espao da memria do computador que armazena um dado. No algoritmo, a varivel pode
ser manipulada pelas instrues, modificando e trabalhando seus valores.
Uma varivel recebe um nome (tambm chamado de identificador), que a diferencia das
demais, no algoritmo. Normalmente atribui-se um nome intuitivo varivel, para facilitar
o entendimento do prprio algoritmo.
ALGORITMO MEDIA_FINAL;
VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;
NOME: CARACTERE [35]; (tipo de varivel, texto at 35 caracteres)
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA:= (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
ESCREVER (NOME, MEDIA)
FIM.

(tipo de varivel, nmero inteiro)

Elementos de um algoritmo
Constante
Constante, conforme o prprio nome diz, difere da varivel por no permitir
modificao em seus valores pelo algoritmo.
ALGORTIMO AREA_CIRCUNFERENCIA;
CONST PI = 3.1416;
VAR RAIO, AREA: REAL;
INICIO
LER (RAIO);
AREA:= PI * SQR(RAIO);
ESCREVER (AREA =, AREA)
FIM.

Elementos de um algoritmo
Declarao de variveis
Um algoritmo, via de regra, inicia-se pela declarao de variveis. Perceba no nosso
algoritmo exemplo, destacado em azul.
ALGORITMO MEDIA_FINAL;
VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;
NOME: CARACTERE [35]
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA:= (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
ESCREVER (NOME, MEDIA)
FIM.
As constantes tambm so declaradas no incio do algoritmo, juntamente com as
variveis.

Elementos de um algoritmo
Instruo
A instruo o passo, ou etapa do algoritmo. Normalmente, a linha
de cdigo seguida de ponto-e-vrgula.

Elementos de um algoritmo
Conjunto de instrues
O conjunto de instrues a inteligncia do algoritmo, a sua razo de ser. Veja, em
destaque, no mesmo algoritmo:
ALGORITMO MEDIA_FINAL;
VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;
NOME: CARACTERE [35]
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA:= (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
ESCREVER (NOME, MEDIA)
FIM.
Em pseudocdigo, costuma-se utilizar Inicio e Fim para delimitar o conjunto de
instrues.

Tipos de variveis
Os tipos primitivos mais comuns de variveis so:
INTEIRO nmero inteiro;
REAL nmero real;
CARACTERE (string) texto, que pode conter letras, smbolos e
nmeros;
LGICO (boolean) assumem apenas os valores verdadeiro ou falso.

Atribuio
Como voc l essa instruo?
MEDIA:= (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;

Atribuio
varivel constante
varivel varivel
varivel expresso
varivel funo

Exemplo
A
A
A
A

45 (A recebe 45)
B (A recebe o valor de B)
B + C (A recebe o valor de B + C)
calculo(B,C) (A recebe o retorno da funo calculo)

Teste de Mesa
Realizar o teste de mesa acompanhar um algoritmo passo a passo,
mantendo uma tabela com os valores das variveis e registrar as
mudanas nestas variveis ao longo da execuo do mesmo.

ALGORITMO MEDIA_FINAL;
VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;
NOME: CARACTERE [35]
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA:= (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
ESCREVER (NOME, MEDIA)
FIM.

Operadores Aritmticos, Relacionais e Lgicos


Operadores aritmticos
Operador
Multiplicao
Diviso
Adio
Subtrao

Smbolo
*
/
+
-

Prioridade
1
1
2
2

Operadores Aritmticos, Relacionais e Lgicos


Operadores relacionais

Operador
>
<
=
>=
<=
<>

Significado
maior
menor
igual
maior ou igual
menor ou igual
diferente

Operadores Aritmticos, Relacionais e Lgicos


Operadores lgicos

Operao
Negao
Conjuno
Disjuno
Disjuno exclusiva

Operador
no
e
ou
xou (lido como ou exclusivo)

Operadores Aritmticos, Relacionais e Lgicos


Operadores lgicos tabela verdade

X
V
V
F
F

Y
V
F
V
F

XeY

X ou Y

no X

X xou Y

Instrues LER e ESCREVER


Ler e Escrever(tambm chamado Imprimir) so instrues muito corriqueiras em
pseudocdigo, tambm chamadas de instrues primitivas. De maneira bem
resumida, Ler implica em solicitar ao usurio que entre com um dado, na tela do
computador.
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);

Por fim, o comando Escrever imprime, na tela do computador, o dado. Portanto,


o comando
ESCREVER (NOME, MEDIA)
imprime, lado a lado, o contedo das variveis NOME e MEDIA, na tela do
computador.

Estrutura sequencial
A estrutura sequencial a estrutura mais simples que um algoritmo pode
possuir. Nela, as instrues so executadas sequencialmente, passo a passo.

1.ALGORITMO MEDIA_FINAL;
2.VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO;
3.NOME : CARACTERE [35]
4.INICIO
5.LER (NOME);
6.LER (NOTA1, NOTA2, NOTA3, NOTA4);
7.MEDIA := (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
8.ESCREVER (NOME, MEDIA)
9.FIM.

Estruturas de seleo
As estruturas de seleo so aquelas em que, em algum passo, o
algoritmo verifica determinada condio para, ento seguir por algum
caminho.
Seleo simples (ou estrutura de desvio, ou estrutura condicional,
ou estrutura if-then)
Seleo composta (ou estrutura de desvio, ou estrutura
condicional, ou estrutura if-then-else)
Seleo aninhada
Seleo mltipla

Estrutura de seleo simples


ALGORITMO NUMEROS_IGUAIS;
1.VAR A, B: INTEIRO;
2.INICIO
3.LER (A, B);
4.SE (A=B)
5.ENTO ESCREVER (Os nmeros so iguais!);
6.FIM.

Estrutura de seleo simples


ALGORITMO NUMEROS_IGUAIS;
1.VAR A, B: INTEIRO;
2.INICIO
3.LER (A, B);
4.SE (A=B)
5.ENTO ESCREVER (Os nmeros so iguais!);
6.FIM.

Estrutura de seleo composta


ALGORITMO MAIOR_NUMERO;
1.VAR A, B: INTEIRO;
2.INICIO
3.LER (A, B);
4.SE (A>B)
5.ENTO ESCREVER (A);
6.SENAO ESCREVER (B);
7.FIM.

Estrutura de seleo aninhada


ALGORITMO ACHA_MAIOR_NUMERO;
1.VAR A, B, C: INTEIRO;
2.INICIO
3.LER (A, B, C);
4.SE (A>B) E (A>C)
5.ENTO ESCREVER (A)
6.SENO SE (B>A) E (B>C)
7.ENTO ESCREVER (B)
8.SENO ESCREVER (C)
9.FIM.

Estrutura de seleo mltipla


ALGORITMO_NUMEROLOGIA
VAR opcao:INTEIRO
INICIO
ESCREVA(Digite um nmero de 1 a 9);
LEIA(opcao)
ESCOLHA(opo)
CASO 1
ESCREVA(Voc azarado!);
CASO 2
ESCREVA(Voc sortudo!);
CASO 3
ESCREVA(Voc vai passar nesse concurso!);
.........
OUTROCASO (Eu pedi pra escolher entre 1 e 9!);
FIM

Estruturas de repetio
Nas estruturas de repetio, possvel colocar um trecho de cdigo em
loop, ou lao de repetio, executando at que uma condio seja
atingida, ou enquanto uma condio permanecer vlida.
Repetio com verificao antecipada
Repetio com verificao ao final
Repetio com varivel de controle

Repetio com verificao antecipada

Repetio com verificao no final


ALGORITMO EXIBE_NUMEROS;
Var N: inteiro;
Inicio
Leia(N);
REPITA
Escreva(N);
N:= N + 1
AT N>10;
Fim

Repetio com varivel de controle


ALGORITMO EXIBE_NUMEROS_COM_FOR;
Var N: inteiro;
Inicio
Leia(N);
PARA cont 1 at N FAA
Escreva(cont);
cont cont + 1;
FIM-PARA
Fim

atribuir 50 a I
atribuir 0 a TOTAL
atribuir 0 a K
enquanto K < I faca
incio
somar 10 a K;
atribuir TOTAL+K a TOTAL
imprimir(K);
fim;
fim-enquanto;
imprimir(TOTAL);

Ao final do processamento, a varivel TOTAL e o nmero de vezes que


a K ser impresso so, respectivamente:
a) 100 e 4
b) 150 e 5
c) 150 e 8
d) 150 e 9
e) 210 e 6

atribuir 50 a I
atribuir 0 a TOTAL
atribuir 0 a K
enquanto K < I faca
incio
somar 10 a K;
atribuir TOTAL+K a TOTAL
imprimir(K);
fim;
fim-enquanto;
imprimir(TOTAL);

Muito Obrigado!
Victor Dalton
Instagram: @victordalton
Facebook: Facebook.com/professorvictordalton
Youtube: youtube.com/victordalton