Você está na página 1de 30

Eixo de Gestão e Negócios

Lógica de Programação
Governo de Goiás
Secretaria de Estado de Desenvolvimento e Inovação
Subsecretaria de Ciência, Tecnologia e Inovação
Superintendência de Capacitação e Formação Tecnológica

Governador do Estado de Goiás


Ronaldo Ramos Caiado

Secretário de Estado de
Desenvolvimento e Inovação
Marcio Cesar Pereira

Subsecretária de Ciência, Tecnologia e Inovação


Sheila Oliveira Pires

Superintendente de Capacitação e Formação


Tecnológica
José Teodoro Coelho

Gerência de Gestão das Escolas do Futuro


Mychelly Ferreira Carlos Simões

Diretoria Geral do CETT - UFG


Dr. Moisés Ferreira Cunha

Diretoria de Ensino CETT – UFG


Drª. Daiana Paula Pimenta

Gerência EaD – CETT - UFG


Tânia Mara Lopes Ribeiro

Coordenação Pedagógica EaD – CETT - UFG


Ana Paula Nogueira Ribeiro

Professora Autor
Ricardo André Naka

Projeto Gráfico
João Daniell Oliveira

Designer
Maykell Mendes Guimarães

Revisão da Língua Portuguesa


Cícero Manzan Corsi

Banco de Imagens
http://freepik.com
Sumário
CAPÍTULO 1
Introdução à Lógica de Programação 6

CAPÍTULO 2
Estrutura de Dados: Constantes, Variáveis e Tipos de Dados 10

CAPÍTULO 3
Operadores 13

CAPÍTULO 4
Estrutura de decisão e repetição 15

CAPÍTULO 5
Funções e Procedimentos 21

CAPÍTULO 6
Vetores e Matrizes 27

Referências 30
Lógica de
Programação
Ótimos e proveitosos estudos.
Muito sucesso na futura profissão!
Introdução
O Componente de Lógica de realização das atividades para
Programação tem como ob- fixar o conteúdo e praticar os
jetivo desenvolver o raciocínio conhecimentos que serão abor-
lógico e computacional, pro- dados.
porcionando o aprendizado de
introdução à computação e ló- Para que você obtenha suces-
gica de computadores. Nesse so e aprendizagem satisfatória
componente será possível de- ao longo do componente pro-
senvolver a capacidade de ma- cure seguir algumas dicas para
pear problemas reais em pro- o estudo dirigido no ensino a
blemas computacionais. distância. Crie uma rotina diária
de estudos, separe 20 minutos
Acerca do desenvolvimento das para estudar de forma ordena-
competências previstas nesse da os módulos deste material,
componente curricular, atribui- organizando o seu ambiente de
-se um destaque com relação estudos sem maiores obstácu-
ao emprego do raciocínio lógico los que impeçam a sua concen-
estruturado na análise de pro- tração, assim como formas de
blemas de programação, utili- distração que são as redes so-
zando estruturas básicas de lin- ciais, o seu celular ou até mes-
guagens de programação. mo qualquer outro barulho ou
Ao longo do Componente de entretenimento que tome a sua
Lógica de Programação, en- atenção. Por fim, utilize méto-
contraremos exercícios práticos dos de memorização e realize os
e questionários com todas as exercícios para fixação do con-
orientações necessárias para a teúdo. Bons Estudos!

5 Lógica de Programação - 2022


Escola do Futuro de Goiás
CAPÍTULO 1
Introdução à Lógica
de Programação
ALGORITMO

Um Algoritmo serve para representar ção, interpretação da informação e re-


um conjunto finito de ações, sendo sultado computacional da requisição.
uma solução para um problema, e
uma linguagem intermediária entre Composição do Software:
a humana e as de programação. Re-
presenta uma sequência de passos
que o computador deve executar a
fim de atingir ou obter um resultado.
(MICHAELIS, 1998, p.21).
Compreende-se através de citações
de Stair e Reynolds (2011), que Sof-
tware que é o produto final, gerado
a partir de um projeto estruturado
de dados e que foi programado para
processar informações ou dados, tem
como base principal, trabalhar com
algoritmos. As informações a serem
processadas como entrada, podem
ser oriundas de dispositivos físicos Algoritmos Estrutura de Dados

como Teclado, Mouse, a tela touch Lógica de Programação Linguagem de


Programação
screen, e até mesmo de requisições
da parte lógica computacional, como
arquivos e banco de dados. O Softwa- Como podemos identificar as áreas e
re viabiliza a Saída como resultado do habilidades que compõem o projeto
processamento em telas de diversos de desenvolvimento de um Software,
tipos de computadores e até mesmo Algoritmos, Lógica de Programação
smarthphones, arquivos, e comandos e Estrutura de Dados totalizam 90%
eletrônicos como resposta ao usuário e geram um grau de importância
daquilo que foi filtrado como requisi- maior no que tange ao requisito para

6 Lógica de Programação - 2022


Escola do Futuro de Goiás
se iniciar a programar, o que torna tados até atingir um objetivo ou solu-
um grande diferencial entre os pro- ção de um problema.
gramadores. Reconhecer, interpretar
e estruturar o problema bem como Lógica de Programação: É a técnica
solucionar o problema. de encadear pensamentos para atin-
gir determinado objetivo.
Conforme Baldwin e Scragg (2004),
os algoritmos são a preocupação cen- Segundo Aguilar (2011), o pseudocó-
tral do campo, a partir da representa- digo é considerado uma ferramenta
ção algorítmica conseguimos desen- que pode auxiliar a programação, na
volver e planejar a construção de algo. interpretação e o desenvolvimento
de um programa.

Um Algoritmo Pode ser representa- Fluxograma: O Diagrama de Chapin,


do em forma: do criador Ned Chapin, apresenta uma
 narrativa; visão hierárquica e estruturada da ló-
 fluxograma; gica do programa, tendo como vanta-
 pseudocódigo. gem a representação das estruturas. É
uma representação gráfica dos algo-
Narrativa: Nessa forma de represen- ritmos, na qual cada figura geométrica
tação, os algoritmos são expressos representa diferentes ações que tem
em linguagem natural. como objetivo facilitar o entendimen-
to das ideias contidas no algoritmo.
Exemplo: Instruções Simples para
“Passar Café”

1 - Água na Chaleira
2 - Esquentar Água
3 - Filtro na Jarra Início e Fim de Programa
4 - Pó de Café no Filtro
5 - Água no Filtro

Perceba que temos uma sequência de


