1 - Introdução à Lógica de Programação - Comandos Básicos.pptx
O documento descreve uma unidade curricular sobre lógica de programação. Ele inclui o cronograma, distribuição de pontuação, detalhes sobre o trabalho final e conceitos básicos de algoritmos e programação.
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;
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:
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.
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”;