Você está na página 1de 45

INTRODUÇÃO A LÓGICA DE

PROGRAMAÇÃO
O que é Lógica de Programação?
• A lógica de programação é como o alicerce
de um prédio.
• Sem uma base sólida, o desenvolvimento
de software se torna confuso e propenso a
erros.
• Com uma boa compreensão da lógica, você
estará preparado para enfrentar desafios de
programação com mais confiança.
Por que ela é importante?
A lógica de programação é a base essencial
para qualquer pessoa que deseja se tornar um
programador.
Ela envolve a habilidade de pensar de forma
estruturada, criar algoritmos e resolver
problemas de maneira eficiente
Tópicos Abordados
1.Algoritmos: O que são e como criá-los.
2.Variáveis e Operadores: Entendendo como
armazenar dados e realizar operações.
3.Estruturas de Controle de Fluxo: Como
tomar decisões e repetir ações.
4.Conceitos Fundamentais: Essenciais para
qualquer linguagem de programação.
O que é um algoritmo?
Um algoritmo é uma sequência organizada e
finita de passos que descreve como resolver
um problema ou realizar uma tarefa
específica.
Ele é a base para a criação de programas de
computador e está presente em todas as áreas
da computação.
Pontos importantes sobre algoritmos
1) Definição: Um algoritmo é uma receita
detalhada que guia a execução de uma série
de operações. Ele pode ser expresso em
linguagem natural, pseudocódigo ou em
uma linguagem de programação específica.
Pontos importantes sobre algoritmos
Pontos importantes sobre algoritmos
2) Características:
1. Precisão: Cada passo deve ser claro e não ambíguo.
2. Finitude: O algoritmo deve terminar após um número finito de
etapas.
3. Determinismo: Para a mesma entrada, o algoritmo sempre
produzirá o mesmo resultado.
4. Eficiência: Um bom algoritmo é eficiente em termos de tempo e
recursos.
Pontos importantes sobre algoritmos
3) Exemplos:
1. Algoritmo para fazer um sanduíche:
1. Pegue duas fatias de pão.
2. Espalhe maionese em uma fatia.
3. Coloque alface, tomate e queijo na outra fatia.
4. Junte as duas fatias.
5. Corte o sanduíche ao meio.
6. Pronto!
2. Algoritmo de busca binária:
1. Dado um conjunto ordenado de elementos, divida-o ao meio.
2. Verifique se o elemento desejado está na metade superior ou
inferior.
3. Repita o processo na metade relevante até encontrar o elemento
desejado.
Pontos importantes sobre algoritmos
4) Importância: Algoritmos são essenciais
para resolver problemas computacionais,
otimizar processos e criar software eficiente.
Dominar a lógica por trás dos algoritmos é
fundamental para qualquer programador.
Como posso criar um algoritmo?
Criar um algoritmo é uma habilidade
fundamental para programadores.
Seguiremos alguns passos para criar um
algoritmo simples:
Como posso criar um algoritmo?
1) Entenda o Problema:
• Antes de começar, compreenda claramente o problema
que você deseja resolver.
a) Qual é a entrada?
b) Qual é a saída esperada?
c) Quais são as restrições?
Como posso criar um algoritmo?
2) Divida o Problema:
a) Quebre o problema em partes menores. Isso facilita a
abordagem e a solução.
b) Por exemplo, se você está criando um algoritmo para
calcular a média de notas, divida-o em etapas como:
obter as notas, somá-las e dividir pelo número de
notas.
Como posso criar um algoritmo?
3) Projete o Fluxo:
a) Pense no fluxo geral do seu algoritmo. Use
pseudocódigo ou um fluxograma para
visualizar as etapas.
b) Comece com a entrada e siga até a saída.
Como posso criar um algoritmo?
4) Escreva o Pseudocódigo:
a) O pseudocódigo é uma descrição em
linguagem natural das etapas do algoritmo.
b) Por exemplo:
Início
Leia a nota1 Para isso iremos
Leia a nota2
Leia a nota3 utilizar o Portugol
Soma = nota1 + nota2 + nota3
Média = Soma / 3
Escreva "A média é:", Média
Fim
Como posso criar um algoritmo?
5) Traduza para uma Linguagem de
Programação:
1. Escolha uma linguagem (como Python, Java, C++) e
escreva o código correspondente.
2. Lembre-se de usar variáveis, loops e condicionais
conforme necessário.

Para isso iremos utilizar


a linguagem de
programação Java
Como posso criar um algoritmo?
6) Teste e Depure:
1. Execute seu algoritmo com diferentes entradas para
garantir que ele funcione corretamente.
2. Se encontrar erros, depure o código.
Como posso criar um algoritmo?
7) Otimização:
1. Se possível, otimize seu algoritmo para melhorar a
eficiência.
2. Às vezes, isso envolve reduzir o número de operações
ou usar estruturas de dados mais eficientes.
Ferramenta Portugol
Instalar a ferramenta Portugol

Disponível no ambiente AVA.


Ferramenta Portugol
Instalar a ferramenta Portugol

Disponível no ambiente AVA.


