Você está na página 1de 46

Introdução a Programação

Professor: Renato Gomes


E-mail: renato.gomes@ucam-campos.br
Lógica

 Ciência que estuda o raciocínio.

 A lógica trata da correção do pensamento. Poderíamos


dizer também que a lógica é a arte de pensar
corretamente.

Ex: Todo mamífero é animal. Todo cavalo é mamífero.


Portanto, todo cavalo é animal.
Instrução

 Conjunto de regras ou normas definidas para a


realização de algo.
 Em informática, instrução é o que indica ao computador
uma ação a executar.

 As instruções devem ser executadas em um sequência


lógica para que possa alcançar o objetivo desejado.
Ex: não posso retirar a escada, antes de trocar a lâmpada.
Sequência Lógica
 São uma sequência de instruções (passos) executados
até atingir um objetivo ou resolver um problema.

Ex: Trocar uma lâmpada


Lógica de Programação

 Linguagem entendida pelo computador

 Método padronizado para expressar instruções para um


computador

 Técnica de notação para programar para expressar


raciocínio matemático quanto para execução
automática de um algoritmo pelo computador.
Ex: Java, Pascal, C
Programação

 Codificação de um algoritmo em determinada


linguagem de programação

 Criar um programa de computador determinando um


conjunto de instruções para o computador
desempenhar.
Algoritmo

 Sequência finita e ordenada de passos a ser seguido de


forma lógica para a resolução de uma tarefa e/ou
problema

 Passos a partir de um entendimento lógico de um


problema com o objetivo de transformar em um
elemento (programa) que seja possível de ser tratado e
executado em um computador

Entrada Processamento Saída


Características do Algoritmo

 Deve ter início e fim definidos


 Possui apenas uma interpretação
 Utiliza-se dados de entrada e após o processamento,
gera uma ou mais saídas
 Deve ser efetivo (tempo finito para executar uma
tarefa)
 Deve ser objetivo
 Deve ser utilizado apenas um verbo na frase.
Representação do Algoritmo

 Os algoritmos podem ser representados de 3 formas:

 Descrição narrativa

 Diagrama de bloco

 Linguagem algorítmica (pseudocódigo)


Descrição narrativa
 Utiliza-se o português para desenvolver o algoritmo.
Ex: Chupar uma bala
1 – Pegue a bala;
2 – Retire o papel;
3 – Chupe a bala;
4 – Jogue o papel no lixo.
Diagrama de bloco

 Forma padronizada para representar um algoritmo.


Diagrama de bloco

 Com o diagrama de bloco é possível definir uma


sequência de símbolos e sua principal função é a de
facilitar a visualização dos passos de um procedimento.
Ex:
Pegue a Retire o Chupe a Jogue o
Início Fim
bala papel bala papel fora
Linguagem Algorítmica
 Consiste na definição de uma pseudo-linguagem de
programação, cujos comandos são em português, para
representar algoritmos.

Ex: Algoritmo CALCULA_DOBRO


NUM,DOBRO : inteiro
início
Leia NUM
DOBRO <- 2 * NUM
Escreva DOBRO
fim
Teste de mesa
 Após desenvolvermos um algoritmo ele deverá sempre
ser testado.
 O chamado “Teste de Mesa” é realizado seguindo as
instruções do algoritmo para determinar se o
procedimento está ou não correto.
Teste de mesa
Ex: Algoritmo para ler dois números e trocar seus valores.

O resultado gerado pelo teste, identificou que o algoritmo


está incorreto, pois o resultado esperado era 3 e 12.
Estrutura básica

 Constantes;

 Variáveis;

 Tipos de dados;
Estrutura básica

 Constante:
 Tipo de dado que não se modifica ao longo do tempo,
durante a execução do programa.
Ex: CONST pi = 3,14, CONST cpf

 Variáveis:
 É a definição do tipo do dado que pode ser alterado ao
longo da execução do programa. Armazena 1 valor de
cada vez.
Ex:VAR idade: inteiro, nome: caracter[20]
Estrutura básica
 Tipos de dados:
 Inteiro: São dados numéricos positivo ou negativo, com
exceção aos fracionários. Ex: -5, 10, 1024.
 Real: Dados numéricos positivo ou negativo, incluindo
os fracionários. Ex: -5, -2.3, 45, 55.7.
 Caractere: Sequência de dados contendo letras,
números e símbolos. Deve sempre estar entre (“ “).
Também é conhecido como alfanumérico.
Ex: “Programação”, “ Tel: 22222”
 Lógico: Dados com valor Verdadeiro ou falso.
Ex: Possui filhos?
Forma geral
 A estrutura geral de um algoritmo é:
