Você está na página 1de 42

Introdução a Algoritmos

Introdução

prof.silvano.oliveira@gmail.com

Prof Silvano Oliveira


Agenda
✓ Lógica de Programação
✓ Algoritmos

✓ Operadores Aritméticos

✓ Operadores Relacionais

✓ Expressões Aritméticas

✓ Variáveis

✓ Operadores Lógicos

✓ Estrutura de Seleção Se-Então

Prof Silvano Oliveira Algoritmo 2


O que é software?
• Softwares são programas. Programas são roteiros, escritos por
programadores, que apresentam sequências de instruções que o
computador deve seguir para realizar determinadas tarefas.

Lógica de Programação

• A lógica de programação é necessária para pessoas que desejam


trabalhar com desenvolvimento de sistemas e programas, ela permite
definir a sequência lógica para o desenvolvimento.

Prof Silvano Oliveira Algoritmo 3


Lógica de Programação

"Técnica de encadear pensamentos para atingir determinado


objetivo
Necessária para desenvolver programas e sistemas, pois
permite definir a sequência lógica para a solução de um
problema.”

Prof Silvano Oliveira Algoritmo 4


Sequência Lógica

? 1. -> 2. -> 3. -> !

- Estes pensamentos podem ser descritos como uma sequência de


instruções, que devem ser seguidas para se cumprir uma determinada
tarefa
- Passos executados até se atingir um objetivo ou solução de um
problema

Prof Silvano Oliveira Algoritmo 5


Instrução
Cada um dos passos, cada uma das ações a tomar (obedecendo a sequência
lógica) para ir resolvendo o problema, ou para ir executando a tarefa.

Em informática, é a informação que indica a um computador uma operação


elementar a executar.

Ex.: “somar”, “subtrair”, “comparar se é maior”, etc


Uma só instrução não resolve problemas

Executar um conjunto de instruções


Executar em uma sequência lógica

Prof Silvano Oliveira Algoritmo 6


Exemplo - Omelete
Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar fogão”, “pôr óleo na
frigideira”, “pôr frigideira no fogo”, “fritar ovos batidos”, etc…

Quanto às instruções isoladas:


Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é suficiente para
cumprir a tarefa “fazer omelete”

Quanto à sequência lógica:


Se executarmos “fritar ovos batidos” antes de “bater ovos”, ou pior, antes de
“quebrar ovos”, não iremos cumprir a tarefa “fazer omelete”

Prof Silvano Oliveira Algoritmo 7


Algoritmo
• Para resolver um problema em um computador, de modo semelhante
ao que fazemos para resolver um problema do nosso cotidiano,
devemos encontrar uma maneira de descrever esse problema de uma
forma clara e precisa, através de uma sequência de passos a serem
seguidos até que se atinja a solução procurada.
• Essa estruturação deve seguir uma determinada lógica. A lógica
aplicada à programação de computadores, deve buscar a melhor
sequência de ações para se resolver um problema. Essa sequência de
ações damos o nome de algoritmo.

Prof Silvano Oliveira Algoritmo 8


Algoritmo
"Sequência de passos finita e ordenada necessária para se chegar a um
objetivo."

“somar dois números”:


Passo 1: Escrever primeiro número no retângulo A
Passo 2: Escrever segundo número no retângulo B
Passo 3: Somar o número do retângulo A com o número do retângulo B e
escrever o resultado no retângulo C
A B C

+ =

Prof Silvano Oliveira Algoritmo 9


Algoritmo - Exemplo
• Quando uma dona de casa prepara um bolo, segue uma receita, que nada mais é do que
um algoritmo em que cada instrução é um passo a ser seguido para que o prato fique
pronto com sucesso:

• 1. Bata 4 claras em neve


• 2. Adicione 2 xícaras de açúcar
• 3. Adicione 2 colheres de farinha de trigo, 4 gemas, uma colher de fermento e duas colheres
de chocolate
• 4. Bata por 3 minutos
• 5. Unte uma assadeira com margarina e farinha de trigo
• 6. Coloque o bolo para assar por 20minutos

Prof Silvano Oliveira Algoritmo 10


Algoritmo - Exemplo
• Um motorista que necessita efetuar a troca de um pneu furado segue uma
rotina para realizar essa tarefa:

• 1. Verifica qual pneu está furado


• 2. Posiciona o macaco para levantar o carro
• 3. Pega o estepe
• 4. Solta os parafusos
• 5. Substitui o pneu furado
• 6. Recoloca os parafusos
• 7. Desce o carro
• 8. Guarda o macaco e o pneu furado

Prof Silvano Oliveira Algoritmo 11


Programa
• Algoritmo escrito em uma linguagem de computador (linguagem de
programação - C, Pascal, COBOL, Fortran, Basic, Java, etc.)

• Interpretado e executado por um computador


• Interpretação rigorosa, exata, do computador.
• A escrita do algoritmo na linguagem de programação tem que seguir
regras mais rigorosas.

