Lógica de Programação
Reconhecendo a Lógica de Programação e aplicando nos sistemas
eletrônicos
Cronograma
• Carga horária: 45 horas;
• Dias Letivos: 12 dias;
• Início da UC: 08/06/2022
• Fim da UC: 27/06/2022
Distribuição de Pontuação
• Atividades de Sala de Aula: 30 pontos;
• Trabalho Final: 20 pontos;
• Avaliação Final: 30;
• Participação das atividades/ comportamento em sala: 20 pontos;
• DDS: - 5 pontos por DDS não Realizado.
Trabalho Final
• Nessa UC você deverá desenvolver um projeto, utilizando a linguagem
Português Estruturado, para melhoria de alguma atividade do
cotidiano. Esse projeto deverá conter as estruturas aprendidas no
decorrer da UC. Ao Final ele será testado, e deverá facilitar algum
processo do nosso cotidiano.
• Antes de iniciar o projeto apresente a proposta para o instrutor, para
que ele dê o positivo para inicio do projeto.
• Não serão aceitos projetos simples, conforme nas atividades das listas
de exercícios.
Algoritmo não Computacional
• O que é um algoritmo?
• É uma sequência de instruções finitas
e ordenada de forma lógica para a
resolução de uma determinada tarefa
ou problema.
• Exemplos de algoritmos:
• instruções de Montagem;
• receitas;
• manuais de uso, etc.
Algoritmo não Computacional
• Esse algoritmo não é a solução de um problema;
• Este é apenas um caminho de muitos para se chegar a
solução de determinado problema;
• Em geral existem infinitos caminhos para se chegar a
soluções de um problema;
• O algoritmo não computacional é um algoritmo cuja
sequencia de passos, a principio, não pode ser executada por
um computador;
Algoritmo não Computacional
• Em geral o termo algoritmo está ligado à Ciência da
Computação;
• Porém pode ser aplicado a qualquer problema cuja solução
possa ser decomposta em um grupo de instruções:
• No próximo slide é apresentado um algoritmo não
computacional para usar um telefone publico;
Algoritmo não Computacional
Algoritmo não Computacional
• Outro Exemplo de algoritmo pode ser apresentado em uma
receita para Fritar um ovo:
1. Colocar um ovo na frigideira;
2. Esperar o ovo ficar frito;
3. Remover o ovo da frigideira;
• O que observamos nesse algoritmo?
• Baixo detalhamento da sequência do algoritmo.;
• No próximo slide é apresentado a solução para o mesmo
problema, mas com um maior detalhamento:
Algoritmo não Computacional
1. Retirar o ovo da geladeira;
2. Colocar a frigideira no fogo;
3. Colocar óleo
4. Esperar até o óleo ficar quente;
5. Quebrar o ovo separando a casca;
6. Colocar o conteúdo do ovo na frigideira
7. Esperar um minuto
8. Retirar o ovo da frigideira;
9. Apagar o foco
Algoritmo não Computacional
• Maior detalhamento dos comandos subentendidos no
primeiro;
• Necessidade de conhecimento dos termos utilizados para dá
os comandos, Ex: Verbos e substantivos;
• Ou seja, a linguagem utilizada para escrever e para executar
o algoritmo deve ser a mesma;
• O mesmo vale para algoritmos computacionais, a linguagem
deve ter comandos escritos corretamente e sem
ambiguidade;
Algoritmo não Computacional
• Como o Português é um idioma complexo, a linguagem de
programação para computador não o utiliza como base;
• Existem diversas linguagens de programação: C, C++, Java,
Java script, Python, etc;
• A principio não trabalharemos com nenhuma dessas, devido
ao seu alto grau de complexidade;
• Qual Linguagem utilizaremos?
• Português Estruturado, também conhecido como Portugol.
Algoritmo não Computacional
• O português estruturado é uma simplificação extrema do
português, Limitada a poucas palavras;
• Dá-se o nome de Sintaxe da Linguagem, o conjunto de
regras e palavras que definem as sentenças do português
estruturado;
• Conhecer as palavras e regras que fazem parte dessa sintaxe
é fundamental;
• Porém focaremos nossa UC em aprender a resolver
problemas;
Algoritmos Computacionais
• Computadores, a principio, não executa nada;
• Toda tarefa executada por um computador deve ser
executada por um programa;
• Esse programa é um conjunto de milhares de instruções que
indicam ao computador o passo a passo, de o que tem que
ser feito;
• Essa programa é simplesmente um algoritmo computacional
descrito em uma linguagem de programação;
Algoritmos Computacionais
• A linguagem de programação contem:
• Comandos para escrever algo na tela do computador;
• Comandos para realizar cálculos aritméticos;
• Comandos para receber uma entrada de dados via teclado;
• Dentre outras dezenas de comandos;
• O termo processamento de dados é muitas vezes utilizado em
conjunto com computadores;
• Em geral computadores Processam dados!
Algoritmos Computacionais
• Um algoritmo computacional é composto de dados e códigos;
• Dados são os valores (números, nomes, etc);
• Já código são os comandos ou instruções que usaremos para
“processar” os dados;
Linearização de Expressões
• Para se construir algoritmos que realizam cálculos é necessária a
linearização de uma equação matemática;
• Linearizar uma equação matemática, é escreve-la em linha, como no
exemplo abaixo:
Operadores Aritméticos
• São operadores disponíveis no Português estruturado;
• São usados para realização de cálculos matemáticos básicos;
Operadores Relacionais
• Operadores relacionais realizam a comparação entre dois operadores;
• Expressões com operadores relacionais resultam nos valores lógicos
(VERDADEIRO ou FALSO);
Operadores lógicos
• Os operadores lógicos utilizam o principio de funcionamento das
portas lógicas;
• Retornam como respostas os valores lógicos (VERDADEIRO ou FALSO)
Operadores lógicos
• A tabela verdade, possíveis resultados, dos operadores lógicos está
descrita abaixo:
Ordem de Execução dos Operadores
• Os operadores podem ser unidos para ter condições mais
complexas;
• Utiliza-se da Modulação para definir prioridades da execução
da operação;
• Na programação utilizamos somente “()” parênteses para
modular;
• Equações dentro do parênteses são sempre realizadas
primeiras;
Ordem de Execução dos Operadores
Aritméticos
• Como na matemática, existe uma ordem de prioridade dos
operadores aritméticos;
• Na tabela abaixo é apresentada essa ordem
Ordem de Execução dos Operadores Lógicos
• O mesmo ocorre para os operadores Lógicos;
Ordem de execução dos Operadores
• Mas afinal, qual operador executar primeiro?
• A prioridade dos operadores é definida abaixo, onde o maior grau de
prioridade é executado primeiro:
Exemplos
2 + 5 > 4
3 <> 3
(2 + 5 > 4)𝑒(3 <> 3)
(2 + 2)/2
2 + 2/2
VERDADEIRO
FALSO
VERDADEIRO FALSO
FALSO
2
3
Exemplos
2 > 3 𝑜𝑢 3 < 2 𝑒 (2 < 3)
2 < 3 𝑒 3 < 2 𝑜𝑢 (2 < 3)
2 ∗ 5 > 3 𝑜𝑢 5 + 1 < 2 𝑒 2 < 7 − 2
(2 ∗ 5 > 3 𝑜𝑢) 5 + 1 < 2 𝑒 (2 < 7 − 2)
VERDADEIRO
FALSO FALSO FALSO
FALSO
FALSO
VERDADEIRO VERDADEIRO
FALSOVERDADEIRO
ERRO DE EXECUÇÃO
ERRO DE EXECUÇÃO
Forma Geral de um Algoritmo
• O português estruturado possui uma estrutura padrão, que
deverá está presente em todos os códigos;
• Outras linguagens também possuem uma estrutura padrão,
mas diferem um pouco do português estruturado;
• Primeiro iniciamos com o nome do algoritmo;
• Em seguida inserimos as variáveis do código, veremos logo
mais o que são variáveis;
• E por ultimo temos o inicio e o término do algoritmo;
Forma Geral de um Algoritmo
• Na imagem abaixo temos uma visão geral da estrutura do
código:
Forma Geral de um Algoritmo
• Na seção entre o inicio e o fimalgoritimo, é onde deve se
escrever os comandos do algoritmo;
• As palavras usadas para escrever os comandos são
conhecidas como palavras reservadas;
• As Variáveis são declaradas no código com nomes livres,
contudo não podem possuir nomes com palavras reservadas;
• Exemplos de palavras reservadas: algoritmo, escreva,
escreval, ler, etc.
Variáveis
• O que são variáveis?
• São espaços na memória de um
computador onde podemos
armazenar dados de um
determinado tipo;
• Comparemos as variáveis como
sendo uma prateleira
identificada, onde podemos
guardar algum tipo de objeto;
Brinquedos
Ferramentas
Variáveis
• Para inserir uma variável no nosso código, devemos inseri-la
no local adequado, identificado como VAR;
• Ela deve ter um identificador e um tipo, como mostra na
figura:
Identificação de Variável
• O identificador serve para referenciarmos a variável, através
dele podemos chamar a variável;
• Os identificadores devem seguir as seguintes regras:
Identificação de Variável
• Como mencionado anteriormente o identificador não pode ser uma
palavra reservada;
Tipo de Variável
• O tipo da variável indica que tipo de dado pode ser
armazenado na variável criada;
• Em português estruturado podemos ter :
Operador de Atribuição
• Após declarado identificador e o tipo da variável, devemos
utiliza-la no código;
• Para atribuir valor a essa variável devemos utilizar o
comando “< −” apontando para a esquerda, onde a variável
que está a esquerda recebe o valor ou variável a direita;
Operador de Atribuição
• Lembre-se, o tipo de dado atribuído deve ser do mesmo tipo da
variável declarada anteriormente;
• Outro ponto a ressaltar, é que a esquerda deve haver apenas um
identificador:
Comentários
• Comentários são textos que não são compilados ao código, e
servem para documentar questões relacionadas ao código;
• Para se criar um comentário basta utilizar “//” antes do texto
a ser comentado;
Comandos de E/S (Entrada/Saída)
• A exibição dos resultados processados pelo algoritmo é
essencial em algumas etapas da execução;
• Imagine uma calculadora que faz qualquer conta e não
possui o display para exibir o resultado, de que seria útil?
• Quando tratamos de linguagens de programação, todas
possuem comandos que escrevem resultados ou fazem
leitura de escritas do usuário.
Comandos de E/S (Entrada/Saída)
• No português estruturado para se escrever um resultado utilizamos o
comando ‘escreva’;
𝐸𝑠𝑐𝑟𝑒𝑣𝑎 < 𝑒𝑥𝑝𝑟𝑒𝑠𝑠ã𝑜 𝑜𝑢 𝑖𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑐𝑎𝑑𝑜𝑟 𝑜𝑢 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 >
No visualg ainda existe dois comandos ‘escreva’, onde cada um possui
uma função diferente.
Comandos de E/S (Entrada/Saída)
Exemplo:
Comandos de E/S (Entrada/Saída)
• Já para lê um valor escrito apelo usuário, utilizamos o comando ‘leia’;
𝐿𝑒𝑖𝑎 (< 𝐼𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑐𝑎𝑑𝑜𝑟𝑒𝑠 >)
Exemplo:
Comandos de E/S (Entrada/Saída)
• Ainda é possível escrever um texto para o usuário informando o que
está sendo solicitado;
• Exemplo:
Construindo os primeiros Algoritmos
• Sequência de desenvolvimento do algoritmo:
a. Entendimento do problema;
b. Elaboração da solução algorítmica;
c. Codificação da solução no Português Estruturado;
• Das etapas acimas descritas a mais complexa é a segunda etapa, pois
depende da engenhosidade e experiência do “construtor”;
Exemplo 1
Solução 1
Exemplo 2
Solução 2
Exemplo 3
Solução 3
1 - Introdução à Lógica de Programação - Comandos Básicos.pptx