Algoritmo “<nome do algoritmo>”
var
<declaração de variáveis>
inicio
<lista de comandos>
fimalgoritmo
Entrada e saída de dados
 Entrada de dados: São os dados que necessita de
intervenção do usuário, ou seja, o cliente que insere o
dado para o algoritmo.
Ex: Leia (P1), Leia (“Digite seu nome: “ nome)

 Saída de dados: São dados exibidos pelo algoritmo.


Podem ser resultados de alguma operação ou apenas
informações geradas para o usuário.
Podem ser escritas na mesma linha (escreva) ou em linhas
diferentes (escreval).
Ex: Escreva (“Sua média foi:”media), Escreval (“Bem
vindo”)
Comando de Atribuição
 Permite que seja atribuído valor a determinada variável,
onde o tipo deve ser compatível ao da variável.

 O símbolo no algoritmo referente a atribuição é


“ ”, na linguagem de programação que utilizaremos
é “ := “
Ex: Em VisualG ficaria:
A 3+5 A:=3+5
B “João” B:=“Joao”
Operadores
 Operadores são meios pelo qual incrementamos,
decrementamos, comparamos e avaliamos dados.

 Podem ser de 3 tipos:

 Aritméticos

 Relacionais

 Lógicos
Operadores Aritméticos
 Utilizados para obter resultados numéricos. Através
dele são realizadas operações de adição, subtração,
multiplicação, divisão e exponenciação.

Operação Símbolo
Adição +
Subtração -
Multiplicação *
Divisão /
Exponenciação ^
Operadores Aritméticos

 Hierarquia:
 1 º ( ) Parênteses
 2 º Exponenciação
 3 º Multiplicação, divisão (o que aparecer primeiro)
 4 º + ou – (o que aparecer primeiro)

 Outros operadores Artiméticos:


 Mod – Exibe o resto da divisão. Ex: 9 mod 4 = 1
 Div – Exibe o quociente da divisão. Ex 9 div 4 = 2
Operadores Relacionais
 Utilizados para realizar comparação de String de
caracteres e números.
 Esses operadores sempre retornam valores lógicos
(Verdadeiro ou falso).

Descrição Símbolo
Igual a =
Diferente de <>
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
Operadores Lógicos
 Utilizados para combinar resultados de expressões,
exibindo se o resultado é verdadeiro ou falso.
Descrição Utilização
E AND
OU OR
NÃO NOT

 E/AND: Expressão verdadeira se todas as condições


forem verdadeiras;
 OU/OR: Expressão verdadeira se pelo menos uma
condição for verdadeira;
 NÃO/NOT: Inverte o valor da condição e/ou
expressão.
Operadores Lógicos
 A tabela abaixo mostra todas as possibilidades de
resultados:
1º valor Operação 2º valor Resultado
V E V V
V E F F
F E V F
F E F F
V OU V V
V OU F V
F OU V V
F OU F F
V NÃO F
F NÃO V
Estruturas de tomada de decisão
 Desvio condicional Simples
Uma expressão lógica é avaliada. O programa realiza
determinada ação ou cálculo se a condição for verdadeira.

se (<condição>) entao
<instruções para condição verdadeira>
fimse
<instruções para condição falsa ou após ser verdadeira>
Estruturas de tomada de decisão
Ex:
Inicio
Leia (a)
Leia (b)
x a+b
se (x > 12) então
Escreva (“Aprovado”)
fimse
Estruturas de tomada de decisão
 Desvio condicional composta
O programa realiza uma determinada ação ou cálculo se
for verdadeira, senão realiza outra ação ou cálculo.

se (<condição>) então
<instruções para condição verdadeira>
senão
<instruções para condição falsa >
fimse
Estruturas de tomada de decisão
Ex:
Inicio
Leia (a)
Leia (b)
x a+b
se (x > 12) então
Escreva (“Aprovado”)
Senão
Escreva (“Reprovado”)
fimse
Estruturas de tomada de decisão
 Desvio condicional encadeado
O programa realiza uma determinada uma condição, se for
verdadeira realiza outra condição, senão realiza outra ação
ou cálculo.
se (<condição 1>) entao
<instruções para condição verdadeira>
senao
se (<condição 2>) entao
<instruções para condição verdadeira>
senao
<instruções para condição falsa >
fimse
Estruturas de tomada de decisão
Ex:
Leia (a)
Leia (b)
x a+b
se (x > 12) entao
Escreva (“Aprovado”)
senao
Se (x<2) entao
Escreva (“Reprovado”)
Senao
Escreva (“Em recuperação”)
fimse
fimse
Estruturas de tomada de decisão
 Escolha... Caso...
