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
• 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.
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;
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
• 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!
16. 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;
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ão operadores disponíveis no Português estruturado;
• São usados para realização de cálculos matemáticos básicos;
19. Operadores Relacionais
• Operadores relacionais realizam a comparação entre dois operadores;
• Expressões com operadores relacionais resultam nos valores lógicos
(VERDADEIRO ou FALSO);
20. 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)
21. Operadores lógicos
• A tabela verdade, possíveis resultados, dos operadores lógicos está
descrita abaixo:
22. 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;
23. 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
24. Ordem de Execução dos Operadores Lógicos
• O mesmo ocorre para os operadores Lógicos;
25. 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:
28. 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;
29. Forma Geral de um Algoritmo
• Na imagem abaixo temos uma visão geral da estrutura do
código:
30. 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.
31. 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
32. 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:
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ã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;
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.
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 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”;