Você está na página 1de 41

Lógica de Programação da Coleção de Competências Transversais do SENAI.

Bem-vindo ao curso de Lógica de Programação da Coleção de Competências Transversais do SENAI. Neste curso
abordaremos Tipos de Dados, Variáveis, Expressões Aritméticas, Expressões Literais, Expressões Lógicas, Estruturas de
Condição, Estruturas de Repetição e Variáveis Indexadas. Ao longo das atividades você receberá recompensas que
permitirão a troca por conteúdos extras e, ao final, você irá interagir com um simulador interativo e colocar à prova seus
conhecimentos.
A seguir, apresentaremos algumas orientações de navegação.

Boa sorte!

Boas Vindas!
Seja muito bem-vindo(a), a partir de agora você conhecerá um pouco do mundo da lógica de programação. Conseguirá,
por meio deste curso, desenvolver sua lógica para poder:

 criar sites;
 desenvolver games;
 programar robôs;

Você será desafiado a desenvolver uma calculadora até o fim do nosso conteúdo. Então, atente-se ao que vem por aí!

Utilizando linguagens de programação temos um mundo de possibilidades, e você terá a oportunidade de entender como
tudo isso funciona.

Calculadora
A nossa calculadora fará o seguinte:
 aceitará apenas dois números reais;
 fará as operações: adição, subtração, divisão e multiplicação;
 mostrará o resultado da operação ao usuário.
Esta é nossa meta até o fim do curso: ter uma calculadora pronta e funcional.

Preparado (a)? Então, que comece a nossa viagem pelo mundo da lógica de programação!
Algoritmos
Inicialmente, iremos entender o que é um algoritmo, e quais os exemplos que vivenciamos todos os dias.
Em seguida, mudaremos o foco dos algoritmos do dia a dia para algoritmos na computação e programação, veremos
os tipos existentes de algoritmos e alguns exemplos práticos.
Depois que tivermos os primeiros conceitos prontos, daremos início às partes funcionais da nossa calculadora!

O que é algoritmo?
 Um algoritmo é uma sequência de instruções que utilizamos para solucionar um ou vários problemas, ou até mesmo
realizar tarefas do dia a dia.

 Um algoritmo não é necessariamente um programa computacional, pode ser passos que iremos tomar para realizar
determinada tarefa.

 O algoritmo deve sempre chegar ao resultado final esperado, caso não chegue, o mesmo não pode ser considerado
finalizado.

Exemplos de algoritmos do dia-a-dia


Trocar Lâmpada
Preparar café
Fazer bolo
Algoritmos
Mediante a estrutura apresentada anteriormente, fica mais fácil compreender a definição de um algoritmo,
caracterizando-se por ser um conjunto de instruções objetivas.

Embora a palavra algoritmo nos remeta a pensar em uma infinidade de coisas complexas, o mesmo se trata de um
conjunto de instruções que tem como objetivo resolver um problema. Não quer dizer que não tenhamos algoritmos
complexos, isso irá depender da complexidade do problema em questão.

Todos os exemplos vistos anteriormente fazem parte do nosso dia a dia, são algoritmos que executamos sempre que
precisamos. Deixando um pouco o cotidiano de lado, iremos agora entrar de cabeça no mundo computacional. Let's go!

Representações de um algoritmo
Agora que tivemos uma introdução do que se trata os algoritmos, iremos entender como eles podem ser representados.

Temos várias formas de representar algoritmos, desde a mais simples, representada por formas, até as mais detalhistas,
contendo regras de implementação.

Representações de um algoritmo
Abaixo, conheceremos os dois tipos mais utilizados: representados por formas que fazem alusão a tomadas de decisões
(fluxograma) e por meio do pseudocódigo, sendo este mais utilizado para o ensino de lógica de programação; por meio de
linguagem de máquina criamos nossos algoritmos para os computadores processarem e resolverem os problemas.

FLUXOGRAMA / PSEUDOCÓDIGO
Saiba mais: Representações de um algoritmo
Um pseudocódigo trata-se de um meio didático de se aprender a programar; não se consegue construir
nenhum software via pseudocódigo. No caso, teríamos que nos aprofundar para aprender alguma linguagem de
programação. Ex.: Java, Python, PHP, Ruby, JavaScript, C# entre outras.
Pseudocódigo
 Diferente do fluxograma, o pseudocódigo, também conhecido como portugol ou português estruturado, utiliza PDL -