ações a serem realizadas e que são fun- Operação de Atribuição
damentais para se alcançar o objetivo
final. Esta sequência seguiu uma lógica
que visa colocar em ordem no pensa-
mento e até mesmo visa a correção do
pensamento ou correção do raciocínio. Operação de Entrada de Dados

Sequência Lógica: São passos execu-

7 Lógica de Programação - 2022


Escola do Futuro de Goiás
INÍCIO
Decisão

Operação de Saída de Dados N1, N2, N3 E N4

Exemplo de fluxograma:
 Início (dentro de uma elipse);

 calcular média de 4 bimestres


(dentro de um retângulo com um MEDIA 
dos cantos dobrados);
(N1+N2+N3+N4)/4
 a média para passar é 7 (dentro de
um retângulo);

 indicar “Aprovado” ou “Reprova-


do” como saída (verifica se a média
é maior ou igual a 7 dentro de um MEDIA >=7
losango);

 se a média for maior ou igual a 7


imprime “Aprovado” dentro de um
retângulo comum dos lados, recorta-
do de maneira ondulada; “Aprovado” “Reprovado”

 se a média for menor do que 7


imprime “Reprovado” dentro de um
retângulo com um dos lados recorta-
do de maneira ondulada;

 Fim de programa (dentro de uma


elipse).

Pseudocódigo: Forma de represen-


tação de algoritmos rica em detalhes,
FIM
o que acaba sendo uma aproximação
do código final a ser escrito em uma
linguagem de programação.

8 Lógica de Programação - 2022


Escola do Futuro de Goiás
Exemplo de algoritmo da média das 3 - Identifique os dados de entrada,
notas dos 4 bimestres em pseudocó- processamento e saída no algorit-
digo: mo abaixo:
 Receba código da peça
 Receba valor da peça
Algoritmo Media;  Receba Quantidade de peças
Var N1, N2, MEDIA: real;  Calcule o valor total da peça
(Quantidade * Valor da peça)
Início  Mostre o código da peça e seu valor
Leia (N1, N2); total
MEDIA ← (N1 + N2) / 2;
4 - Faça um algoritmo para “Calcular
Se MEDIA >= 7 então o estoque médio de uma peça”, sen-
Escreva “Aprovado” do que ESTOQUEMEDIO= (QUANTI-
DADE MÍNIMA + QUANTIDADE MA-
Senão XIMA) / 2.
Escreva “Reprovado”;
Fim_se 5 - Construa um diagrama de blocos que:
Fim  Leia a cotação do dólar
 Leia um valor em dólares
 Converta esse valor para Real
ATIVIDADES DE  Mostre o Resultado
Aprendizagem
6 - Desenvolva um diagrama que:
1 - Faça um algoritmo (descreva os  Leia 4 (quatro) números
passos) para realizar as seguintes  Calcule o quadrado para cada um
tarefas:  Some todos e
 Sacar dinheiro em um caixa eletrô-  Mostre o resultado
nico.
 Somar dois números quaisquer. 7 - Construa um algoritmo para pa-
gamento de comissão de vendedo-
2 - Acesse os links abaixo e desen- res de peças, levando-se em consi-
volva o seu raciocínio lógico para deração que sua comissão será de
resolver alguns problemas 5% do total da venda e que você tem
os seguintes dados:
CONTEÚDO
 Identificação do vendedor
Interativo
 Código da peça
 Preço unitário da peça
https://shre.ink/dNO
 Quantidade vendida
https://shre.ink/dNR
Não se esqueça de construir o diagra-
https://shre.ink/dNZ
ma de blocos do referido algoritmo.

9 Lógica de Programação - 2022


Escola do Futuro de Goiás
CAPÍTULO 2
Estrutura de Dados:
Constantes, Variáveis e
Tipos de Dados
Estruturas de Dados

Nossos algoritmos trabalham com Variáveis: Armazenam dados em ca-


Dados. Mas o que é, ou pode ser, um ráter temporário e tem conteúdo di-
“dado”? nâmico, ou seja, podem ser acessadas
ou alteradas a qualquer momento;
 É um número;
 é um nome; Constantes: São dados estáticos, o
 é um endereço; seu conteúdo pode ser acessado a
 é o valor de um produto; qualquer momento, mas será defini-
 é um pixel de uma imagem; do no momento de sua criação e não
 enfim, pode ser muitas coisas... poderá ser mais alterado.
E sobre o conceito de estrutura?
 É algo que dá forma?
 É algo que sustenta? Tipos Básicos de Dados:

- Segundo Houaiss: “Aquilo que dá  Dados Numéricos Inteiros: São os


sustentação (concreta ou abstrata) a números positivos e negativos sem
alguma coisa; armação, arcabouço”. casas decimais.
Dados são representados em peque-  Dados Numéricos Reais: São os nú-
nas estruturas e em geral são chama- meros positivos e negativos que pos-
dos de variáveis ou constantes! suem casas decimais.
 Dados Literais: São sequências de
Tudo que é armazenado dentro do caracteres.
computador, permanece em alguma  Dados Lógicos ou Booleanos: Po-
memória! dem ser verdadeiros ou falsos.

10 Lógica de Programação - 2022


Escola do Futuro de Goiás
Como armazenar dados? 3. Nomes de variáveis não devem ser
O armazenamento de informações muito longos.
pelo computador em sua memória, se 4. Nomes de variáveis não podem
dá em uma região nomeada através conter espaços em branco.
de uma variável, esta variável possui:
- NOME 5. Na sintaxe do Português Estrutu-
- TIPO rado, não há diferença entre letras
- CONTEÚDO maiúsculas de minúsculas (NOME é o
mesmo que nome).
As regras para nomes de variáveis
mudam de uma linguagem para ou- Exemplo de algoritmo para somar
tra, sendo importante gerar um nome números:
para a variável antes mesmo que esta
seja utilizada.
1. X: inteiro
2. Y: inteiro
Sintaxe:
3. soma: inteiro Declarações
Nome: TipodeDado
Atribuindo ou alterando valores dos
dados:
4. X 10
Podemos apenas definir valores coe-
5. Y 20 Entrada
rentes com o tipo de dado.

Sintaxe: 6. soma x+y Processamento