Construção de Algorítmos
• Na criação de algoritmos, utilizam-se os conceitos
de:
• Bloco lógico;
• Entrada e saída de dados;
• Variáveis e constantes;
• Atribuições, expressões lógicas e aritméticas e
• Comandos que traduzam estes conceitos de forma a
representar o conjunto de ações.
Construção de Algorítmos
• Para que esse conjunto de ações se torne viável,
deve existir uma ordem lógica pelo qual essas
ações são executadas, ou seja, um fluxo de
execução.
• Através das estruturas básicas de controle do
fluxo de execução – seqüência, seleção e
repetição – e da combinação delas, pode-se criar
um algoritmo para solucionar qualquer problema.
Instruções Básicas
• As instruções (ou comandos) são
representadas pelo conjunto de palavras-chave
(vocabulário) de uma determinada linguagem de
programação, que tem por finalidade comandar
em um computador:
• o seu funcionamento e
• a forma como os dados armazenados deverão ser
tratados.
Algorítmo Seqüencial
• É o conjunto de ações primitivas que serão
executadas numa seqüência linear de cima para
baixo e da esquerda para a direita, isto é, na
mesma ordem em que foram escritas.
Algorítmo Seqüencial
Algoritmo media;
Variáveis
n1,n2,media: real;
inicio
escreva(‘Digite a nota 1: ‘);
leia(n1);
escreva(‘Digite a nota 2: ‘);
leia(n2);
media:=((n1+n2)/2);
escreva(‘A média é: ‘, media);
fim.
Algorítmo Seqüencial
Início

Comando1

Comando2

Comando3

Comando N

Fim
Atribuição de Dados (Comando de
Atribuição)
• Quando necessita-se colocar um valor em uma
variável tem-se duas formas:
• atribuindo-se diretamente um valor a ela ou
• através de um comando de entrada de dados (leitura).

• Um comando de atribuição permite fornecer um


valor a uma certa variável, onde:
• o tipo desta informação deve ser compatível com o tipo
da variável:
• Ex: para atribuir um valor lógico a uma variável é preciso que
ela tenha sido declarada do tipo lógico antes.
Atribuição de Dados (Comando de
Atribuição)

No caso de atribuição direta utiliza-se a seguinte


sintaxe:
<nome_variável> := <expressão>;
onde:
 <nome_variável> é o nome da variável à qual está
sendo atribuído o valor;
 := o símbolo de atribuição (dependendo da linguagem
de programação, o símbolo de atribuição pode variar,
entre: := ou );
 <expressão> pode ser uma variável, um valor ou uma
expressão (aritmética ou lógica).
Atribuição de Dados (Comando de
Atribuição)

texto:= ‘ab’;
teste:= .F.; OBS.: O ato
de
B:= 5; acompanhar
A:= 15; A B teste texto o conteúdo
das variáveis,
A:= 32; conforme o
exemplo ao
B:= A – B; lado, chama-
A:= A + 4; se TESTE DE
MESA.
teste:= (A mod 2) >= (B mod 3);
texto:= ‘algoritmo’;
Atribuição de Dados (Comando de Atribuição)

• Esses comandos atribuem às variáveis A, B, teste e


texto os valores fornecidos à direita do símbolo de
atribuição.
• Não se pode esquecer que uma seqüência de
atribuições faz com que o conteúdo da variável
modifique.
• Nos comandos em que o valor é representado por
uma expressão aritmética ou lógica (teste:= (A mod
2) >= (B mod 3)), estas devem ser avaliadas em
primeiro lugar para que, então, o resultado obtido
seja armazenado na variável.
Atribuição de Dados (Comando de Atribuição)
Exercício de Fixação

 Analisando a declaração de variáveis abaixo:


...
Variáveis
soma, num, x: inteiro;
nome, cor, dia: caracter;
teste, cod, tudo: lógico;

 Assinalar os comandos de atribuição considerados inválidos.


Justifique.
a) nome:= 5; e) soma:= num + 2 * x;
b) teste:= cod .ou. ((x * x) <> soma); f) tudo:= soma;
c) cor:= ‘preto’ - x; g) num:= ‘87’;
d) dia:= ‘Segunda’; h) x:= soma;
Entrada, Processamento e
Saída
• Todo programa de computador trabalha com três
conceitos:
• a entrada de dados,
• o seu processamento e
• a saída dos mesmos.
Entrada, Processamento e
Saída
• Se os dados forem entrados de forma errada,
serão conseqüentemente processados de forma
errada e resultarão em respostas erradas.

• O processo de execução de um programa ocorre


da seguinte forma:
• após a entrada de dados com a instrução leia;
• o processamento será uma conseqüência da
manipulação dos conteúdos;
• e a saída dos mesmos com a instrução escreva.
Comando de Entrada (Leitura)
• Outra forma de colocar um valor em uma variável
é através de um comando de entrada de dados
(leitura).

• O comando que é capaz de inserir informações


no computador, é o LEIA.

• O comando LEIA, possui como finalidade atribuir