1 - Introdução à Lógica de Programação - Comandos Básicos.pptx

  • 1.
    Lógica de Programação Reconhecendoa Lógica de Programação e aplicando nos sistemas eletrônicos
  • 2.
    Cronograma • Carga horária:45 horas; • Dias Letivos: 12 dias; • Início da UC: 08/06/2022 • Fim da UC: 27/06/2022
  • 3.
    Distribuição de Pontuação •Atividades de Sala de Aula: 30 pontos; • Trabalho Final: 20 pontos; • Avaliação Final: 30; • Participação das atividades/ comportamento em sala: 20 pontos; • DDS: - 5 pontos por DDS não Realizado.
  • 4.
    Trabalho Final • NessaUC você deverá desenvolver um projeto, utilizando a linguagem Português Estruturado, para melhoria de alguma atividade do cotidiano. Esse projeto deverá conter as estruturas aprendidas no decorrer da UC. Ao Final ele será testado, e deverá facilitar algum processo do nosso cotidiano. • Antes de iniciar o projeto apresente a proposta para o instrutor, para que ele dê o positivo para inicio do projeto. • Não serão aceitos projetos simples, conforme nas atividades das listas de exercícios.
  • 5.
    Algoritmo não Computacional •O que é um algoritmo? • É uma sequência de instruções finitas e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. • Exemplos de algoritmos: • instruções de Montagem; • receitas; • manuais de uso, etc.
  • 6.
    Algoritmo não Computacional •Esse algoritmo não é a solução de um problema; • Este é apenas um caminho de muitos para se chegar a solução de determinado problema; • Em geral existem infinitos caminhos para se chegar a soluções de um problema; • O algoritmo não computacional é um algoritmo cuja sequencia de passos, a principio, não pode ser executada por um computador;
  • 7.
    Algoritmo não Computacional •Em geral o termo algoritmo está ligado à Ciência da Computação; • Porém pode ser aplicado a qualquer problema cuja solução possa ser decomposta em um grupo de instruções: • No próximo slide é apresentado um algoritmo não computacional para usar um telefone publico;
  • 8.
  • 9.
    Algoritmo não Computacional •Outro Exemplo de algoritmo pode ser apresentado em uma receita para Fritar um ovo: 1. Colocar um ovo na frigideira; 2. Esperar o ovo ficar frito; 3. Remover o ovo da frigideira; • O que observamos nesse algoritmo? • Baixo detalhamento da sequência do algoritmo.; • No próximo slide é apresentado a solução para o mesmo problema, mas com um maior detalhamento:
  • 10.
    Algoritmo não Computacional 1.Retirar o ovo da geladeira; 2. Colocar a frigideira no fogo; 3. Colocar óleo 4. Esperar até o óleo ficar quente; 5. Quebrar o ovo separando a casca; 6. Colocar o conteúdo do ovo na frigideira 7. Esperar um minuto 8. Retirar o ovo da frigideira; 9. Apagar o foco
  • 11.
    Algoritmo não Computacional •Maior detalhamento dos comandos subentendidos no primeiro; • Necessidade de conhecimento dos termos utilizados para dá os comandos, Ex: Verbos e substantivos; • Ou seja, a linguagem utilizada para escrever e para executar o algoritmo deve ser a mesma; • O mesmo vale para algoritmos computacionais, a linguagem deve ter comandos escritos corretamente e sem ambiguidade;
  • 12.
    Algoritmo não Computacional •Como o Português é um idioma complexo, a linguagem de programação para computador não o utiliza como base; • Existem diversas linguagens de programação: C, C++, Java, Java script, Python, etc; • A principio não trabalharemos com nenhuma dessas, devido ao seu alto grau de complexidade; • Qual Linguagem utilizaremos? • Português Estruturado, também conhecido como Portugol.
  • 13.
    Algoritmo não Computacional •O português estruturado é uma simplificação extrema do português, Limitada a poucas palavras; • Dá-se o nome de Sintaxe da Linguagem, o conjunto de regras e palavras que definem as sentenças do português estruturado; • Conhecer as palavras e regras que fazem parte dessa sintaxe é fundamental; • Porém focaremos nossa UC em aprender a resolver problemas;
  • 14.
    Algoritmos Computacionais • Computadores,a principio, não executa nada; • Toda tarefa executada por um computador deve ser executada por um programa; • Esse programa é um conjunto de milhares de instruções que indicam ao computador o passo a passo, de o que tem que ser feito; • Essa programa é simplesmente um algoritmo computacional descrito em uma linguagem de programação;
  • 15.
    Algoritmos Computacionais • Alinguagem de programação contem: • Comandos para escrever algo na tela do computador; • Comandos para realizar cálculos aritméticos; • Comandos para receber uma entrada de dados via teclado; • Dentre outras dezenas de comandos; • O termo processamento de dados é muitas vezes utilizado em conjunto com computadores; • Em geral computadores Processam dados!
  • 16.
    Algoritmos Computacionais • Umalgoritmo computacional é composto de dados e códigos; • Dados são os valores (números, nomes, etc); • Já código são os comandos ou instruções que usaremos para “processar” os dados;
  • 17.
    Linearização de Expressões •Para se construir algoritmos que realizam cálculos é necessária a linearização de uma equação matemática; • Linearizar uma equação matemática, é escreve-la em linha, como no exemplo abaixo:
  • 18.
    Operadores Aritméticos • Sãooperadores disponíveis no Português estruturado; • São usados para realização de cálculos matemáticos básicos;
  • 19.
    Operadores Relacionais • Operadoresrelacionais realizam a comparação entre dois operadores; • Expressões com operadores relacionais resultam nos valores lógicos (VERDADEIRO ou FALSO);
  • 20.
    Operadores lógicos • Osoperadores lógicos utilizam o principio de funcionamento das portas lógicas; • Retornam como respostas os valores lógicos (VERDADEIRO ou FALSO)
  • 21.
    Operadores lógicos • Atabela verdade, possíveis resultados, dos operadores lógicos está descrita abaixo:
  • 22.
    Ordem de Execuçãodos Operadores • Os operadores podem ser unidos para ter condições mais complexas; • Utiliza-se da Modulação para definir prioridades da execução da operação; • Na programação utilizamos somente “()” parênteses para modular; • Equações dentro do parênteses são sempre realizadas primeiras;
  • 23.
    Ordem de Execuçãodos Operadores Aritméticos • Como na matemática, existe uma ordem de prioridade dos operadores aritméticos; • Na tabela abaixo é apresentada essa ordem
  • 24.
    Ordem de Execuçãodos Operadores Lógicos • O mesmo ocorre para os operadores Lógicos;
  • 25.
    Ordem de execuçãodos Operadores • Mas afinal, qual operador executar primeiro? • A prioridade dos operadores é definida abaixo, onde o maior grau de prioridade é executado primeiro:
  • 26.
    Exemplos 2 + 5> 4 3 <> 3 (2 + 5 > 4)𝑒(3 <> 3) (2 + 2)/2 2 + 2/2 VERDADEIRO FALSO VERDADEIRO FALSO FALSO 2 3
  • 27.
    Exemplos 2 > 3𝑜𝑢 3 < 2 𝑒 (2 < 3) 2 < 3 𝑒 3 < 2 𝑜𝑢 (2 < 3) 2 ∗ 5 > 3 𝑜𝑢 5 + 1 < 2 𝑒 2 < 7 − 2 (2 ∗ 5 > 3 𝑜𝑢) 5 + 1 < 2 𝑒 (2 < 7 − 2) VERDADEIRO FALSO FALSO FALSO FALSO FALSO VERDADEIRO VERDADEIRO FALSOVERDADEIRO ERRO DE EXECUÇÃO ERRO DE EXECUÇÃO
  • 28.
    Forma Geral deum Algoritmo • O português estruturado possui uma estrutura padrão, que deverá está presente em todos os códigos; • Outras linguagens também possuem uma estrutura padrão, mas diferem um pouco do português estruturado; • Primeiro iniciamos com o nome do algoritmo; • Em seguida inserimos as variáveis do código, veremos logo mais o que são variáveis; • E por ultimo temos o inicio e o término do algoritmo;
  • 29.
    Forma Geral deum Algoritmo • Na imagem abaixo temos uma visão geral da estrutura do código:
  • 30.
    Forma Geral deum Algoritmo • Na seção entre o inicio e o fimalgoritimo, é onde deve se escrever os comandos do algoritmo; • As palavras usadas para escrever os comandos são conhecidas como palavras reservadas; • As Variáveis são declaradas no código com nomes livres, contudo não podem possuir nomes com palavras reservadas; • Exemplos de palavras reservadas: algoritmo, escreva, escreval, ler, etc.
  • 31.
    Variáveis • O quesão variáveis? • São espaços na memória de um computador onde podemos armazenar dados de um determinado tipo; • Comparemos as variáveis como sendo uma prateleira identificada, onde podemos guardar algum tipo de objeto; Brinquedos Ferramentas
  • 32.
    Variáveis • Para inseriruma variável no nosso código, devemos inseri-la no local adequado, identificado como VAR; • Ela deve ter um identificador e um tipo, como mostra na figura:
  • 33.
    Identificação de Variável •O identificador serve para referenciarmos a variável, através dele podemos chamar a variável; • Os identificadores devem seguir as seguintes regras:
  • 34.
    Identificação de Variável •Como mencionado anteriormente o identificador não pode ser uma palavra reservada;
  • 35.
    Tipo de Variável •O tipo da variável indica que tipo de dado pode ser armazenado na variável criada; • Em português estruturado podemos ter :
  • 36.
    Operador de Atribuição •Após declarado identificador e o tipo da variável, devemos utiliza-la no código; • Para atribuir valor a essa variável devemos utilizar o comando “< −” apontando para a esquerda, onde a variável que está a esquerda recebe o valor ou variável a direita;
  • 37.
    Operador de Atribuição •Lembre-se, o tipo de dado atribuído deve ser do mesmo tipo da variável declarada anteriormente; • Outro ponto a ressaltar, é que a esquerda deve haver apenas um identificador:
  • 38.
    Comentários • Comentários sãotextos que não são compilados ao código, e servem para documentar questões relacionadas ao código; • Para se criar um comentário basta utilizar “//” antes do texto a ser comentado;
  • 39.
    Comandos de E/S(Entrada/Saída) • A exibição dos resultados processados pelo algoritmo é essencial em algumas etapas da execução; • Imagine uma calculadora que faz qualquer conta e não possui o display para exibir o resultado, de que seria útil? • Quando tratamos de linguagens de programação, todas possuem comandos que escrevem resultados ou fazem leitura de escritas do usuário.
  • 40.
    Comandos de E/S(Entrada/Saída) • No português estruturado para se escrever um resultado utilizamos o comando ‘escreva’; 𝐸𝑠𝑐𝑟𝑒𝑣𝑎 < 𝑒𝑥𝑝𝑟𝑒𝑠𝑠ã𝑜 𝑜𝑢 𝑖𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑐𝑎𝑑𝑜𝑟 𝑜𝑢 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 > No visualg ainda existe dois comandos ‘escreva’, onde cada um possui uma função diferente.
  • 41.
    Comandos de E/S(Entrada/Saída) Exemplo:
  • 42.
    Comandos de E/S(Entrada/Saída) • Já para lê um valor escrito apelo usuário, utilizamos o comando ‘leia’; 𝐿𝑒𝑖𝑎 (< 𝐼𝑑𝑒𝑛𝑡𝑖𝑓𝑖𝑐𝑎𝑑𝑜𝑟𝑒𝑠 >) Exemplo:
  • 43.
    Comandos de E/S(Entrada/Saída) • Ainda é possível escrever um texto para o usuário informando o que está sendo solicitado; • Exemplo:
  • 44.
    Construindo os primeirosAlgoritmos • Sequência de desenvolvimento do algoritmo: a. Entendimento do problema; b. Elaboração da solução algorítmica; c. Codificação da solução no Português Estruturado; • Das etapas acimas descritas a mais complexa é a segunda etapa, pois depende da engenhosidade e experiência do “construtor”;
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.