Program Design Language (Linguagem de Projeto de Programação).

 Ou seja, é uma espécie de narração do que o programa deve fazer. Para isso, utilizaremos o pseudocódigo em um
programa chamado VisuAlg, que abordaremos em nossa próxima lição.

 O pseudocódigo é a base que todos devem ter para aprender uma linguagem de programação, pois é ele que
intermedia a linguagem falada (humana) para a linguagem de programação (computacional).
VisuAlg
Conhecemos os tipos de representações de algoritmos, e, agora, iremos conhecer o programa que executará nossos
pseudocódigos.
Os pseudocódigos podem ser escritos facilmente em uma folha de papel ou em um bloco de notas, mas para tornar isso
prático vamos adotar o VisuAlg como nosso software para escrever nossos algoritmos na forma de pseudocódigo e ver na
hora o seu resultado.

O que é o VisuAlg?
É um software criado na Universidade de Caxias do Sul no estado do Rio Grande do Sul, com a finalidade de oferecer aos
alunos uma forma de exercitar o conhecimento adquirido.
Para utilizá-lo é necessário fazer o download do programa. O mesmo pode ser encontrado em:
https://eadnacional.cetiqt.senai.br/pluginfile.php/733490/mod_scorm/content/1/assets/modulos/representacoes/
visualgv25.exe

O visuAlg é um interpretador simples de pseudocódigo utilizado por professores para o ensino de lógica de programação.
Seu objetivo não é criar softwares, mas auxiliar o aluno a entender a execução de seu algoritmo.
VisuAlg
Entendendo um pouco melhor
Para a criação de um algoritmo, é necessária a utilização de palavras-chave. Abaixo, seguem as três principais para o
funcionamento:
algoritmo: comando que irá definir o nome do programa; deve ser feito em aspas duplas;
var: comando que especifica a área em que as variáveis serão declaradas. É aqui que colocaremos as variáveis que iremos
utilizar;
inicio: comando que informa o início do programa; é nesse bloco que ficarão os comandos e a lógica que utilizaremos para
criar nosso algoritmo.
fimalgoritmo: comando que informa que é o final do algoritmo.

