Curso - 222RGR0049A - ALGORITMOS E PROGRAMAÇÃO
Curso - 222RGR0049A - ALGORITMOS E PROGRAMAÇÃO
Curso - 222RGR0049A - ALGORITMOS E PROGRAMAÇÃO
br
ALGORITMOS E
PROGRAMAÇÃO
Me. Ricardo Zanni Mendes da Silveira
INICIAR
https://ambienteacademico.com.br/course/view.php?id=18286 1/46
24/11/2022 11:36 Ead.br
introdução
Introdução
Nesta unidade serão abordados os princípios básicos das formas de
compreensão e de construção de algoritmos para o aprendizado dos tipos de
algoritmos, desde a linguagem natural, passando pelo fluxograma até chegar
no pseudocódigo, em que serão descritos detalhes dos comandos de entrada
e saída, os tipos de processamentos, os tipos de dados, variáveis e
constantes, bem como suas formas de serem apresentadas ao pseudocódigo
e à linguagem de programação. Serão estudados, também, as expressões
lógicas e aritméticas, os operadores matemáticos e lógicos, a construção da
tabela verdade e a estrutura de um algoritmo, que irão proporcionar ao aluno
o aprendizado de conceitos da lógica de programação na resolução de
problemas.
https://ambienteacademico.com.br/course/view.php?id=18286 2/46
24/11/2022 11:36 Ead.br
Introdução à Lógica de
Programação
https://ambienteacademico.com.br/course/view.php?id=18286 3/46
24/11/2022 11:36 Ead.br
Conceitos Iniciais
Os seres humanos sempre estiveram determinados em desenvolver
máquinas que os ajudassem com suas tarefas cotidianas, com o objetivo de
economizar tempo e minimizar as dificuldades. No meio dessas máquinas, o
computador vem se destacando por ser um dispositivo flexível, veloz e seguro
(ASCENCIO; CAMPOS, 2012).
É muito comum em nosso dia a dia nos depararmos com diversos exemplos
de algoritmos. Um exemplo é a receita de bolo, em que está descrito um
conjunto de ingredientes essenciais, com suas respectivas quantidades e uma
sequência de passos que devem ser executados para que o resultado final
seja alcançado com sucesso (GUEDES, 2014).
https://ambienteacademico.com.br/course/view.php?id=18286 4/46
24/11/2022 11:36 Ead.br
De acordo com Guedes (2014), cada tarefa que realizamos no nosso dia a dia
é um algoritmo, que atua como uma receita, obedecendo às etapas
necessárias para chegar ao resultado final.
reflita
Reflita
É fundamental entender que todo algoritmo é finito!
https://ambienteacademico.com.br/course/view.php?id=18286 5/46
24/11/2022 11:36 Ead.br
saiba mais
Saiba mais
Para entender um pouco mais sobre a
construção de algoritmos, assista ao vídeo
“Como ensinar linguagem de programação
para uma criança”, em que um pai pede para
seus filhos instruções de como fazer um
sanduíche. Acesse o vídeo disponível.
ASSISTIR
https://ambienteacademico.com.br/course/view.php?id=18286 6/46
24/11/2022 11:36 Ead.br
Linguagem Natural
Linguagem natural ou descrição narrativa consiste em analisar o problema e
escrever utilizando uma linguagem natural, por exemplo, a língua portuguesa,
os passos para sua resolução (ASCENCIO; CAMPOS, 2012).
https://ambienteacademico.com.br/course/view.php?id=18286 7/46
24/11/2022 11:36 Ead.br
Fluxograma
O algoritmo baseado em fluxograma consiste em interpretar o enunciado do
problema e escrever os passos a serem seguidos para a solução do problema
utilizando símbolos gráficos predefinidos (ASCENCIO; CAMPOS, 2012).
https://ambienteacademico.com.br/course/view.php?id=18286 8/46
24/11/2022 11:36 Ead.br
Pseudocódigo
Também conhecido como portugol, o pseudocódigo consiste em interpretar o
enunciado do problema e escrever os passos a serem seguidos para sua
resolução por meio de regras predefinidas (ASCENCIO; CAMPOS, 2012).
Algoritmo
https://ambienteacademico.com.br/course/view.php?id=18286 9/46
24/11/2022 11:36 Ead.br
Leia N1, N2
M ← N1 * N2
Fim_Algoritmo.
#include<stdio.h>
int main()
scanf("%d\n",&n1);
scanf("%d\n",&n2);
M=n2*n1 ;
https://ambienteacademico.com.br/course/view.php?id=18286 10/46
24/11/2022 11:36 Ead.br
Exemplo:
LEIA X
Nesse caso, um valor digitado pelo usuário será armazenado na variável X.Em
C será como o exemplo a seguir:
scanf("%d",&X);
Exemplo:
ESCREVA X
https://ambienteacademico.com.br/course/view.php?id=18286 11/46
24/11/2022 11:36 Ead.br
atividade
Atividade
Esse tipo de algoritmo consiste em interpretar o enunciado do problema e escrever
os passos a serem seguidos para sua resolução por meio de regras predefinidas.
Assinale a alternativa que mais se adequa com as características desse tipo de
algoritmo.
a)
Linguagem de programação.
b)
Linguagem natural.
c)
Fluxograma.
d)
Pseudocódigo.
e)
Lógica de programação.
https://ambienteacademico.com.br/course/view.php?id=18286 12/46
24/11/2022 11:36 Ead.br
Variáveis, Operadores e
Constantes
https://ambienteacademico.com.br/course/view.php?id=18286 13/46
24/11/2022 11:36 Ead.br
Constantes
Quando um dado não sofre nenhuma alteração no decorrer da execução do
programa, ou seja, quando seu valor se mantém constante do início até o fim
da execução do programa, esse dado é considerado uma constante
(FORBELLONE, 2005).
Vamos fazer uma analogia igual, igual a utilizada em uma variável, como
exemplo de uma constante no estacionamento da faculdade. A diretoria,
ao chegar no estacionamento para guardar seu veículo, possui uma vaga
fixa, ou seja, seu veículo sempre será estacionado na mesma vaga. Esse é
um exemplo de uma constante, pois, nesse caso, todos os dias eles irá
https://ambienteacademico.com.br/course/view.php?id=18286 14/46
24/11/2022 11:36 Ead.br
https://ambienteacademico.com.br/course/view.php?id=18286 15/46
24/11/2022 11:36 Ead.br
+ Adição 1 + 2, A + B
– Subtração 6 – 3, A – B
* Multiplicação 2 * 4, A * B
Raiz quadrada
rad(x) Radiciação rad(25)
de x
Tabela 1.2 – Potenciação e radiciação.
https://ambienteacademico.com.br/course/view.php?id=18286 16/46
24/11/2022 11:36 Ead.br
9 mod 4 resulta em 1
mod Resto da divisão 27 mod 5 resulta em
2
9 div 4 resulta em 2
Prioridade Operadores
2ª pot rad
3ª * / div mod
4ª +-
Tabela 1.4 – Precedência entre os operadores aritméticos
a. 4 + 2 + 6/2
4 + 2 + 3
https://ambienteacademico.com.br/course/view.php?id=18286 17/46
24/11/2022 11:36 Ead.br
b. 4 – 2 * 6/3 – pot(2,3)
4 – 2 * 6/3 – 8
4 – 12/3 – 8
4 – 4 – 8
- 8
16 – 6/3 + 1
16 – 2 + 1
15
https://ambienteacademico.com.br/course/view.php?id=18286 18/46
24/11/2022 11:36 Ead.br
== Igual a 2 == 2, A == B
Exemplos:
a. 3 * 4 = 24/2
12 = 12
3 > 1
10 div 3 <= 8 /2
3 <= 4
https://ambienteacademico.com.br/course/view.php?id=18286 19/46
24/11/2022 11:36 Ead.br
Operador Função
não negação
e conjunção
ou disjunção
Tabela 1.6 – Operadores lógicos
A não A
F V
V F
Tabela 1.7 – Operação de negação
https://ambienteacademico.com.br/course/view.php?id=18286 20/46
24/11/2022 11:36 Ead.br
A B AeB
F F F
F V F
V F F
V V V
Tabela 1.8 – Operação de conjunção
A B A ou B
F F F
F V V
V F V
V V V
Tabela 1.9 – Operação de disjunção
a. Se chover
e
relampejar, eu fico em casa.
https://ambienteacademico.com.br/course/view.php?id=18286 21/46
24/11/2022 11:36 Ead.br
b. Se chover
ou
relampejar eu fico em casa.
Com o operador lógico ou, as possibilidades de “eu fico em casa” são maiores,
pois, de acordo com a tabela verdade, a proposição se tornará verdadeira nos
casos: somente chovendo, somente relampejando e chovendo e
relampejando.
V e 5 = 5
V = V
d. 2 < 5 ou 15/3 = 5
V ou V
Prioridade Operadores
1ª não
2ª e
3ª ou
Tabela 1.10 – Operação de conjunção
https://ambienteacademico.com.br/course/view.php?id=18286 22/46
24/11/2022 11:36 Ead.br
Prioridade Operadores
2ª operadores aritméticos
3ª operadores relacionais
4ª operadores lógicos
Tabela 1.11 – Precedência entre todos os operadores
Exemplo:
não (F ou V e F ou V)
não (F ou F ou V)
não (F ou V)
não (V)
Estrutura Sequencial
De acordo com Forbellone (2005), uma estrutura sequencial de um algoritmo
está relacionada com o fato de que o conjunto de ações primitivas será
executado em uma sequência linear de cima para baixo e da esquerda para a
direita, ou seja, da mesma maneira em que foi escrita.
As ações serão seguidas de um ponto e vírgula (;), que tem por finalidade
separar uma ação de outra e auxiliar na organização sequencial das ações,
pois, ao encontrar um ponto e vírgula, se deve executar o próximo comando
na sequência (FORBELLONE, 2005).
https://ambienteacademico.com.br/course/view.php?id=18286 23/46
24/11/2022 11:36 Ead.br
Modelo básico em C
#include <stdio.h>
int main()
return 0;
https://ambienteacademico.com.br/course/view.php?id=18286 24/46
24/11/2022 11:36 Ead.br
Exemplo:
DECLARE
X NUMÉRICO
Y, Z LITERAL
TESTE LÓGICO
Exemplo:
X = 6
X = X + 2
Y = “nome”
teste = verdade
1. início
// começo do algoritmo
2.
3. Declare // declaração de variáveis
4. N1, N2, N3, N4 numérico // notas bimestrais
5. MA numérico // média anual
6.
7. // entrada de dados
8. Leia (N1, N2, N3, N4);
9.
10. // processamento
https://ambienteacademico.com.br/course/view.php?id=18286 25/46
24/11/2022 11:36 Ead.br
#include<stdio.h>
#include<stdlib.h>
int main(void)
//Entrada de dados
scanf("%f",¬a1);
scanf("%f",¬a2);
scanf("%f",¬a3);
scanf("%f",¬a4);
https://ambienteacademico.com.br/course/view.php?id=18286 26/46
24/11/2022 11:36 Ead.br
return 0;
reflita
Reflita
“Quando é criado um algoritmo, deve-se especificar ações
claras e precisas que, a partir de um estado inicial e após um
determinado tempo, podendo conseguir chegar no resultado
final esperado. Um algoritmo estabelece um padrão de
comportamento a ser seguido, com o objetivo de solucionar
um problema, garantindo que sempre que for feito do mesmo
modo, o resultado final será o mesmo.”
https://ambienteacademico.com.br/course/view.php?id=18286 27/46
24/11/2022 11:36 Ead.br
atividade
Atividade
É um tipo de dado que representa uma posição de memória e tem nome e tipo e
seu conteúdo pode variar ao longo do tempo de execução do programa e, embora
também possa assumir valores diferentes, a memória somente pode armazenar um
valor de cada vez.
a)
Constante.
b)
Variável.
c)
Operador aritmético.
d)
Operador relacional.
e)
Expressão lógica.
https://ambienteacademico.com.br/course/view.php?id=18286 28/46
24/11/2022 11:36 Ead.br
Estrutura de Seleção
se
<condição>
então
https://ambienteacademico.com.br/course/view.php?id=18286 29/46
24/11/2022 11:36 Ead.br
<conjunto de instruções>
fimse
if(x==y){
a = x+y;
Exemplo:
1. declare
2. numero numérico
3.
4. início
5.
6. leia (numero)
7.
8. se
((numero mod 2) = 1
então
9.
10. . escreva (“O número informado é ímpar”)
11.
12. fimse
13.
14. fim
.
https://ambienteacademico.com.br/course/view.php?id=18286 30/46
24/11/2022 11:36 Ead.br
int numero;
scanf("%d",&numero);
if (numero % 2 != 0)
se
<condição>
então
senão
fimse
if(x==y){
a = x+y;
https://ambienteacademico.com.br/course/view.php?id=18286 31/46
24/11/2022 11:36 Ead.br
else {
a= x-y;
Exemplo:
1. declare
2. salario, bônus, tempo numérico
3.
4. início
5.
6. leia (salario)
7. leia (tempo)
8.
9. se
(tempo >= 5)
então
10.
11. bônus ← salario * 0,20
12.
13. senão
14.
15. bônus ← salario * 0,10
16.
17. fimse
18.
19. escreva (“O valor do bônus é”, bônus)
20.
21. fim
.
https://ambienteacademico.com.br/course/view.php?id=18286 32/46
24/11/2022 11:36 Ead.br
#include<stdio.h>
#include<stdlib.h>
int main() {
float salario;
int tempo;
float bonus;
scanf("%f", &salario);
scanf("%d", &tempo);
if (tempo >= 5) {
else {
Nota-se que existe uma condição para a resposta verdadeira e outra condição
para a resposta falsa, sendo assim, caracterizado como uma estrutura de
https://ambienteacademico.com.br/course/view.php?id=18286 33/46
24/11/2022 11:36 Ead.br
seleção composta
(GUEDES, 2014).
https://ambienteacademico.com.br/course/view.php?id=18286 34/46
24/11/2022 11:36 Ead.br
atividade
Atividade
Uma estrutura de seleção permite a escolha de um grupo de ações a ser executado
quando determinadas condições são ou não satisfeitas, sendo que existem os
alguns tipos de seleção. Observe o código:
if(x<=y){
a = (x*y)+1;
a)
Simples.
b)
Composta.
c)
Múltipla escolha.
d)
Soma.
e)
Igualdade.
https://ambienteacademico.com.br/course/view.php?id=18286 35/46
24/11/2022 11:36 Ead.br
Introdução à Linguagem
de Programação
https://ambienteacademico.com.br/course/view.php?id=18286 36/46
24/11/2022 11:36 Ead.br
https://ambienteacademico.com.br/course/view.php?id=18286 37/46
24/11/2022 11:36 Ead.br
De acordo com Guedes (2014), os tipos de constantes, que são valores que
não sofrem alterações ao longo do desenvolvimento do algoritmo ou da
execução do programa, são expressos como dados constantes, como a raiz
quadrada de um número, constante de Napier (e) e o π que é o Pi, no caso o
seu valor nunca altera, por exemplo:; Pi = 3.14159265359, isso é uma
constante, ou, até mesmo, um valor informado que não se altera durante a
execução do algoritmo.
PROGRAM nome;
USES nomes_das_unidades;
BEGIN
https://ambienteacademico.com.br/course/view.php?id=18286 38/46
24/11/2022 11:36 Ead.br
bloco_de_comandos
END.
VAR X: INTEGER;
Y, Z: REAL;
NOME: STRING
SEXO: CHAR;
TESTE: BOOLEAN;
CONST X = 10;
Y = 6.5;
NOME = “ZECA”;
SEXO = ‘M’;
TESTE = TRUE;
X := 5;
Y := 3.5;
Nome := “Arthur”;
Sexo := ‘M”;
Teste := false;
READLN(nome_da_variável);
Exemplo:
READLN(NOME);
WRITELN(nome_da_variável);
https://ambienteacademico.com.br/course/view.php?id=18286 39/46
24/11/2022 11:36 Ead.br
Exemplo:
WRITELN(NOME);
https://ambienteacademico.com.br/course/view.php?id=18286 40/46
24/11/2022 11:36 Ead.br
atividade
Atividade
Os tipos de dados mais utilizados em uma estrutura de algoritmo são os numéricos,
os lógicos e os literais. Em relação aos tipos de dados lógicos, assinale a alternativa
correta.
GUEDES, S.
Lógica de Programação Algorítmica
. São Paulo: Pearson Education do
Brasil, 2014.
a)
São do tipo inteiros e reais.
b)
São formados por uma sequência de caracteres.
c)
São conhecidos como dados booleanos e assumem valores verdadeiros e
falsos.
d)
Podem ser positivos ou negativos.
e)
Assumem valores fracionários.
Feedback:
A alternativa
correta é a letra C
, pois, de acordo com
Guedes (2014), os dados lógicos são conhecidos como dados
booleanos e assumem valores verdadeiros e falsos. Os valores do
tipo inteiro e reais, positivos ou negativos e fracionários são dados do
tipo numérico e os dados formados por uma sequência de caracteres
são os dados literais.
https://ambienteacademico.com.br/course/view.php?id=18286 41/46
24/11/2022 11:36 Ead.br
indicações
Material
Complementar
LIVRO
https://ambienteacademico.com.br/course/view.php?id=18286 42/46
24/11/2022 11:36 Ead.br
FILME
O Jogo da Imitação
Ano
: 2014
Comentário
: O filme é baseado na história real de Alan
Turing, matemático britânico considerado o pai da
computação. Em plena Segunda Guerra Mundial, Turing
é contratado pelo governo inglês para ajudar a
construir uma máquina capaz de criptografar
mensagens nazistas e assim contribuir para que sejam
definidas novas estratégias de guerra pelos aliados com
o intuito de vencer a guerra. Essa máquina ficou
conhecida como máquina de Turing, e para sua
construção, foram utilizados conceitos de lógica e de
algoritmos.
TRAILER
https://ambienteacademico.com.br/course/view.php?id=18286 43/46
24/11/2022 11:36 Ead.br
conclusão
Conclusão
Nesta unidade estudamos que a lógica está diretamente relacionada com a
“correção do pensamento”, e que a utilização dos processos lógicos de
programação é fundamental na construção de algoritmos. Vimos, também,
que um algoritmo é uma sequência de etapas bem detalhadas e que tem por
finalidade encontrar a solução de um determinado problema. Também foram
detalhados os conceitos de tipos de dados, variáveis, constantes e
operadores, e as expressões aritméticas e lógicas que compõem a estrutura
de um algoritmo. Foram abordados os conceitos de estrutura sequencial e de
seleção, em que percebemos que, na estrutura sequencial, o algoritmo é
executado passo a passo, do início da ação até seu fim, e que a estrutura de
seleção permite que uma ação seja ou não executada, dependendo do valor
da sua condição.
referências
Referências
Bibliográficas
ASCENCIO, A. F. G.; CAMPOS, E. A. V.
Fundamentos da Programação de
Computadores
: algoritmos, Pascal, C/C++ (padrão ANSI) e Java. 3. ed. São
https://ambienteacademico.com.br/course/view.php?id=18286 44/46
24/11/2022 11:36 Ead.br
FORBELLONE, A. L. V.
Lógica de Programação
: a construção de algoritmos e
estruturas de dados. 3. ed. São Paulo: Prentice Hall, 2005.
GUEDES, S.
Lógica de Programação Algorítmica
. São Paulo: Pearson
Education do Brasil, 2014.
IMPRIMIR
https://ambienteacademico.com.br/course/view.php?id=18286 45/46
24/11/2022 11:36 Ead.br
https://ambienteacademico.com.br/course/view.php?id=18286 46/46