Nome  Valor
7. escreva(soma) Saída
Erros comuns:
Idade: inteiro Após estas informações, e de acordo
com os conceitos de Mizrahi (2006),
Idade  22.0 (22.0 é um tipo Real e concluímos então que estrutura de
não inteiro) dados é um modo particular de ar-
mazenamento e organização de da-
Regras para Nomear Variáveis:
dos em um computador de modo
1. Nomes de variáveis não podem ser que possam ser usados eficiente-
iguais a palavras reservadas. mente. Vetores, Matrizes, Imagens e
diversas outras composições de tipos
2. Nomes de variáveis devem possuir de dados podem ser chamados de
como primeiro caractere uma letra estruturas de dados.
ou sublinhado ‘_’ (os outros caracte-
res podem ser letras, números e subli- As estruturas de dados permitem
nhado). melhor organização para o armaze-
namento e manipulação de dados.

11 Lógica de Programação - 2022


Escola do Futuro de Goiás
ATIVIDADES DE MÍDIAS
Aprendizagem Interativas

1 - Descreva com suas palavras Agora que compreendemos o que


o significado computacional de são algoritmos e como os dados são
Constante e Variável. Cite 02 exem- armazenados e organizados, iremos
plos de cada.
iniciar nossa prática de algoritmos.
Para isso, será disponibilizado neste
2 - Faça um teste de mesa no dia-
espaço um pequeno vídeo, de como
grama de bloco abaixo e preencha
instalar dos softwares essenciais nes-
a tabela ao lado com os dados do
ta prática, o Visual G e o Portugol We-
teste:
bstudio online.

INÍCIO Salário Abono Salnovo


600,00 60,00 Orientações de como instalar e uti-
350,00 lizar os recursos:
Recebe Salario
https://youtu.be/vavJVF2KXiM

Recebe Abono Obs: Orientações neste vídeo acon-


tecem a partir do tempo: 1:44:54 até
Salnovo= Salario +
Abono 1:50:49

Salnovo Link úteis: Visual G:


https://sourceforge.net/projects/vi-
FIM sualg30/

Portugol Webstudio online:


3 - Sabendo que INÍCIO https://portugol-webstudio.cubos.
José tem direito a
io/ide
15% de reajuste de
salário, complete o NOME = “JOSÉ”
Winrar 64 bits para extração de ar-
diagrama ao lado:
quivos:
SALARIOATUAL =
1200,00 https://drive.google.com/file/d/1eu-
9ZZHFYPDyJ9asU2rso6k6EPj-
REAJUSTE =
dAKyKt/view?usp=sharing

VALORREAJUSTE =

SALNOVO =

FIM

12 Lógica de Programação - 2022


Escola do Futuro de Goiás
CAPÍTULO 3
Operadores
Os operadores são meios pelo qual 1º ( ) Parênteses
incrementamos, decrementamos, 2º Exponenciação
comparamos e avaliamos dados den- 3º Multiplicação, divisão (o que apa-
tro do computador. recer primeiro)
4º + ou – (o que aparecer primeiro)
Os operadores são símbolos que re-
presentam atribuições, cálculos e Exemplo:
ordem dos dados, estas operações TOTAL = PREÇO * QUANTIDADE
possuem uma ordem de prioridades
1 + 7 * 2 ** 2 - 1 = 28
(alguns cálculos são processados an- 3 * (1 – 2) + 4 * 2 = 5
tes de outros).

São utilizados nas expressões mate- Relacionais: São utilizados para com-
máticas, lógicas, relacionais e de atri- parar String de caracteres e números.
buição. Os valores a serem comparados po-
Temos três tipos de operadores: dem ser caracteres ou variáveis. Estes
operadores sempre retornam valores
Aritméticos: Resultam em obter da- lógicos (verdadeiro ou falso / True ou
dos numéricos que derivam da adição, False).
subtração, multiplicação e divisão, e
podem utilizar também o operador Os Operadores relacionais são:
para exponenciação. Veja abaixo os Descrição Símbolo
símbolos utilizados: Igual a =
Diferente de < > ou #
Operação Símbolo Maior que >
Adição + Menor que <
Subtração - Maior ou igual a >=
Multiplicação *
Divisão / Exemplo de Algoritmo que utilize
Exponenciação ** Operador Relacional:
Algoritmo Pode_Tirar_Carteira_de_
Hierarquia das Operações Motorista
Aritméticas: Var idade: inteiro;
Início

13 Lógica de Programação - 2022


Escola do Futuro de Goiás
Leia idade;
If idade >=18 ATIVIDADES DE
Escreva “Pode tirar carteira de moto- Aprendizagem
rista.”;
Else 1 - Tendo as variáveis SALARIO, IR e
Escreva “Não pode tirar carteira de SALLIQ, e considerando os valores
motorista.”; abaixo. Informe se as expressões
Fim são verdadeiras ou falsas.

Lógicos: Combina resultados de ex- SALÁRIO IR SALLIQ EXPRESSÃO V ou F


pressões, retornando se o resultado 2.826,65 211,99 2.614,66 (SALLIQ >= 2.826,65)
final é verdadeiro ou falso. Os opera- 3751,05 562,55 3.188,50 (SALLIQ < 3.188,50)
dores lógicos são: 4664,68 1049,55 3.615,13 SALLIQ = SALÁRIO - IR

E AND
OU OR 2 - Sabendo que A= 6, B= 14 e C= 8,
NÃO NOT informe se as expressões abaixo são
verdadeiras ou falsas.
Uma expressão AND (E) é verdadeira se a) (A + C) > B ( )
todas as condições forem verdadeiras. b) B >= (A + 2) ( )
c) C = (B – A) ( )
Uma expressão OR (OU) é verdadeira d) (B + A) <= C ( )
se pelo menos uma condição for ver- e) (C + A) > B ( )
dadeira.
3 - Sabendo que A= 5, B= 4, C= 3 e D=
Uma expressão NOT (NÃO) inverte 6, informe se as expressões abaixo
o valor da expressão ou condição, se são verdadeiras ou falsas.
verdadeira inverte para falsa e vice- a) (A > C) AND (C < = D) ( )
-versa. b) (A + B) > 10 OR (A + B) = (C + D) ( )
c) (A >= C) AND (D >= C) ( )
Exemplo: Suponha que temos três
variáveis A=5, B=8 e C=1. Os resultados 4) Prática de Algoritmos:
das expressões seriam: Utilize o Visual G ou o Portugol We-
bstudio online.
Expressões Resultado
A=B AND B>C Falso
 Faça um algoritmo que receba dois nú-
A<>B OR B<C Verdadeiro meros e exiba o resultado da sua soma.
A>B NOT Verdadeiro
A<B AND B>C Verdadeiro  Faça um algoritmo que receba dois
A>=B OR B=C Falso números e ao final mostre a soma,
subtração, multiplicação e a divisão
A<=B NOT Falso
dos números lidos.

14 Lógica de Programação - 2022