Essa estrutura é utilizada quando existem várias condições
e ações, tornando inviável a utilização do comando SE,
pois será necessário a implantação de várias linhas para
atender a necessidade.
escolha <expressão de seleção>
caso <expressão 1>, <exp 2>, ...<exp n>
<instruções a serem executadas>
caso <exp 1>, <exp 2>, ... <exp n>
<instruções a serem executadas>
outrocaso
<instruções a serem executadas>
fimescolha
Estruturas de tomada de decisão
Ex:
Escreva (“Qual sua idade? ”)
Leia (idade)
escolha idade
caso 1,2,3,4,5,6,7,8,9,10,11,12
categoria “Criança”
caso 13,14,15,16,17
categoria “Adolescente”
outrocaso
categoria “Adulto”
Fimescolha
Escreva (“Sua categoria é: “, categoria)
Estruturas de controle
 A estrutura de controle é utilizada quando a solução
não será possível de ser atingida executando instruções
apenas uma vez, ou seja, é necessário que as instruções
sejam realizadas por várias vezes (looping).
Ex: Algoritmo que calcula a média de N alunos
 Existem 3 tipos de Estrutura de controle:
 repita ... ate
 enquanto ... faca
 para ... de ... ate ... faca
Todas as estruturas de repetição devem possuir uma
variável declarada que será responsável pelo controle do
número de repetições que serão executadas.
Estruturas de controle
 repita ... ate
Nessa estrutura, um ou mais comandos são executados,
pelo menos uma vez, antes de verificar a condição
estabelecida. Esses comandos são repetidos, caso a
condição não tenha sido atingida.
Utilizado quando queremos executar ao menos uma
seqüência de instrução.

repita
<lista de comandos>
ate <expressão lógica ou relacional>
Estruturas de controle
Ex:
Inicio
Contador 1
repita
Escreva (Contador)
Contador Contador + 1
ate Contador = 10
FimAlgoritmo
Estruturas de controle
 enquanto ... faca
Nessa estrutura, primeiro é verificado determinada
condição. Se ela for verdadeira, um ou mais comandos são
executados. A repetição é interrompida, quando a
condição for falsa.
Utilizado quando o numero de loops não é bem definido e
não há o interesse de executar ao menos uma
seqüência de instruções.

enquanto <expressão lógica ou relacional> faca


<lista de comandos>
fimenquanto
Estruturas de controle
Ex:
Inicio
Resp “sim”
Enquanto (Resp = “sim”) faca
Leia (P1,P2)
Media P1+P2/2
Escreva (“Deseja continuar? “)
Leia (Resp)
Fimenquanto
Fimalgoritmo
Estruturas de controle
 para ... de ... ate ... faca
Nessa estrutura, uma variável de controle é inicializada
com um valor inicial e a cada passo o valor dessa variável é
comparada com um dado valor final.
Utilizado quando o numero de loops é definido.

para <controle> de <inicial> ate <final>


[passo<incremento>] faca
<lista de comandos>
fimpara
Estruturas de controle
Ex:
Inicio
para cont 1 ate 5 passo 1 faca
cont cont + 1
Fimpara
Escreva (cont)
fimalgoritmo
Vetor
É um arranjo de elementos armazenados na memória, um
após o outro, com o mesmo nome.
São estruturas lineares.

Nome_vetor: vetor[posini..posfim] de tipo

São utilizados quando queremos armazenar várias vezes


informações referente a mesma variável.
Ex:
armazenar as notas de um aluno
armazenar os nomes dos alunos de uma turma
Vetor
Ex: var
notas: vetor[1..4] de real
total, media: real
indice:inteiro
inicio
Para indice de 1 ate 4 faça
Escreva (“Digite a nota do “,indice,“ bimestre: ”)
Leia(notas[indice]) 8 5 7 7
total:=total+notas[indice]
fimpara
media:=total/4
fimalgoritmo
Matriz
É um conjunto de vetores. Enquanto o vetor possui
apenas 1 dimensão, a matriz possui 2 dimensões, com isso,
são 2 vetores, onde 1 é utilizado para armazenar as linhas
da matriz e o outro as colunas.
Vetor de 4 posições: 0 1 2 3

Matriz de 2x4 posições: 0x0 0x1 0x2 0x3

onde 2 = linhas 1x0 1x1 1x2 1x3

e 4 = colunas

Nome_matriz: vetor [li..lf,ci..cf] de tipo


Matriz
Ex: var
numero: vetor[1..4,1..4] de inteiro
Total,linha,coluna:inteiro
inicio
Para linha de 1 ate 4 faca
Para coluna de 1 ate 4 faca
Escreva (“Digite o numero para posição “,linha,coluna)
Leia(numero[linha,coluna]) 5 8 7 6
total:=total+numero[linha,coluna] 8 9 4 7
3 5 4 6
fimpara
8 6 5 7
fimpara
Escreva (“A soma é: “,total)

Você também pode gostar