Вы находитесь на странице: 1из 39

Noções de Programação

Victor Dalton
Instagram: @victordalton
Facebook: Facebook.com/professorvictordalton
Youtube: youtube.com/victordalton
Linguagens de programação

Meio de comunicação entre máquinas e humanos

Alto nível – mais próximas da comunicação humana. Exige


tradução para linguagem binária (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 programação

Meio de comunicação entre máquinas e humanos

Baixo nível – interpretadas diretamente pelo computador.


Linguagem binária, Assembly
MOV r0, #0C ;
LOAD: MOV r1,(r0) ;
CALL PRINT;
INC r0 ;
JMP LOAD;
Lógica de programação

Lógica de Programação é a técnica de encadear pensamentos, com o intuito


de atingir determinado objetivo.

Como acessar um curso do Estratégia?

1.Ligar o computador;
2.Abrir o navegador de Internet;
3.Acessar o site do Estratégia;
4.Selecionar o curso;
5.Confirmar a compra;
6.Se não for usuário cadastrado do site, preencher cadastro;
7.Realizar o pagamento;
8.Acessar os PDFs.
Lógica de programação

A lógica de uma determinada tarefa ou atividade é centrada em um algoritmo.

Um algoritmo é uma sequência finita de passos que levam à execução de


determinada tarefa ou conjunto de tarefas.

Por exemplo, um algoritmo que calcule a média entre dois números inteiros
deverá:

1. Ler dois números inteiros;


2. Realizar uma soma entre os números;
3. Dividir por dois o número obtido anteriormente;
4. Escrever o resultado.
Lógica de programação

Os algoritmos são definidos por cinco características. São elas:

Finitude: um algoritmo tem de terminar ao fim de um número finito de passos;


Clareza/definição: cada passo do algoritmo tem de ser definido com precisão,
sem ambiguidades;
Entrada: um algoritmo pode ter zero ou mais entradas;
Saídas: um algoritmo tem uma ou mais saídas;
Eficácia/efetividade: todas as operações feitas por um algoritmo têm de ser
suficientemente básicas.
Lógica de programação

Na computação, é comum a escrita de algoritmos em uma linguagem comum,


que seja independente de linguagem de programação. Esta linguagem se chama
pseudocódigo, 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 representação de um algoritmo

A descrição narrativa descreve o algoritmo em linguagem natural. Vamos


escrever um algoritmo para calcular a média de dois números:

1.Digite o primeiro número;


2.Digite o segundo número;
3.Caso os dois números sejam iguais a zero, volte ao passo 1;
4.Some os dois números e divida por 2;
5.Imprima o resultado encontrado.
Formas de representação de um algoritmo

Fluxograma ou diagrama de blocos


Formas de representação de um algoritmo

Pseudocódigo 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
Variável

Espaço da memória do computador que armazena um dado. No algoritmo, a variável pode


ser manipulada pelas instruções, modificando e trabalhando seus valores.

Uma variável recebe um nome (também chamado de identificador), que a diferencia das
demais, no algoritmo. Normalmente atribui-se um nome intuitivo à variável, para facilitar
o entendimento do próprio algoritmo.

ALGORITMO MEDIA_FINAL;
VAR NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO; (tipo de variável, número inteiro)
NOME: CARACTERE [35]; (tipo de variável, texto até 35 caracteres)
INICIO
LER (NOME);
LER (NOTA1, NOTA2, NOTA3, NOTA4);
MEDIA:= (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;
ESCREVER (NOME, MEDIA)
FIM.
Elementos de um algoritmo

Constante

Constante, conforme o próprio nome diz, difere da variável por não permitir
modificação 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
Declaração de variáveis

Um algoritmo, via de regra, inicia-se pela declaração de variáveis. 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 também são declaradas no início do algoritmo, juntamente com as


variáveis.
Elementos de um algoritmo

Instrução

A instrução é o passo, ou etapa do algoritmo. Normalmente, é a linha


de código seguida de ponto-e-vírgula.
Elementos de um algoritmo
Conjunto de instruções

O conjunto de instruções é a inteligência do algoritmo, a sua razão 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 pseudocódigo, costuma-se utilizar “Inicio” e “Fim” para delimitar o conjunto de


instruções.
Tipos de variáveis

Os tipos primitivos mais comuns de variáveis são:

INTEIRO – número inteiro;


REAL – número real;
CARACTERE (string) – texto, que pode conter letras, símbolos e
números;
LÓGICO (boolean) – assumem apenas os valores verdadeiro ou falso.
Atribuição

Como você lê essa instrução?

MEDIA:= (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4;

Atribuição Exemplo
variável ← constante A ← 45 (“A recebe 45”)
variável ← variável A ← B (“A recebe o valor de B”)
variável ← expressão A ← B + C (“A recebe o valor de B + C”)
variável ← função A ← calculo(B,C) (“A recebe o retorno da função calculo”)
Teste de Mesa

Realizar o teste de mesa é acompanhar um algoritmo passo a passo,


mantendo uma tabela com os valores das variáveis e registrar as
mudanças nestas variáveis ao longo da execução 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 Aritméticos, Relacionais e Lógicos

Operadores aritméticos

Operador Símbolo Prioridade


Multiplicação * 1ª
Divisão / 1ª
Adição + 2ª
Subtração - 2ª
Operadores Aritméticos, Relacionais e Lógicos

Operadores relacionais

Operador Significado
> maior
< menor
= igual
>= maior ou igual
<= menor ou igual
<> diferente

Operadores Aritméticos, Relacionais e Lógicos

Operadores lógicos

Operação Operador
Negação não
Conjunção e
Disjunção ou
Disjunção exclusiva xou (lido como “ou exclusivo”)

Operadores Aritméticos, Relacionais e Lógicos

Operadores lógicos – tabela verdade

X Y XeY X ou Y não X X xou Y


V V
V F
F V
F F

Instruções LER e ESCREVER
Ler e Escrever(também chamado Imprimir) são instruções muito corriqueiras em
pseudocódigo, também chamadas de instruções primitivas. De maneira bem
resumida, Ler implica em solicitar ao usuário 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 conteúdo das variáveis NOME e MEDIA, na tela do


computador.
Estrutura sequencial

A estrutura sequencial é a estrutura mais simples que um algoritmo pode


possuir. Nela, as instruções são 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 seleção

As estruturas de seleção são aquelas em que, em algum passo, o


algoritmo verifica determinada condição para, então seguir por algum
caminho.
• Seleção simples (ou estrutura de desvio, ou estrutura condicional,
ou estrutura if-then)
• Seleção composta (ou estrutura de desvio, ou estrutura
condicional, ou estrutura if-then-else)
• Seleção aninhada
• Seleção múltipla
Estrutura de seleção simples

ALGORITMO NUMEROS_IGUAIS;
1.VAR A, B: INTEIRO;
2.INICIO
3.LER (A, B);
4.SE (A=B)
5.ENTÃO ESCREVER (“Os números são iguais!”);
6.FIM.
Estrutura de seleção simples

ALGORITMO NUMEROS_IGUAIS;
1.VAR A, B: INTEIRO;
2.INICIO
3.LER (A, B);
4.SE (A=B)
5.ENTÃO ESCREVER (“Os números são iguais!”);
6.FIM.
Estrutura de seleção composta

ALGORITMO MAIOR_NUMERO;
1.VAR A, B: INTEIRO;
2.INICIO
3.LER (A, B);
4.SE (A>B)
5.ENTÃO ESCREVER (A);
6.SENAO ESCREVER (B);
7.FIM.
Estrutura de seleção 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.ENTÃO ESCREVER (A)
6.SENÃO SE (B>A) E (B>C)
7.ENTÃO ESCREVER (B)
8.SENÃO ESCREVER (C)
9.FIM.
Estrutura de seleção múltipla
ALGORITMO_NUMEROLOGIA
VAR opcao:INTEIRO
INICIO
ESCREVA(“Digite um número de 1 a 9”);
LEIA(opcao)
ESCOLHA(opção)
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 repetição

Nas estruturas de repetição, é possível colocar um trecho de código em


“loop”, ou laço de repetição, executando até que uma condição seja
atingida, ou enquanto uma condição permanecer válida.
• Repetição com verificação antecipada
• Repetição com verificação ao final
• Repetição com variável de controle
Repetição com verificação antecipada
Repetição com verificação no final

ALGORITMO EXIBE_NUMEROS;
Var N: inteiro;
Inicio
Leia(N);
REPITA
Escreva(N);
N:= N + 1
ATÉ N>10;
Fim
Repetição com variável de controle

ALGORITMO EXIBE_NUMEROS_COM_FOR;
Var N: inteiro;
Inicio
Leia(N);
PARA cont ←1 até N FAÇA
Escreva(cont);
cont ← cont + 1;
FIM-PARA
Fim
atribuir 50 a I
atribuir 0 a TOTAL
atribuir 0 a K

enquanto K < I faca

inıcio
somar 10 a K;
atribuir TOTAL+K a TOTAL
imprimir(K);
fim;

fim-enquanto;

imprimir(TOTAL);
Ao final do processamento, a variável TOTAL e o número de vezes que
a K será impresso são, 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

inıcio
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

Вам также может понравиться