Escola do Futuro de Goiás
 Escrever um algoritmo para deter-
minar o consumo médio de um au- MÍDIAS
tomóvel sendo fornecida a distância Interativas
total percorrida pelo automóvel e o
total de combustível gasto. Caso tenha alguma dificuldade de
implementar os algoritmos acima,
 Escrever um algoritmo que leia o assista à videoaula gravada abaixo
nome de um vendedor, o seu salário que orienta como trabalhar com os
fixo e o total de vendas efetuadas por parâmetros de entrada e saída além
ele no mês (em dinheiro). Sabendo de como atribuir as varáveis. As res-
que este vendedor ganha 15% de co- postas e explicações de como foram
missão sobre suas vendas efetuadas, estruturados os algoritmos do exercí-
informar o seu nome, o salário fixo e cio 4 estão no link abaixo:
salário no final do mês. https://youtu.be/Bm9bxTxD8m4

CAPÍTULO 4
Estrutura de decisão
e repetição
Ao aplicar as operações lógicas, enten- estrutura de programas que não são
demos que na maioria das vezes neces- totalmente sequenciais, onde exis-
sitamos tomar decisões no andamento tem instruções de salto ou desvio, fa-
do algoritmo, que interferem direta- zendo com que o programa proceda
mente no andamento do programa. de uma ou outra maneira, de acordo
com as decisões lógicas tomadas em
Comandos de Decisão ou estruturas função dos dados ou resultados an-
de seleção: Os comandos de decisão teriores. Conheceremos as estrutu-
ou desvio fazem parte das técnicas ras de decisão: “Se Então”, “Se então
de programação que conduzem a Senão” e “Caso Selecione”.

15 Lógica de Programação - 2022


Escola do Futuro de Goiás
Em algoritmo condicional, a estrutura leia (A)
de decisão ou seleção, permite a esco- escreva (“Digite outro número inteiro:
lha de um grupo de ações a ser exe- ”)
cutado quando determinadas condi- leia (B)
ções, representadas por expressões se A > B
lógicas, são ou não satisfeitas. então escreva (“A é maior que B”)
fim se
A estrutura de Decisão ou Seleção, fim
permite alterar o fluxo de execução
do algoritmo, de forma a selecionar Entendendo o código: Temos duas
qual parte deve ser executada, sendo variáveis A e B do tipo inteiro, onde
esta “decisão” de execução tomada a temos o parâmetro de entrada solici-
partir de uma condição, que pode re- tando um número inteiro para A e B e
sultar apenas dois valores: verdadeiro na sequência estes números informa-
ou falso. Esta condição é representa- dos são guardados respectivamente
da por expressões relacionais ou ló- em suas variáveis e dentro da estrutu-
gicas. ra de decisão é feito o comparativo a
partir da estrutura SE, na qual irá in-
A partir das expressões e após exe- formar ao usuário a mensagem: “A é
cutar as funções de validação e com- maior que B” em caso de teste verda-
paração, as estruturas de seleção ou deiro, em caso falso o programa será
decisão irão executar os blocos de finalizado.
comando, definidos de acordo com o
resultado da comparação (verdadei- Podemos ainda utilizar o SENÃO para
ro ou falso). acrescentar opções de mensagens de
retorno ao usuário, verifique no exem-
Os tipos de Estruturas de Seleção ou plo a seguir:
Decisão são: If/Else (Se/Então); Switch/
Case (Escolha/Caso) Algoritmo Media
Var
Exercícios Resolvidos: nota1, nota2, media: real /* 3 variáveis
Construir um algoritmo que leia 2 nú- do tipo real*/
meros inteiros A e B. Imprimir uma Inicio
mensagem informando que A é maior Escreva (“Digite nota1:”)
que B. Leia (nota1)
Escreva (“Digite nota2:”)
If/Else (Se/Então): Leia (nota2)
Media <– (nota 1 + nota 2) / 2 /*Atribui-
início inteiro: A, B -se o resultado da expressão que faz a
escreva (“Digite um número inteiro: ”) média das notas */

16 Lógica de Programação - 2022


Escola do Futuro de Goiás
Se media >= 60 /* Verifica-se se a mé- SENÃO é opcional e define um flu-
dia é maior que 60 */ xo alternativo para as opções não
Então atendidas por nenhum CASE/CASO,
Escreva (“Parabéns! Aprovado!”) sendo este trecho executado apenas
Senão quando o valor de nenhum CASE/
Escreva (“Aluno Reprovado!”) CASO for igual ao valor do parâmetro
Fim se informado.
Fim.
Exemplo: Desenvolva um algoritmo
Estrutura Switch/Case – Escolha/ como uma calculadora, onde se digita
Caso: É utilizada quando é necessário o primeiro número, depois a operação
testar a mesma variável com uma sé- (subtração, soma, divisão ou multipli-
rie de valores (várias vezes). Esta variá- cação), em seguida o segundo núme-
vel deve ser sempre do tipo inteiro ou ro. O algoritmo executará um cálculo
literal, possibilitando ao usuário esco- diferente, dependendo de qual ope-
lher um valor dentre vários. rador o usuário escolher – Utilize o co-
mando caso.
Possui como vantagem, a questão de
se evitar uma série de testes com o algoritmo “Calculadora Basica”
comando IF/SE, funciona de manei- var
ra semelhante ao IF/SE encadeado de num1,num2,resultado : REAL
maneira que o valor que será compa- operacao:caracter
rado em cada CASE/CASO será pas- inicio
sado como parâmetro pelo usuário ESCREVAl (“Digite o primeiro número: “)
antes. LEIA (num1)
ESCREVAl (“Digite a operação: “)
Se o valor do parâmetro informado for LEIA (operacao)
mesmo (igual) do CASE/CASO, será ESCREVAl (“Digite o segundo número: “)
executado o trecho de código dentro LEIA (num2)
do respectivo CASE/CASO, em caso ESCOLHA operacao
do parâmetro informado for diferente CASO “+”
do CASE/CASO, será testada a condi- resultado <- num1 + num2
ção de próximo CASE/CASO. CASO “-”
resultado <- num1 – num2
O comando BREAK/PARE é utilizado CASO “*”
para forçar a saída do SWITCH/ESCO- resultado <- num1 * num2
LHA ao se entrar em um CASE/CASO, CASO “/”
sem este comando todos os CASE/ resultado <- num1 / num2
CASO serão testados, mesmo que al- FIMESCOLHA
gum CASE/CASO já tenha atendido ESCREVAl (“Resultado: “, resultado)
a condição. Já o comando DEFAULT/ fimalgoritmo