Prof Silvano Oliveira Algoritmo 12


Tipos de Algoritmos
PSEUDOCÓDIGO:
• Facilita descrever o algoritmo antes de passá-lo para uma linguagem
de programação
• Intermediária: linguagem natural – linguagem de programação
• Pseudocódigo = “códigofalso”
FLUXOGRAMA:
• É uma forma universal de representação, pois se utiliza de figuras
geométricas para ilustrar passos a serem seguidos para a resolução
de problemas

Prof Silvano Oliveira Algoritmo 13


Código Fonte
• É o algoritmo escrito através da sintaxe de uma linguagem de programação.
• É armazenado em um arquivo de texto puro (TXT).

Linguagem Extensão Linguagem Extensão


• Linguagens de
• Programação: Java .java Objective-C .h .m

C .c Pyton .py

Pascal .pas Clipper .clp

C# .cs Cobol .cob

PHP .php VB .Net .vb

Prof Silvano Oliveira Algoritmo 14


Compilador
• Software utilizado para transformar o código fonte escrito em uma
linguagem de programação em código executável pelo computador.

• Compilar:
• Verbo que significa a ação de utilizar o compilador.

• Depurar
• Corrigir o código fonte de forma a não deixá-lo com erros.

Prof Silvano Oliveira Algoritmo 15


Pseudocódigo
•Descrição do algoritmo, menos rigorosa que na linguagem de programação
(código fonte)
•Fácil de entender e fácil de codificar depois
•Independente da linguagem de programação
•Simples e objetivo

Prof Silvano Oliveira Algoritmo 16


Resolução
FASES para desenvolver o algoritmo:
Determinar o problema, definí-lo bem
Dividir a solução nas três fases:

Exemplo:
Problema: calcular a média de quatro números
Dados de entrada: os números, N1, N2, N3 e N4
Processamento: somar os quatro números e dividir a soma por 4

Dados de saída: a média final

Prof Silvano Oliveira Algoritmo 17


Algoritmo - Pseudocódigo

- Receber o primeiro número


- Receber o segundo número
- Receber o terceiro número
- Receber o quarto número
- Somar todos os números
- Dividir a soma por 4
- Mostrar o resultado da divisão

Prof Silvano Oliveira Algoritmo 18


Exercício
1. Escreva os passos necessários para uma pessoa efetuar um saque em um
caixa eletrônico.
2. Identifique os dados de entrada, processamento e saída no algoritmo
abaixo
• Receba código da peça
• Receba valor da peça
• Receba Quantidade de peças
• Calcule o valor total da peça (Quantidade * Valor da peça)
• Mostre o código da peça e seu valor total
3. Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo
que ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2
Prof Silvano Oliveira Algoritmo 19
Teste de Mesa
Todo algoritmo deve ser testado
Usar dados e resultados previamente calculados, seguir precisamente as
instruções do algoritmo e verificar se o procedimento está correto ou
não
Exemplo: Fazer teste de mesa para o algoritmo da média

Prof Silvano Oliveira Algoritmo 20


Operadores Aritméticos
São utilizados para calcular expressões aritméticas. Obedecem as mesmas
regras da matemática.
Operação Símbolo Exemplo Resposta

Adição + 5+3 8

Subtração - 7-3 4

Multiplicação * 7 * -2 -14

Divisão / 5/2 2.5

Resto % 7%2 1

Prof Silvano Oliveira Algoritmo 21


Exercícios

Calcule as seguintes operações aritméticas:

1) 2+3*4-2
2) 7 * 5 + (3 % 2) + 4 * 8
3) 1.4 + 3.6 / 2.3 - 3.3 + 2.8
4) ((2 + 4) + (6 - 3) + (7 * (4 + 23)))

Prof Silvano Oliveira Algoritmo 22


Operadores Relacionais
São utilizados para calcular expressões relacionais. O resultado é sempre
verdadeiro ou falso. Operação Símbolo Exemplo Resposta

Maior que > 5>3 verdadeiro

Menor que < 7<3 falso

Maior ou Igual >= 7 >= -2 verdadeiro

Diferente != 12 != 4 verdadeiro

Menor ou Igual <= 5 <= 2 false

Igual == 7 == 2 falso

Prof Silvano Oliveira Algoritmo 23


Exercícios
Calcule as seguintes operações relacionais:

1) 2>3
2) 7<5
3) 1.4 == 3.6
4) 2 !=9
5) 23 <= 56
6) 45 >= 44

Prof Silvano Oliveira Algoritmo 24


Tipos de Dados

Tipo Portugol Studio C/C++ Exemplo

Inteiro inteiro int 12, 78, -67, 0, 654


Real ou ponto
Real float 3.45, 56.89, 8.9
flutuante
Caractere caracter char ‘a’, ‘u’, ‘@’, ‘9’

Lógico logico bool verdadeiro, falso

String cadeia char* “teste”, “uma frase”

Prof Silvano Oliveira Algoritmo 25