VisuAlg
Dentro do nosso algoritmo utilizaremos palavras-chave que irão ler o que for digitado e escrever na tela para informar
algo ao usuário.
escreva: esse comando irá escrever na tela alguma informação ao usuário. Ex.: Escreva("Digite seu nome").
Leia: esse comando irá ler o que foi digitado pelo usuário. Ex.: Leia(nome). Esse nome entre parênteses é uma das
variáveis que deve estar declarada no bloco var que vimos anteriormente.
Escreval: esse comando é idêntico ao escreva, a não ser pelo fato de que ele pula uma linha. Ex.: Escreval("Digite seu
nome").
1. Quais são os dois tipos de representações mais utilizados em algoritmos?

 Fluxograma e pseudocódigo

 Fluxograma e programação

 Nenhuma das alternativas

 Organograma e código

2. O fluxograma é representado por: (Questão Múltipla Escolha)

 Linguagem computacional

 Símbolos

 Figuras geométricas

 Programação

3. Qual programa utilizaremos para escrever nossos pseudocódigos?

 Bloco de notas

 Eclipse

 Pascal

 VisuAlg
1. Selecione abaixo qual o tipo de dado correspondente para "Idade de uma pessoa":

 Literal

 Inteiro
 Lógico

 Real

2. Selecione abaixo qual o tipo de dado correspondente para "Data de nascimento":

 Lógico

 Literal

 Real

 Inteiro

3. Selecione abaixo qual o tipo de dado correspondente para "Nome de uma pessoa":

 Inteiro

 Real

 Literal

 Lógico

4. Selecione abaixo qual o tipo de dado correspondente para "Peso de uma pessoa":

 Lógico

 Inteiro

 Real

 Literal

5. Selecione abaixo qual o tipo de dado correspondente para a pergunta "Será que está chovendo?":

 Real

 Inteiro

 Literal
 Lógico

Variáveis
Imagine as variáveis como se fossem gavetas.

Em uma gaveta podemos colocar diversas coisas, mas e se rotularmos uma gaveta, ou seja, colocarmos uma
legenda, ou um papel informando o que deve ter na gaveta?

Uma gaveta informando que irá ter meias, dentro dela deverá ter apenas meias. Possivelmente, alguém poderá
colocar algo diferente (camiseta), onde deveria ter apenas meias.

Nos algoritmos computacionais isso não acontece, uma vez que determinado que uma variável é do tipo inteiro, ela
só poderá ter números inteiros.

Variáveis têm três passos principais para serem criadas, são eles:

Ter um nome

TODA variável criada em um programa deve ter um nome para que possa ser identificada.

Ter um tipo de dado vinculado

Vimos, na lição anterior, os tipos de dados, e é aqui que iremos utilizá-los. Ou seja, é aqui que diremos qual tipo de
dado pode conter em nossa variável.

Ter um valor atribuído

Não tem por que eu criar uma variável sem ter a intenção de colocar algum dado dentro dela.
1. Qual a finalidade de uma variável em nosso programa ?

 Definir a lógica do algoritmo

 Exibir valores

 Guardar dados

 Não tem finalidade alguma

2. Informe se a afirmação é verdadeira ou falsa: Uma variável pode ter mais de um valor.
Falso

3. Qual comando do VisuAlg utilizaremos para colocar um valor digitado para dentro de uma variável ?

 Inicio

 Var

 Leia

 Escreva

4. Informe qual alternativa é de fato o nome de uma variável aceita no VisuAlg: (Questão Múltipla Escolha)

 nota1 certa

 tipo_operacao certa
 1numero Errada

 meuResultado certa

5. No VisuAlg qual a primeira ação que devemos tomar para que a variável funcione em nosso programa ?

 Definir um nome

 Declarar no bloco de variáveis

 Colocar valores

 Definir o tipo de dado


1. Informe qual resultado da expressão aritmética será exibido no algoritmo a seguir:

var

x,y,resultado: Real

inicio

x <- 10

y <- 8

resultado <- (x+y)*(10-y)+x

Escreva (resultado)

fimalgoritmo

 67

 46

 25

 10

2. Informe qual resultado da expressão aritmética será exibido no algoritmo a seguir:

var
n1,n2,n3,media: Real

inicio

n1 <- 10

n2 <- 8

n3 <- 7.5

media <- (n1+n2+n3)/3

Escreva (media)

fimalgoritmo

 8.5

 7

 7.5

 8

3. Resolva a seguinte expressão: 2*(3+10/5*5)-1 e diga qual seu resultado.

 25 2 *(3+2*5)-1 : 2*(3+10)-1 : 2*13-1 : 26-1=25 Primeiro res ol va a DIVISÃO, de pois a multipli ca ção, depois

res ol va o parê ntese.

 20

 15

 12

2 *(3+2*5)-1 : 2*(3+10)-1 : 2*13-1 :


26-1=25
4. Qual o tipo de dado resultante de uma expressão aritmética?

 Inteiros e reais

 Somente reais

 Somente inteiros

 Lógicos

5. Informe qual resultado da expressão aritmética será exibido no algoritmo a seguir:

var

x,y,resultado: Real

inicio

x <- 2

y <- 5

resultado <- x/y*3+(1-8)*x+30

escreva (resultado)

fimalgoritmo

 8.2

 14.2

 17.2

 16.2
1. Verifique se a afirmação é verdadeira ou falsa. Uma expressão literal sempre resultará em um tipo

literal.

 Verdadeiro

 Falso

2. Considerando a expressão literal a seguir, informe seu resultado (considerando o tipo).

escreva ("Meu"+" "+"Nome"+" "+"Completo")

 "Meu Nome Completo"

 Meu Nome Completo

 "MeuNomeCompleto"

 MeuNomeCompleto

Expressões Lógicas
Vamos agora conhecer nosso último tipo de expressão, que são as expressões lógicas.

Essa expressão é a que irá requerer uma atenção especial, pois iremos trabalhar com alguns operadores lógicos, e é de
extrema importância que, ao final desta lição, saibamos o que significa cada um deles.

Ansioso para conhecer?

Então vamos lá!

As expressões lógicas servem para compararmos valores e dizer se o resultado é VERDADEIRO ou FALSO.

Essas expressões SEMPRE resultam em um dado do tipo lógico. Utilizam os operadores relacionais lógicos (maior, menor,
igual, diferente etc.).

Além disso, expressões lógicas podem conter expressões aritméticas dentro delas, veremos a seguir.

É muito importante que consigamos entender cada um dos operadores lógicos.


 Verdadeiro
 Falso X
1. Qual o resultado para a expressão: (3*2*10)/10 <> 6 ?

 Verdadeiro

 Falso

 RESPOSTA: 60/10 = 6 = 6 <> 6 = F ALSO

2. Qual o resultado para a expressão: (2 > 3) e (1=1) ?

 Verdadeiro
 Falso

3. Qual o resultado para a expressão:

Seguindo a ordem, diga os significados dos seguintes operadores lógicos:

>, <, >=, <=, =, <>

 Menor, maior, menor ou igual, maior ou igual, igual, diferente.

 Menor, maior, maior ou igual, menor ou igual, igual, diferente.

 Maior, menor, maior ou igual, menor ou igual, igual, diferente.

 Maior, menor, menor ou igual, maior ou igual, igual, diferente.

4. Qual o resultado para a expressão: (3 <= 3 )?


Verdadeiro

5. Qual o resultado para a expressão:

a <- 8

b <- 10

((a*b/2)+b > 20) e (8=a) ?

 Falso

 Verdadeiro

6. Qual o resultado para a expressão:

Diga o resultado final das duas questões utilizando os seguintes operadores de sentença:

((1=1) ou (2<>2))
(5>2) e (3<>2) e (10 >= 100)

 Falso e falso

 Falso e verdadeiro

 Verdadeiro e verdadeiro

 Verdadeiro e falso

6. Qual o resultado para a expressão:

Diga o resultado final das duas questões utilizando os seguintes operadores de sentença:

((1=1) ou (2<>2))

(5>2) e (3<>2) e (10 >= 100)

 Falso e falso

 Falso e verdadeiro

 Verdadeiro e verdadeiro

 Verdadeiro e falso

7. Qual o resultado para a expressão:

a <- 8.5

b <- 10.2

((a*4/2)+b > a+b) ?

 Falso

 Verdadeiro
1. Em qual condição o algoritmo a seguir irá entrar?

se (1 = 1) e (2 <> 1) entao

escreval ("SE")

senao

escreval ("SENAO")

fimse

 Não entrará em nenhum dos dois

 Entrará nos dois

 Entrará no SENAO

 Entrará no SE

2. Em qual condição o algoritmo a seguir irá entrar?

nome <- "Joaozinho"

se (nome = "Joao") entao

escreval ("SE")

senao

escreval ("SENAO")

fimse

 Entrará no SE

 Entrará no SENAO

 Entrará nos dois


 Não entrará em nenhum dos dois

3. Em qual condição o algoritmo a seguir irá entrar?

resultado <- 1

resultado <- resultado+10

resultado <- resultado*2

se (resultado > 10) ou (resultado = 20) entao

escreval ("SE")

senao

escreval ("SENAO")

fimse

 Entrará no SE

 Entrará no SENAOx

 Não entrará em nenhum dos dois

 Entrará nos dois

4. Em qual condição o algoritmo a seguir irá entrar?

idade <- 18

se (idade > 18) entao

escreval ("Maior de idade")

fimse

se (idade < 18) entao

escreval ("Menor de idade")


fimse

 Não entrará em nenhum dos dois

 Entrará nos dois SE

 Entrará no segundo SE

 Entrará no primeiro SE

5. Em qual condição o algoritmo a seguir irá entrar?

resultado <- 1

resultado <- resultado+10

se (resultado = 10) entao

escreval ("SE")

senao

escreval ("SENAO")

fimse

 Não entrará em nenhum dos dois

 Entrará nos dois

 Entrará no SENAO

 Entrará no SE

Estruturas de Repetição
Estamos chegando ao final do nosso curso, esta será nossa penúltima lição. Será que você vai conseguir o troféu?!

Acredito que, se você chegou até aqui, não está para brincadeira!

Agora, iremos aprender sobre as estruturas de repetição, elas irão nos economizar MUITO código na hora de escrevermos
nossos algoritmos, então vamos lá!
Estruturas de Repetição - Para...faça
1. Abaixo teremos o início da estrutura de repetição enquanto..faça, informe qual a forma correta de se

fazer.

 Enquanto (i < 10)

 Enquanto (faca) i

 Enquanto (i)

 Enquanto (i < 10) faca


2. Abaixo teremos o início da estrutura de repetição para..faça, informe qual a forma correta de se fazer.

 Para 1 de variavel ate 2 faca

 Para variavel de 1 ate variável faca

 Para variavel de 1 ate 2 faca

 Para 1 de 1 ate 2 faca

1. Estruturas de repetição nos ajudam a não economizar códigos.

 Verdadeiro

 Falso

2. As variáveis de controle das estruturas de repetição não têm necessidade de serem declaradas nos

blocos de variáveis.

 Verdadeiro

 Falso

3. Abaixo teremos o início da estrutura de repetição repita..até, informe qual a forma correta de se fazer.

 Repita..ate(i<=10)

 Repita(i<=10)..ate()

 Repita.. I ate(10)

 Repita..ate()
1. Quais as vantagens de se utilizar variáveis indexadas? (Questão Múltipla Escolha)

 Menos có di go X
 Gua rdar mais valores X
 Mais segur o
 Não possui
 Menos có di go X
 Gua rdar mais valores X
 Mais segur o
 Não possui
 Menos código X

 Guardar mais valores X

 Mais seguro

 Não possui

2. Eu preciso de uma variável de 4 índices. Onde é definido isso?

 Na declaração da variável

 No final, quando está na estrutura de repetição

 Na atribuição do valor para a variável

 No meio do algoritmo

3. Qual o jeito correto para imprimir o valor "divisão"?

var

operacoes: vetor [1..4] de Literal


inicio

operacoes[1] <- "soma"

operacoes[2] <- "divisão"

operacoes[3] <- "subtração"

operacoes[4] <- "multiplicação"

 escreval(operacoes->2)

 escreval(operacoes(2))

 escreval(operacoes[2])

 escreval(operacoes)
Desafio Final de Lógica de Programação
Você acha que já está preparado para conquistar o troféu de ouro?

1. Pergunta 1 de  10
1. Abaixo teremos o início da estrutura de repetição para..faça. Informe qual a forma correta de se fazer:

o Para variavel de 1 ate variável faca

o Para variavel de 1 ate 2 faca

o Para 1 de 1 ate 2 faca

o Para 1 de variavel ate 2 faca

2. Diga o resultado final das duas questões utilizando os seguintes operadores de sentença:

((1=1) ou (2<>2))

(5>2) e (3<>2) e (10 >= 100)

 Falso e falso

 Verdadeiro e falso

 Verdadeiro e verdadeiro

 Falso e verdadeiro

3. Informe qual alternativa é de fato o nome de uma variável aceita no VisuAlg:(Questão Múltipla Escolha)

 meuResultado

 1numero

 nota1

 tipo_operacao

4. Verifique se a afirmação é verdadeira ou falsa. Uma expressão literal sempre resultará em um tipo

literal.

 Verdadeiro

 Falso
5. Seguindo a ordem, diga os significados dos seguintes operadores lógicos:

>, <, >=, <=, =, <>

 Maior, menor, maior ou igual, menor ou igual, igual, diferente.

 Maior, menor, menor ou igual, maior ou igual, igual, diferente.

 Menor, maior, menor ou igual, maior ou igual, igual, diferente.

 Menor, maior, maior ou igual, menor ou igual, igual, diferente.

6. Escreva o resultado final do algoritmo abaixo:

resultado <- 1

resultado <- resultado+ 10

se (resultado = 10) entao

escreval ("SE")

senao

escreval ("SENAO")

fimse

 Não entrará em nenhum dos dois

 Entrará nos dois

 Entrará no SENAO

 Entrará no SE
7. Quais as vantagens de se utilizar variáveis indexadas? (Questão Múltipla Escolha)

 Guardar mais valores

 Menos código

 Mais seguro

 Não possui

8. Observe a seguinte expressão e responda qual será o resultado final:

a <- 8.5

b <- 10.2

((a*4/2)+b > a+b)


Verdadeiro

9. Informe qual resultado da expressão aritmética será exibido no algoritmo a seguir:

var

x,y,resultado: Real

inicio

x <- 2

y <- 5

resultado <- x/y*3+(1-8)*x+30

escreva (resultado)

fimalgoritmo

 8.2
 14.2

 16.2

 17.2

10. Quais são os dois tipos de representações mais utilizados em algoritmos?

 Fluxograma e pseudocódigo

 Fluxograma e programação

 Organograma e código

 Nenhuma das alternativas

Você também pode gostar