17 Lógica de Programação - 2022


Escola do Futuro de Goiás
condição (teste) o que resulta em va-
MÍDIAS lores Verdadeiros ou Falsos. Se o re-
Interativas sultado da condição é Falso, não é
iniciada a repetição ou caso esteja em
Em caso de dúvida, consulte material execução, é encerrada a repetição.
complementar sobre as estruturas de No caso da condição ser Verdadeira,
decisão ou seleção com aplicação de é iniciada a repetição ou, caso esteja
operadores aritméticos e operadores em execução, é reiniciada a execução
relacionais, consulte a videoaula gra- das instruções dentro da Estrutura de
vada com aplicação de exercícios. Repetição.

1 - https://youtu.be/YpA5MQcQJKg A avaliação da condição é sempre


2 - https://youtu.be/SkzHy3lyhiY novamente realizada após a execu-
3 - https://youtu.be/1gLwsjbgp7g ção da última instrução dentro da
4 - https://youtu.be/L52_wqfG8Yo estrutura de repetição, com exceção
5 - https://youtu.be/-d04ZA8p5oo do Do/While (Faça/Enquanto), garan-
6 - https://youtu.be/O_pBF4orSWc tindo assim que todas as instruções
dentro da Estrutura de Repetição do
Estrutura de Repetição: Do/While serão executadas pelo me-
nos uma vez.
A estrutura de repetição é utilizada
quando desejamos que um deter-
minado conjunto de instruções ou Tipos de Estruturas de Repetição:
comando seja executado em um nú- l For (Para/Faça);
mero definido ou indefinido de vezes, l While (Enquanto/Faça);
ou enquanto um determinado esta- l Do/While (Faça/Enquanto).
do de situações prevalecer ou até que
seja alcançado. Estrutura de Repetição FOR (Para/
Faça).
Para que servem? Servem para repe- É usada quando o número exato de
tir um conjunto de instruções sem repetições é conhecido, sendo a vari-
que seja necessário escrevê-las várias ável de controle do tipo Inteiro ou Li-
vezes, sendo sendo este algoritmo teral.
pode ser repetido em um número
determinado ou indeterminado de O significado da palavra para (FOR),
vezes. Estas estruturas de repetição indica o início da estrutura de repe-
também são chamadas de Laços ou tição. Após essa palavra vem o nome
Loops. de uma variável que irá controlar a
quantidade de repetições do laço, o
Funcionamento: As estruturas de re- tipo desta variável deve ser do tipo in-
petição envolvem a avaliação de uma teiro e deve ter sido declarado no blo-

18 Lógica de Programação - 2022


Escola do Futuro de Goiás
co de declarações de variáveis do seu que a condição seja validada antes de
algoritmo. A palavra reservada de, de- cada repetição do laço e enquanto a
fine o valor inicial que será atribuído condição for Verdadeira, o bloco de
à variável de controle, seguido por ate instruções dentro do laço é executa-
que define o valor que irá encerrar o do, quando a condição se torna Falsa,
laço, ou seja, as instruções serão repe- o laço é finalizado.
tidas enquanto a variável de contro- Exemplo:
le tiver valor menor ou igual ao valor Um algoritmo para calcular a média
final. de um conjunto de 50 valores inteiros
fornecidos em uma unidade de en-
Por fim, é definido o valor de incre- trada qualquer.
mento através da palavra reservada
passo. Esse valor é utilizado para in- Inicio
crementar a variável de controle após Inteiro: NUM, I, SOMA
cada ciclo de execução. real: MEDIA
I1
Exemplo: SOMA  0
Início Enquanto I <= 50 faça
Inteiro: I escreva (“Digite um número”)
Real: SOMA, NOTA, MEDIA Leia (NUM)
SOMA  0 SOMA  SOMA + NUM
Para I de 1 até 20 faça I  I + 1
Escreva (“Informe uma fim enquanto
nota:”) MEDIA  SOMA / 50
Leia (NOTA) Escreva (“Média = “, MEDIA)
SOMA <- SOMA + NOTA Fim
Fim para
MEDIA  SOMA / 40 Entendo o código: Declara-se as va-
Escreva (“Média da turma: “, riáveis que serão utilizadas neste al-
MEDIA) goritmo, em seguida faz-se a inicia-
FIM lização dessas variáveis. Aplica-se o
laço de repetição, na qual o objetivo
Estrutura de Repetição WHILE (En- deste algoritmo é somar todos os nú-
quanto/Faça). meros e trazer como resultado final a
média. Este processo é embutido em
Tem como característica ser a estru- um laço de repetição que irá receber
tura de repetição mais simples, sen- até 50 números, guardar na variável
do ideal para situações em que não ao término, somar estes números e
se sabe o número exato de vezes em mostrar a média destes números in-
que o bloco de instruções deve ser re- formados pelo usuário, este procedi-
petido. Seu funcionamento faz com mento será incrementado 50 vezes

19 Lógica de Programação - 2022


Escola do Futuro de Goiás
até que atinja a condição 51, retor- Leia (NOTA)
nando como Falo o parâmetro princi- SOMA  SOMA + NOTA
pal e o comando de repetição então Fim para
será abandonado, calcula-se a média MEDIA  SOMA / 20
aritmética e a imprime em seguida Escreva (“Média da turma: “, MEDIA)
como resultado do algoritmo. Fim

Estrutura de Repetição DO/WHILE Entendendo o código: Neste algo-


(Para/Faça). ritmo serão somadas as notas para
depois calcularmos a média, veja que
A estrutura DO/WHILE, testa a con- não é necessário inicializar a variável
dição de validação do laço apenas de controle I, sendo feito de forma au-
no final do comando, sendo assegu- tomática implementado na instrução
rado assim que as instruções dentro para. Saindo então, do laço de repeti-
do laço serão executadas pelo menos ção, calcula-se a média aritmética e a
uma vez. imprime em seguida.

A diferença para a estrutura WHILE é


MÍDIAS
que na DO/WHILE a condição de va-
lidação é verificada após a execução Interativas
do bloco de instruções do laço.
Em caso de dúvida, consulte material
Quando este laço for executado to- complementar sobre as estruturas de
das as instruções dentro deste serão repetição, consulte a videoaula grava-
executadas, independente da condi- da com aplicação de exercícios.
ção estabelecida e somente após a 1 - https://youtu.be/2jFCOxtj5Us
primeira execução das instruções do 2 - https://youtu.be/O_pBF4orSWc
laço é que a expressão será testada. 3 - https://youtu.be/VElnTAjr6nY
Depois da primeira execução, as ins- 4 - https://youtu.be/PhSML3ChhAA
truções dentro do laço só são execu- 5 - https://youtu.be/PhAJDguglNA
tadas novamente se a condição de 6 - https://youtu.be/36wR0D4UOg4
validação for Verdadeira.