a informação à uma determinada variável
previamente identificada.
Comando de Entrada (Leitura)
• Neste caso, utiliza-se a seguinte sintaxe:
leia (<variável>);
ou
leia (<lista_de_variáveis>);
onde:
Leia palavra chave (instrução)
variável, local onde um dado será
armazenado
lista_de_variáveis nome das variáveis (devem estar
separados por vírgula quando for
mais de uma)
Comando de Entrada (Leitura)
• Ex.: Deseja-se converter o salário de R$ 300,00 para
dólar. O que devemos fazer?
1) variáveis: resultado: real
2) resultado:=300/3
3) escreva resultado

• Suponhamos que desejássemos converter outro


salário, cujo valor é de R$ 450,00. O que teríamos
que fazer?
1)
2)
3)
Comando de Entrada (Leitura)
• Para não ter que alterar o programa a todo
momento, é preciso escrever um algorítmo
genérico, que sirva para qualquer valor de salário
e qualquer cotação do dólar.
• Isto pode ser feito através do comando de leitura
(leia).
• No comando de leitura, uma variável recebe um valor
que é digitado pelo usuário.
Comando de Leitura (leia)
• Ex.: leitura de dados:
leia(a);
leia(nomeAluno);
leia(idadeAluno);
leia(notaAluno);
Comando de Saída (Escrita)
• Assim como a leitura, o comando de escrita
também permite a comunicação do programa
com o usuário.

• Pode-se definir escrita como sendo a exibição de


dados e resultados.

• De nada serve um programa que calcula valores


e não os retorna para o usuário.
Comando de Saída (Escrita)
 Sintaxe do comando de saída:
escreva (<variável >);
escreva (<lista_de_variáveis >);
escreva (<mensagem >);

 onde:
escreva: palavra chave (instrução) de saída de dados

lista_de_variáveis: nome das variáveis, cujos conteúdos serão


mostrados ao usuário no monitor.

mensagem: representam frases informativas.

 OBS.: As mensagens deverão sempre estar delimitadas por aspas (“ ”)


ou apóstrofes(‘ ’), dependendo da linguagem. No caso de Pzim deve-se
usar os apóstrofes.
Comando de Saída (Escrita)
• Ex.: Os comandos abaixo mostram formas
diferentes da saída de dados:
escreva (A);
escreva (X, media);
escreva (‘Lógica de Programação’);
escreva (‘Média = ’ , media);
Comando de Saída (Escrita)
• Ex.: “Deverá ser criado um algoritmo que efetue a leitura de
dois valores inteiros. Faça a operação de soma entre os
dois valores e apresente o resultado obtido”.
• Note que:
• sempre estaremos diante de um problema, e que deverá ser
resolvido primeiro por nós, para que depois seja resolvido por um
computador.
• Passos:
• primeiro deve-se entender bem o problema;
• e depois pensar em sua solução
• depois pensar em como realizar solucionar o problema por meio do
desenvolvimento de um algoritmo.
• Desta forma, o segredo de uma boa lógica está na
compreensão adequada do problema a ser solucionado.
Como eu fazer pra praticar?
1. Codecademy: Oferece cursos interativos gratuitos em diversas linguagens de programação,
como Python, Java, JavaScript e Ruby. Você pode fazer exercícios diretamente no navegador
e receber feedback instantâneo.
2. HackerRank: Encontrará desafios de programação em diferentes níveis de dificuldade e
categorias, como algoritmos, estruturas de dados e matemática. Escolha sua linguagem
preferida e submeta seu código para avaliação.
3. Codewars: Oferece katas (exercícios) gamificados que aumentam em complexidade à
medida que você avança. Além disso, você pode comparar suas soluções com as de outros
usuários.
4. Beecrowd: É um site brasileiro com mais de 3000 problemas de programação divididos em
categorias como iniciante, ad-hoc, strings e grafos. Envie seu código em várias linguagens e
veja sua pontuação no ranking.
5. Exercism: É uma plataforma gratuita que oferece exercícios de programação em mais de 50
linguagens diferentes. Ele ajuda a melhorar suas habilidades de resolução de problemas,
pensamento crítico e lógica de programação.
6. LeetCode: Foca em problemas de programação relacionados a entrevistas de emprego em
empresas de tecnologia. Escolha entre problemas fáceis, médios ou difíceis e pratique com
diversas linguagens.
7. CodeChef: Organiza competições mensais de programação com problemas variados e
premiações.
Exercícios
1. Mostre o desenvolvimento (teste de mesa) do valor das variáveis
dos algoritmos abaixo e, também, mostre o que será escrito a
cada comando escreva.
2. Faça um algoritmo que leia 3 notas de um aluno. Calcule a média
destas notas. Mostre o resultado final.
3. Faça um algoritmo que leia 2 números e mostre o quociente e o
resto desta divisão.
4. Faça um algoritmo que leia um determinado valor e escreva este
valor multiplicado por 5.
5. Faça um algoritmo que dado o salário de um funcionário de uma
empresa qualquer, calcule um aumento de 30% sobre o salário.
Escreva o novo salário.
6. Faça um algoritmo que leia 3 variáveis, do tipo caracter. A seguir
troque o valor das 3 variáveis A, B e C, de forma que A fique com
o valor de B, B com o valor de C e C com o valor de A. Mostre os
valores finais.

Você também pode gostar