Exercícios
Qual o tipo de dados mais adequado para representar as seguintes
informações:

1) A idade de uma pessoa


2) Sua altura
3) Seu peso
4) Sexo
5) Tipo sanguínio
6) Nome da pessoa
7) Se é PCNE.

Prof Silvano Oliveira Algoritmo 26


Variáveis

Local da memória para armazenar os dados de forma dinâmica:

As variáveis devem:
1) Possuir um tipo de dado
2) Ter um nome
3) Ter um conteúdo
4) Ser declaradas antes de utilizar

Prof Silvano Oliveira Algoritmo 27


Declaração de variáveis
• caracter nome_variavel
• inteiro variavel_inicializada = 42
• real nome_variavel2
• logico nome_variavel3
// ou para declarar varias variáveis de um mesmo tipo:
• cadeia var1,var2,var3,var4
• logico var4,var5,var6

Prof Silvano Oliveira Algoritmo 28


Exemplo
1. Fazer um programa que declare variáveis de vários tipos e inicialize
uma variável real para altura, e uma variável caracter que contenha
um conteúdo qualquer. Depois imprima na tela essas variáveis
inicializadas.

Prof Silvano Oliveira Algoritmo 29


Exemplo Variável
programa
{
inteiro variável
funcao inicio()
{
inteiro outra_variavel
real altura = 1.79
cadeia frase = "Isso é uma variável do tipo cadeia"
caracter inicial = 'P’
logico exemplo = verdadeiro

escreva(altura)
escreva(inicial)
}
}

Prof Silvano Oliveira Algoritmo 30


Exemplo
1. Use o comando escreva para imprimir diversas coisas, inclusive
uma variável inicializada inteira.

Prof Silvano Oliveira Algoritmo 31


Exemplo Comando escreva()
programa
{
funcao inicio()
{
inteiro variavel=5
escreva ("Escreva um texto aqui.\n")
escreva (variavel, "\n")
escreva (variavel+variavel, "\n")
escreva ("O valor da variável é: ", variavel)
escreva ("Texto com\n", "quebra-linha")
escreva ("Texto com\t tabulação")
}
}

Prof Silvano Oliveira Algoritmo 32


Exemplo
1. Use o comando leia para solicitar idade e nome e sobrenome e
depois imprima usando o comando escreva.

Prof Silvano Oliveira Algoritmo 33


Exemplo Comando leia()
programa
{
funcao inicio()
{
inteiro idade
cadeia nome, sobrenome
escreva("Informe a sua idade: ")
leia (idade) //lê o valor digitado para "idade"
escreva("Informe o seu nome e sobrenome: ")
leia (nome, sobrenome) //lê o valor digitado para "nome" e "sobrenome"
escreva("Seu nome é:“ + nome + " “ + sobrenome + "\n")
escreva("Você tem “ + idade + " anos")
}
}

Prof Silvano Oliveira Algoritmo 34


Exemplo
1. Use o comando limpa e constantes para calcular o comprimento da
circunferência. E solicite o valor do raio.
Use const real PI=3.14

Prof Silvano Oliveira Algoritmo 35


Operadores Lógicos
São utilizados para calcular expressões relacionais e lógicas em conjunto.
O resultado é sempre verdadeiro ou falso.

Operação Símbolo Exemplo Resposta

E e (5 > 3) e (2 < 8) verdadeiro

OU ou (7 < 3) ou (6 < 9) verdadeiro

Não nao nao (5 < 9) falso

Prof Silvano Oliveira Algoritmo 36


Tabela da Verdade
A B e ou Não A Não B
V V V V F F

V F F V F V

F V F V V F

F F F F V V

Prof Silvano Oliveira Algoritmo 37


Estrutura de Seleção

se (Condição for Verdadeira)


{
comando()
comando()
}

Prof Silvano Oliveira Algoritmo 38


Estrutura de Seleção

inteiro idade = 30

se (idade >= 18)


{
escreva (“Maior de idade”)

Prof Silvano Oliveira Algoritmo 39


Estrutura de Seleção se / senao
se (Condição for Verdadeira)
{
comando()
comando()
}
senao
{
outroComando()
outroComando()
}
Prof Silvano Oliveira Algoritmo 40
Estrutura de Seleção se / senao
se (idade >= 18)
{
escreva (“Maior de idade!”)
}
senao
{
escreva (“Menor de idade!”)
}

Prof Silvano Oliveira Algoritmo 41


Exercícios – Se

1) Faça um programa para calcular a média de 3 números e exibir se o


aluno foi reprovado (média menor que 7) ou aprovado.
2) Faça um programa para ler 3 números e exibir o maior e o menor deles.
3) Faça um programa para ler 3 lados e dizer se é triângulo ou não.
4) Faça um programa para ler 3 lados e dizer se é triângulo ou não, e qual
o tipo, se é isósceles, equilátero ou escaleno.

Prof Silvano Oliveira Algoritmo 42