Exemplo:
Inicio
Inteiro: I
Real: SOMA, NOTA, MEDIA
SOMA  0
Para I de 1 até 20 faça
Escreva (“Digite uma nota: “)

20 Lógica de Programação - 2022


Escola do Futuro de Goiás
CAPÍTULO 5
Funções e
Procedimentos
Também chamados de subalgoritmos Funções predefinidas: A linguagem
que efetuam um ou mais cálculos de- do Visualg possui diversas funções
terminados, tendo como objetivo evi- predefinidas que podem ser usadas
tar a escrita de um código grande e na construção de algoritmos.
modularizando então em algoritmos
menores. É muito utilizado quando Exemplo: Criar um algoritmo que cal-
precisamos utilizar uma mesma tare- cule o valor da raiz quadrada de um
fa em diversos lugares, evitando assim número.
a reescrita do trecho diversas vezes.
O Visualg possui uma função prede-
Características: finida que recebe como parâmetro
l Reduzem o tamanho do algoritmo uma variável (do tipo real) e retorna
l Facilitam a compreensão e visuali- um valor (também do tipo real) refe-
zação do algoritmo rente à raiz quadrada do número.
l São declarados no início do algorit-
mo e podem ser chamados em quais- Funções predefinidas: Assinatura da
quer pontos após sua declaração. função para cálculo da Raiz Quadrada.

Funções: Bloco de comandos que Raizq (valor : real) : real


têm por objetivo retornar um valor Nome da Função Tipo do parâmetro
ou uma informação. A chamada de Tipo de Retorno
uma função é feita através da citação
do seu nome seguido, opcionalmen- Como utilizar:
te, de seus argumentos iniciais entre Algoritmo “Uso_de_Função_Predefi-
parênteses. Estas funções podem ser nida”
predefinidas pela linguagem ou cria- Var
das pelo programador. numero, raiz: real
inicio

21 Lógica de Programação - 2022


Escola do Futuro de Goiás
escreva (“Digite um número:”) representado por expressão.
leia (numero)  Exp( base, expoente) - Retorna o
raiz  Raizq(numero) valor de base elevado a expoente, sen-
do ambas expressões do tipo real.
escreva (“A raiz quadrada do
 GraupRad( expressão) - Retorna o
número digitado é: “, raiz)
valor em radianos correspondente ao
fimalgoritmo
valor em graus representado por ex-
Atribuindo à Chamada da função pressão.
variável raiz passando a variável
(do tipo real) numero (do tipo real)  Int( expressão) - Retorna a parte
o retorno da como parâmetro da inteira do valor representado por ex-
função Raizq função Raizq
pressão.
 Log( expressão) - Retorna o logarit-
mo na base 10 do valor representado
por expressão.
 LogN( expressão) - Retorna o loga-
Lista das Funções ritmo neperiano (base e) do valor re-
presentado por expressão.
Predefinidas do Visualg.  Pi - Retorna o valor 3.141592.
 Quad( expressão) - Retorna qua-
Funções numéricas, algébricas e
drado do valor representado por ex-
trigonométricas:
pressão.
 RadpGrau( expressão) - Retorna o
 Abs( expressão) - Retorna o valor valor em graus correspondente ao va-
absoluto de uma expressão do tipo lor em radianos representado por ex-
inteiro ou real. Equivale a | expressão pressão.
| na álgebra.  RaizQ( expressão) - Retorna a raiz
 ArcCos( expressão) - Retorna o ân- quadrada do valor representado por
gulo (em radianos) cujo co-seno é re- expressão.
presentado por expressão.  Rand - Retorna um número real ge-
 ArcSen( expressão) - Retorna o ân- rado aleatoriamente, maior ou igual a
gulo (em radianos) cujo seno é repre- zero e menor que um.
sentado por expressão.  RandI( limite) - Retorna um número
 ArcTan( expressão) - Retorna o ân- inteiro gerado aleatoriamente, maior
gulo (em radianos) cuja tangente é re- ou igual a zero e menor que limite.
presentada por expressão.  Sen( expressão) - Retorna o seno
 Cos( expressão) - Retorna o co-se- do ângulo (em radianos) representa-
no do ângulo (em radianos) represen- do por expressão.
tado por expressão.  Tan( expressão) - Retorna a tan-
 CoTan( expressão) - Retorna a co- gente do ângulo (em radianos) repre-
-tangente do ângulo (em radianos) sentado por expressão.

22 Lógica de Programação - 2022


Escola do Futuro de Goiás
deia subc se encontra em c, ou zero se
Funções para manipular subc não estiver contida em c. Corres-
cadeias de caracteres: ponde funcionalmente a Pos() do Del-
 Asc (s : caracter) : Retorna um in- phi, Instr() do Basic ou At() do Clipper,
teiro com o código ASCII do primeiro embora a ordem dos parâmetros pos-
caracter da expressão. sa ser diferente em algumas destas
 Carac (c : inteiro) : Retorna o carac- linguagens.
ter cujo código ASCII corresponde à
expressão. Criando Funções
 Caracpnum (c : caracter) : Retorna
o inteiro ou real representado pela ex- A criação de uma função deve ser re-
pressão. Corresponde a StrToInt() ou alizada dentro da seção de variáveis.
StrToFloat() do Delphi, Val() do Basic Esse tipo de subalgoritmos sempre
ou Clipper, etc. retorna apenas um valor para o algo-
 Compr (c : caracter) : Retorna um ritmo que o chamou. As funções pos-
inteiro contendo o comprimento suem um tipo de retorno associado e
(quantidade de caracteres) da expres- pode possuir 0, 1 ou mais parâmetros.
são.
 Copia (c : caracter ; p, n : inteiro) : Sintaxe:
Retorna um valor do tipo caracter con- Algoritmo <nome do algoritmo>
tendo uma cópia parcial da expressão, var
a partir do caracter p, contendo n ca- <declaração das variáveis globais>
racteres. Os caracteres são numera- <definição das funções>i
dos da esquerda para a direita, come- inicio
çando de 1. Corresponde a Copy() do <lista de comandos>
Delphi, Mid$() do Basic ou Substr() do fimalgoritmo
Clipper.
 Maiusc (c : caracter) : Retorna um Variáveis Locais: As variáveis locais
valor caracter contendo a expressão são declaradas dentro dos subalgo-
em maiúsculas. ritmos (funções ou procedimentos),
 Minusc (c : caracter) : Retorna um podem ser usadas apenas dentro das
valor caracter contendo a expressão funções, sendo que o algoritmo que
em minúsculas. Numpcarac (n : intei- chamou a função ou procedimento
ro ou real) : Retorna um valor caracter não tem acesso a estas funções.
contendo a representação de n como
uma cadeia de caracteres. Corres- Variáveis Globais: São variáveis decla-
ponde a IntToStr() ou FloatToStr() do radas na seção var do algoritmo. Qual-
Delphi, Str() do Basic ou Clipper. Pos quer função ou procedimento pode
(subc, c : caracter): Retorna um intei- alterar o valor ou utilizá-la durante o
ro que indica a posição em que a ca- seu procedimento.

23 Lógica de Programação - 2022


Escola do Futuro de Goiás
Exemplo: Criando Funções para cal- total  valor * 2
cular o dobro de um número passado retorne total
como parâmetro. fimfuncao
função Triplo (valor: real): real
Declaração de Função
var
total: real
Variáveis Globais Tipo de retorno inicio
numero, resultado: real total  valor * 3
Função Dobro (valor: real): real retorne total
var fimfuncao
Parâmetro: tipo de parâmetro
total: real
Nome da Função

Declaração de variáveis locais


inicio
total  valor * 2 Comandos
escreva(“Digite um número:”)
retorne total leia (numero)
escreval(“O dobro é: “, Dobro(numero) )
fimfuncao Retorno
escreval(“O triplo é: “, Triplo (numero) )
fimalgoritmo

inicio
Comandos Procedimentos
escreva (“Digite um número Em Visualg, os procedimentos dife-
para calcular o dobro:”) rem das funções apenas por não re-
leia (numero) tornarem valor nenhum, sendo sua
resultado  Dobro(numero) sintaxe descrita da seguinte forma:
Comandos
escreva(“O dobro é: “, resultado) procedimento <nome do procedi-
mento> (<parâmetros>)
fimalgoritmo var
<declaração das variáveis locais>
Os algoritmos podem inicio
possuir várias funções: <lista de comandos>
fimprocedimento
Algoritmo “FuncoesPersonalizadas”
var
numero: real Exemplo: Crie um procedimento que
receba um valor como parâmetro e
função Dobro (valor: real) : real escreva o dobro desse número.
var algoritmo “Procedimento”
total: real var
inicio numero: inteiro Não possui tipo
de retorno e não
retorna nada. Apenas
executa o que está na
seção de comandos.

24 Lógica de Programação - 2022


Escola do Futuro de Goiás
Não possui tipo de retorno e não retorna nada.
Apenas executa o que está na seção de comandos.

procedimento Dobro (valor: inteiro) imprimir()


var fimalgoritmo
total: inteiro
inicio Passagem de Parâmetros: São ca-
total  valor * 2 nais por onde os dados são transferi-
escreva (“O dobro é: “, total) dos pelo algoritmo chamador a um
fimprocedimento subalgoritmos.

inicio Parâmetros Formais: São os nomes


escreva (“Digite um número: “) simbólicos usados na definição dos
leia (numero) parâmetros de um subalgoritmos.
Dobro (numero) É feita apenas
a chamada do Procedimento soma (a, b: inteiro) \\
procedimento,
fimalgoritmo sem precisar Parâmetros Formais\\
atribuir a
nenhuma
variável
var
calculo: inteiro

Declarações Globais e Locais Parâmetros Reais: São aqueles que


l Variáveis Globais – São vistas por substituem os parâmetros formais
toda a aplicação. quando da chamada de um subalgo-
ritmos.
l Variáveis Locais – São vistos apenas Inicio
dentro do procedimento que o criou. X 10
Y 2
l Variáveis Locais - podem possuir o Soma (x, y) \\ Parâmetros reais \\
mesmo nome das variáveis Globais. fimalgoritmo

algoritmo exemplo2 Mecanismos de passagem


var nomeGlobal:literal \\ Declaração de parâmetros:
de variável Global \\
procedimento imprimir \\ Declaração A substituição dos parâmetros for-
de variável Local \\ mais pelos parâmetros reais no ato da
var nomeLocal:literal invocação de um subalgoritmos é de-
inicio nominada de passagem de parâme-
nomeLocal<-”algoritmos” tros. Pode ocorrer por dois mecanis-
escreva(“Esta é a variável Local: ”, no- mos distintos:
meLocal)
fimprocecimento l Passagem por valor (ou por cópia)
inicio Na passagem por valor, é criada uma
nomeGlobal<- “ALGOL” cópia dos parâmetros reais. As modifi-
escreva(“Esta e a variavel Global:”,no- cações no parâmetro formal não afe-
meGlobal) tam o parâmetro real, pois trabalha-se

25 Lógica de Programação - 2022


Escola do Futuro de Goiás
apenas com uma cópia. inicio
algoritmo “PassagemPorValor” calculo  a + b
var escreval(“O valor da soma é: “, cal-
x, y: inteiro culo)
procedimento soma (a, b: intei- a3 Mesmo
alterando os
ro) b4 valores de a e
var fimprocedimento b, os valores
de x e y
calculo: inteiro inicio continuam os
mesmo após
inicio x1 a chamada do
calculo  a + b y2 subalgoritmo.

escreval(“O valor da soma soma (x, y)


é: “, calculo) escreval
a3 (“Os valores de x e y são: “, x, y)
b4 fimalgoritmo.
fimprocedimento
inicio Funções e procedimentos são utiliza-
x1 dos com muita frequência em desen-
y2 volvimento de softwares. São vários
soma (x, y) benefícios como: evita duplicação de
escreval código quando precisamos executar
(“Os valores de x e y são: “, x, y) a mesma operação várias vezes, dei-
fimalgoritmo xa o entendimento do algoritmo mais
intuitivo, pois tiramos a parte comple-
l Passagem por referência xa do código do fluxo principal do al-
O espaço de memória ocupado pelos goritmo, etc.
parâmetros reais é compartilhado pe-
los parâmetros formais corresponden- Em caso de dúvida, consulte mate-
tes. As modificações efetuadas nos rial complementar sobre funções e
parâmetros formais também afetarão procedimentos, consulte a vídeo aula
os parâmetros reais. Na linguagem do gravada com aplicação de exercícios.
Visualg, utiliza-se a palavra var antes
do nome do parâmetro na declaração
da função para informar que a passa- MÍDIAS
gem será por referência Interativas
Algoritmo “PassagemPorReferencia”
Var 1 - https://youtu.be/YoHSbpoZxAs
x, y: inteiro
procedimento soma(var a, b : inteiro)
var
calculo: inteiro

26 Lógica de Programação - 2022


Escola do Futuro de Goiás
CAPÍTULO 6
Vetores e Matrizes

Vetores Sintaxe no Visualg.


<nome_variavel>: vetor [posInicial..
Iniciamos o assunto com a problemá- posFinal] de <tipo>
tica acerca da declaração de variáveis Exemplo:
para receber por exemplo 50 variáveis Algoritmo “exemplo_vetores”
para nome e depois para as médias var
de cada aluno em um sistema escolar. nome_alunos: vetor [1..50] de carac-
Para esta situação, utilizaremos den- tere
tro da estrutura de dados, o recurso media_alunos: vetor [1..50] de real
conhecido como vetor, que é uma inicio
espécie de caixa com várias divisórias nome_alunos[1]  “Pedro”
para armazenar dados. leia (nome_alunos[2])
nome_alunos[3] : = “Joana”
Os vetores são definidos pelo tipo de media_alunos[1] := 8.5
dados que eles devem armazenar e a
quantidade de posições. Preenchendo um vetor.
Podemos utilizar um laço de repe-
Exemplo: tição para facilitar o preenchimento
l Vetor de 8 posições para armazenar dos dados em vetores.
números reais.
Exemplo:
l Vetor de 40 posições para armaze-
nar caracteres. Algoritmo “exemplo_vetores”
Var
Os vetores são estruturas homogêne- numeros: vetor [1..10] de inteiro
as, ou seja, só armazena dados do tipo i: inteiro
inteiro. inicio
para i de 1 ate 10 faca

27 Lógica de Programação - 2022


Escola do Futuro de Goiás
escreva(“Digite um valor para Notação:
ser adicionado ao vetor”, i, “do vetor:”) Como referenciar um elemento es-
leia(numeros [i]) pecífico da matriz?
fimpara
Exemplo: Matriz 3x2 (três linhas e
para i de 1 ate 5 faca
duas colunas)
escreva(“O valor que está na po-
sição”, i, “é:”, numeros[i])
fimpara 1 2
fimpara
1 1,1 1,2
Matriz
2 2,1 2,1
É uma estrutura de dados que con- 3 3,1 3,1
tém várias variáveis do mesmo tipo,
são comumente referenciadas atra- Sintaxe no VisualG
vés de suas dimensões (quantidade Declaração:
de linhas e colunas). <nome_variavel>: vetor[li..lf, ci..cf] de
<tipo>
A notação comum é: MxN, onde M é Onde:
a dimensão vertical (quantidade de • li e lf representam respectiva-
linhas) e N é a dimensão horizontal mente o índice inicial e final das li-
(quantidade de colunas) nhas e
• ci e cf representam, respectiva-
3x3 3x2 4x1 mente o índice inicial e final das colu-
nas.

Para declarar uma matriz 3x2 de


inteiro

Algoritmo “exemplo_matriz”
var
exMatriz: vetor [1..3, 1..2] de intei-
2x3 ro

1x3 inicio
exMatriz[1,1] 10
leia (exMatriz [1,2])
exMatriz[3,1] := 4
Vetores: A
quantidade
fimalgoritmo
de linhas é
sempre 1!
Preenchendo uma matriz: Se quiser-

28 Lógica de Programação - 2022


Escola do Futuro de Goiás
mos atribuir valores a todas as posi- escreva(“O valor
ções da matriz, podemos fazer: que está na posição [“, i, “, 2] [ é:”, nu-
meros[i,2])
algoritmo “preencher_matrizes” fimpara
var fimpara
numeros: vetor[1..3, 1..2] de intei- fimalgoritmo
ro
i: inteiro Em caso de dúvida, consulte material
inicio complementar sobre vetores e ma-
para i de 1 ate 3 faca \\ fazer o trizes, consulte a videoaula gravada
laço para as linhas\\ com aplicação de exercícios.
escreva (“Digite o valor para a
posição”, i, “, 1”:)
leia (numeros[i,1]) O Componente de Lógica de Pro-
escreva (“Digite o valor para a gramação tem como objetivo desen-
posição”, i, “, 2”:) volver o raciocínio lógico e compu-
leia (numeros[i,2]) tacional do aluno, visando propiciar
fimpara o aprendizado de introdução à com-
fimalgoritmo putação e lógica de programação de
computadores.
Podemos ainda incluir um laço de
repetição para variar pelas colunas O aluno capacitado por este curso
também, por exemplo: terá a capacidade de mapear proble-
mas reais em problemas computa-
algoritmo “preencher” cionais e apresentar os conceitos ge-
var rais das linguagens de programação
numeros: vetor[1..3, 1..2] de intei- e suas estruturas básicas.
ro
i, j: inteiro
inicio MÍDIAS
para i de 1 ate 3 faca Interativas
para j de 1 ate 2 faca
escreva(“Digite um 1 - https://youtu.be/4OGUynjqLPM
valor para a posição [“, i, “,”, j, “]: “)
leia(numeros [i, j])
fimpara
para i de 1 ate 3 faca
escreva(“O valor
que está na posição [“, i, “, 1] [ é:”, nu-
meros[i,1])

29 Lógica de Programação - 2022


Escola do Futuro de Goiás
Referências
ASCENCIO, A. F. G.; CAMPOS C, E.A. V. Fundamentos da Programação de Computado-
res. 3. ed. Editora Pearson, 2010.
FOBERLONE, A.L.V.; EBERSPACHER, H.F., Lógica de Programação - A construção de
algoritmos e estruturas de dados. 3. ed., São Paulo: Prentice Hall, 2005.
MIZRAHI, V. V. Treinamento em Linguagem C++: Módulos 1 e 2. 2ª ed. São Paulo: Prentice
Hall, 2006.
NAPRO – Núcleo de Apoio Aprendizagem de Programação. Disponível em: http://
www.guanabara.info/logica/Apostilas/VisuAlg_Ref.pdf.

262588213843476. Programação em C++ - Algoritmo de Dijkstra. Gist (em inglês). Con-


sultado em 31 de março de 2022.
STAIR, Ralph M.; REYNOLDS, George W. Princípios de sistemas de informação. 9ª edi-
ção. São Paulo: Cengage Learning, 2011.

30 Lógica de Programação - 2022


Escola do Futuro de Goiás

Você também pode gostar