Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
HISTÓRIA DOS 
COMPUTADORES 
 
 
AULA 01 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Silva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 HISTÓRIA DOS COMPUTADORES ............................................................................. 8 
1.1 O Ábaco e os Ossos de Napier ............................................................................... 8 
1.2 Auxílio mecânico para os cálculos ......................................................................... 9 
1.3 Primeira geração dos computadores (1946 - 1954) .............................................. 13 
1.4 Evolução das gerações de computadores ............................................................. 13 
1.4.1 Segunda Geração (1952 – 1964) .............................................................. 14 
1.4.2 Terceira Geração (1964-1977) ................................................................ 14 
1.4.3 Quarta Geração (1977-1991) ................................................................... 14 
1.4.4 Quinta Geração (1991...) ........................................................................ 14 
1.5 Evolução dos recursos computacionais ................................................................ 15 
1.5.1 Unidade de armazenamento de dados ..................................................... 15 
1.5.2 Unidade de velocidade de processamento ............................................... 16 
Considerações Finais ................................................................................................ 18 
Atividades de Autoaprendizagem .............................................................................. 18 
Questionário Avaliativo ............................................................................................ 18 
Bibliografia .............................................................................................................. 19 
 
 
 
 
 
Trilha de Aprendizagem 
 
Olá. Meu nome é Andréa César. Sou responsável pela direção editorial 
deste livro didático e de todos os demais recursos relacionados com a sua 
trilha de aprendizagem. Você está iniciando seus estudos sobre LÓGICA 
DE PROGRAMAÇÃO, e o nosso objetivo é auxiliar você no desenvolvimento 
das competências necessárias ao seu exercício profissional. Para isto, 
distribuímos os conteúdos didáticos deste livro em quatro semanas de 
estudo, onde, em cada uma delas, haverá uma competência a se r 
construída. Cada uma dessas competências será desenvolvida por meio 
de quatro atividades de estudo, que podemos chamar de “aulas”. Em 
cada aula, você terá uma introdução ao tema abordado, os objetivos a 
serem alcançados, uma atividade de autoaprendizagem proposta e uma 
lista de exercícios a serem respondidos. Quer saber quais serão as 
competências que você irá desenvolver ao longo dessas quatro semanas 
de estudo? Então vamos a elas: 
 Compreender os conceitos fundamentais da ciência da computação, 1.
sobretudo no que concerne a softwares e programação de 
computadores. 
 Desenvolver algoritmos estruturados envolvendo operações com 2.
variáveis e comandos condicionais simples. 
 Utilizar estruturas condicionais encadeadas e iterativas, além de 3.
efetuar operações envolvendo vetores. 
 Trabalhar com matrizes e modulação de algoritmos, como 4.
procedimentos e funções. 
 
Ao longo desta semana iremos desenvolver a competência de número: 1. 
Vamos arregaçar as mangas? Ao trabalho! 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
1ª SEMANA DE ESTUDOS 
INTRODUÇÃO: 
onhecer a história e entender os conceitos relacionados à 
ciência da computação é vital para o desenvolvimento das 
competências de programação de computadores. Ao longo 
desta primeira etapa de estudos iremos desbrava todo esse 
conhecimento, como preparação para mergulharmos no mundo da 
programação de computadores. Preparado para uma viagem rumo ao 
conhecimento? Então, aperte o cinto e boa viagem. 
 
 
 
 
OBJETIVOS: 
 
Ao término desta semana de estudos, você será capaz de: 
 
 Conhecer a história dos computadores e a evolução dos recursos 
computacionais. 
 Entender o funcionamento e os vários paradigmas das linguagens de 
programação. 
 Compreender a infraestrutura dos sistemas computacionais, 
discernindo sobre hardware, software e peopleware. 
 Definir e entender o conceito e as funcionalidades da lógica de 
programação e algoritmos computacionais. 
 
 
Mãos à obra? Conte com a gente! 
 
 
C 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
1 História dos Computadores 
 
INTRODUÇÃO: 
A informática nasce da ideia de auxiliar o homem nos trabalhos rotineiros 
e repetitivos, geralmente ligados à área de cálculo e gerenciamento. 
Desse modo, conhecer a história doscomputadores é importante, pois é 
através do estudo do passado que podemos compreender e valorizar o 
presente. No decorrer desta aula teremos a oportunidade de analisar 
exemplos de como ideias simples contribuíram para evolução da 
humanidade. 
 
 
1.1 O Ábaco e os Ossos de Napier 
 
O ábaco foi um dos primeiros instrumentos 
desenvolvidos para auxiliar os humanos na realização de 
cálculos. Muitos atribuem sua criação à China, mas 
existem evidências dele na Babilônia do ano 300 A.C. 
 
 
 
 
 
 
 
OBJETIVO: 
Ao término desta aula você deverá ter conhecido a história dos 
computadores e a evolução dos recursos computacionais. 
 
 
Figura 1 - Foto de um Ábaco de 
brinquedo. Fonte: 
https://cdn.pixabay.com/photo/20
14/10/21/21/21/abacus-
497215_960_720.png (Acesso em 
27/07/2017) 
 
Para saber mais sobre o ábaco, acesse o link: 
http://www.educacaopublica.rj.gov.br/oficinas/matematic
a/abaco/03.html (Acesso em 14/10/2017) 
SAIBA MAIS 
http://www.educacaopublica.rj.gov.br/oficinas/matematica/abaco/03.html
http://www.educacaopublica.rj.gov.br/oficinas/matematica/abaco/03.html
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
Figura 3 - As coroas dentadas de 
Pascal ou Pascaline. Fonte: 
https://upload.wikimedia.org/wi
kipedia/commons/thumb/f/ff/P
ascaline-CnAM_823-2-
IMG_1510-white.jpg/1024px-
Pascaline-CnAM_823-2-
IMG_1510-white.jpg. (Acesso em 
10/09/2017) 
 
O próprio nome “computador” está associado ao termo 
“contar”. E era isto que o Ábaco fazia: ajudava as 
pessoas a mecanizar o processo da contagem numérica, 
realizando as operações de soma e de subtração de 
maneira bastante visual e intuitiva, como podemos 
observar na foto da figura 1. 
Em 1617, John Napier construiu um dispositivo simples 
e barato para auxiliar os cálculos matemáticos . Esse 
dispositivo ficou conhecido como “Ossos de Napier” ou 
“Bastões de Napier”. 
 
 
 
 
 
 
 
 
 
 
1.2 Auxílio mecânico para os cálculos 
 
 
Em 1642, o francês Blaise Pascal, aos 19 anos de idade, criou a 
primeira calculadora mecânica do mundo. Esse dispositivo ficou 
conhecido como “As rodas dentadas de Pascal” ou “Pascaline”. 
 
 
Figura 2 - Ossos de Napier. Fonte: 
https://upload.wikimedia.org/wikipe
dia/commons/8/8c/Bones_of_Napier
_%28board_and_rods%29.png. 
(Acesso em 10/09/2017) 
Você gostaria de compreender melhor o funcionamento do 
mecanismo criado por John Napier? Um vídeo fala mais do 
que mil palavras. Então acesse o link: 
https://www.youtube.com/watch?v=HLynpr0iv0A&t=9s 
(Acesso em 14/10/2017) 
EXPLICANDO MELHOR 
https://www.youtube.com/watch?v=HLynpr0iv0A&t=9s
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Em 1801, Joseph Marie Jacquard construiu 
“Máquina de Tecer com Cartões Perfurados”. 
Joseph era um costureiro que trabalhava com 
desenhos em tecidos. Porém, esse processo era 
demorado e isso levou Joseph a construir uma 
máquina para fazer os desenhos nos tecidos. 
Esse mecanismo ficou conhecido como “Tear 
programável”, pois, através das instruções 
contidas nos cartões perfurados, essa máquina 
cortava e desenhava em tecidos. A foto da 
figura 4 ilustra essa máquina. 
Em 1820, Charles Babbage (matemático 
inglês), preocupado com os erros contidos nas 
tabelas matemáticas de sua época, construiu um modelo para calcular 
tabelas de funções (logaritmos, funções trigonométricas, etc.) , sem a 
intervenção de um operador humano. Nascia então a “Máquina 
Diferencial de Babbage”. Babbage projetou essa máquina para ser 
Figura 4 - Tear Programável de Jacquard. Fonte: 
http://producao.virtual.ufpb.br/books/camyle/introduc
ao-a-computacao-
livro/livro/livro.chunked/images/historia -do-
computador/JacquardLoom.jpg.(Acesso em 
10/09/2017) 
O mecanismo de funcionamento da Pascaline é o mesmo 
utilizado até hoje nos odômetros de carros, onde as 
engrenagens são organizadas de tal forma a simular o "vai 
um" para a próxima casa decimal nas operações de 
adição. 
VOCÊ SABIA? 
Existe uma animação demonstrando o funcionamento da 
máquina Pascaline. Você pode acessá-la através do 
seguinte link: http://therese.eveilleau.pagesperso-
orange.fr/pages/truc_mat/textes/pascaline.htm (Acesso 
em 14/10/2017) 
SAIBA MAIS 
http://therese.eveilleau.pagesperso-orange.fr/pages/truc_mat/textes/pascaline.htm
http://therese.eveilleau.pagesperso-orange.fr/pages/truc_mat/textes/pascaline.htm
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
composta por diversos discos giratórios 
operados por manivelas (foto na figura 5). 
Em 1823, o governo britânico concordou em 
financiar a construção da máquina de Charles 
Babbage. Porém as ferramentas da época não 
eram suficientemente sofisticadas para 
construir a máquina. Babbage, então, gastou 
tempo construindo ferramentas e, por 
diversas, vezes a construção da máquina 
parou por falta de fundos. 
 
 
 
 
 
 
 
 
Em 1833, Babbage abandonou a ideia da máquina diferencial e iniciou 
um trabalho em seu novo projeto, conhecido como “Máquina Analítica de 
Babbage”. Essa máquina podia ser programada através de cartões 
perfurados e calculava várias funções diferentes. Porém, a tecnologia 
pouco avançada da época não possibilitou que a máquina fosse concluída 
e, somente um século depois, suas ideias foram postas em prática. 
 
 
 
 
 
Em 1880, os dados do senso demográfico dos Estados Unidos, que ocorria 
a cada 10 anos, levaram quase 8 anos para serem processados. Dessa 
forma surgiu uma preocupação quanto ao tempo necessário p ara 
Figura 6 - Máquina Diferencial de Babbage. 
Fonte: 
https://upload.wikimedia.org/wikipedia/comm
ons/5/53/BabbageDifferenceEngine.jpg. 
(Acesso em 10/09/2017) 
Para saber mais sobre Babbage e suas criações, acesse o 
link: https://www.youtube.com/watch?v=s8IKAJxl75U 
(Acesso em 14/10/2017) e assista a um vídeo bastante 
elucidativo a esse respeito. 
SAIBA MAIS 
Para muitos, Charles Babbage é considerado o verdadeiro 
“Pai da Computação”. 
IMPORTANTE 
https://www.youtube.com/watch?v=s8IKAJxl75U
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
processar os dados de 1890. Então, Herman Hollerith (estatístico) foi 
designado pela Agência Estatística dos EUA para desenvolver uma técnica 
de aceleração do processamento dos dados daquele censo. 
Hollerith se utilizou da ideia de Jackard e desenvolveu a Perfuradora de 
Cartões, modo pelo qual os dados eram perfurados em cartões que 
podiam ser classificados por meio de pinos passando pelos furos. 
 
 
A máquina de Hollerith era tão veloz que uma simples contagem ficava 
pronta em seis semanas, e uma análise estatística completa, em dois 
anos e meio. A população aumentara em cerca de 13 milhões de pessoas 
durante a década anterior, até um total de 62.622.250 habitantes. 
Mesmo assim, a tabulação do censo de 1890 demorou aproximadamente 
um terço do tempo gasto por seu predecessor. A máquina de Hollerith 
ficou mundialmente conhecida, tendo sido utilizada por vários países em 
diversos seguimentos de mercado. Então, Hollerith montou uma empresa 
chamada de International Business Machines Corporation , mais 
popularmente conhecida como IBM, uma marca forte e atuante até os 
dias de hoje. 
 
Figura 7 - Perfuradora de Cartões de Hollerith. Fonte: 
http://www.di.ufpb.br/raimundo/Revolucao_dos_Computadores/TAB.jpg. (Acesso em 10/09/2017) 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
1.3 Primeira geração dos computadores (1946 - 1954) 
 
A primeira geração dos computadores é marcada pela utilização de 
válvulas. A válvula era um tubo de vidro, similar a uma lâmpada, que 
aquecia bastante e costumava queimar com facilidade. 
 
 
 
O armazenamento dos dadosdesses computadores era feito, 
inicialmente, através de cartões perfurados. Posteriormente esse 
armazenamento passou a ser feito por meio de fitas magnéticas. Esses 
computadores eram máquinas extremamente grandes, chegando a 
ocupar áreas da ordem de 180 m². Outra característica desses 
computadores era que, para programá-los, costumava-se levar muito 
tempo. 
 
1.4 Evolução das gerações de computadores 
 
Desde o primeiro computador eletrônico inventado, o processo evolutivo 
daquelas máquinas foi célere e intenso. Após a primeira geração, houve 
muitas outras até que chegássemos às atuais máquinas atualmente em 
uso. 
Farias e Medeiros (2013), trazem os principais acontecimentos, conforme 
as respectivas décadas, como mostra o quadro da tabela 1 a seguir. 
 
Figura 8 - Válvulas. Fonte: http://producao.virtual.ufpb.br/books/camyle/introducao -
a-computacao-livro/livro/livro.chunked/images/historia -do-
computador/valvulas.png. (Acesso em 10/09/2017) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
1.4.1 Segunda Geração (1952 – 1964) 
 
 
Essa geração foi marcada pela 
substituição da válvula pelo transistor, 
que eram muito menores do que as 
válvulas a vácuo e tinham outras 
vantagens: não exigiam tempo de pré-
aquecimento, consumiam menos 
energia, geravam menos calor, eram 
mais rápidos e confiáveis 
 
 
 
 1.4.2 Terceira Geração (1964-1977) 
 
 
 
 
 
 
 
Marcada pela utilização dos circuitos 
integrados, feitos de silício, essa 
geração se caracterizou pelo advento 
dos microchips. Seu processo de 
fabricação possibilitava a construção de 
vários circuitos simultaneamente, 
facilitando a produção em massa. 
 
1.4.3 Quarta Geração (1977-1991) 
 
 
 
 
 
 
 
Esta geração é caracterizada pelo 
surgimento dos microprocessadores - 
unidade central de processamento. 
Sistemas operacionais como MS-DOS, 
UNIX e CP/M eram os utilizados à 
época. 
Linguagens de programação orientadas 
a objeto como C++ e Small talk foram 
desenvolvidas. Discos rígidos eram 
utilizados como memória secundária. As 
impressoras matriciais e os teclados 
com layouts atuais foram criados nessa 
época. 
1.4.4 Quinta Geração (1991... ) 
 
 
 
 
 
 
 
Os computadores da quinta geração 
usam processadores com milhões 
de circuitos integrados. Essa 
geração está sendo marcada pela 
inteligência artificial e por sua 
conectividade. 
 
Tabela 1: Gerações de computadores. Fonte: Adaptado de Farias et al (2013) 
 
Figura 9 - Placa de circuito com 
transistores. Fonte: 
https://pixabay.com/pt/hedging-bobina-
placa-de-circuito-647485/ 
Figura 10 - Placa de circuitos integrados. 
Fonte: https://pixabay.com/pt/placa-
m%C3%A3e-eletr%C3%B4nica-computador-
581597/ 
Figura 11 - Microcomputador típico da terceira 
geração. Fonte: 
https://upload.wikimedia.org/wikipedia/common
s/thumb/6/69/IBM_PC_5150.jpg/280px -
IBM_PC_5150.jpg 
Figura 12 - Os notebooks representam bem 
essa geração. Fonte: 
https://pixabay.com/pt/laptop -notebook-
m%C3%B3veis-computador-154091/ 
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
1.5 Evolução dos recursos computacionais 
 
 
É evidente que ao armazenarmos algo, essa coisa pode ser quantificada. 
Como por exemplo, podemos armazenar água em um reservatório e , para 
sabermos a quantidade armazenada, podemos nos basear no seu volume. 
Esse volume é medido em litros (l) ou metros cúbicos (m3). No mundo da 
informática os dados são transmitidos e armazenados, portando esses 
dados também podem ser quantificados e mensurados em unidades de 
medida. Os computadores trabalham com diversas unidades de medidas, 
então vamos esclarecer algumas das mais importantes, começando pela 
que consegue mensurar a capacidade de armazenamento de dados. 
 
1.5.1 Unidade de armazenamento de dados 
 
O computador armazena dados em sua memória, reservando um pequeno 
espaço denominado “byte”. Cada byte consegue representar um pequeno 
fragmento de dado, que podemos chamar de caractere. Esse caractere 
pode ser um algarismo de 0 a 9, uma letra do alfabeto de “A” a “Z”, ou 
um símbolo especial, como “&”, “@”, “ -“, etc. Um byte, ou um conjunto 
deles, pode ainda representar um ponto luminoso na tela do computador 
ou uma nota musical que compõe uma canção armazenada em sua 
memória. 
 
 
 
 
 
 
 
Um byte pode ainda ser subdividido em fragmentos ainda 
menores. Um byte é, na realidade, uma combinação de 8 
bits. Bits são sinais binários, representados pelos números 
0 e 1. Cada bit, portanto, pode equivaler a zero ou a um. 
Internamente, esses sinais binários são simulados pela 
presença ou ausência de corrente elétrica dentro do chip. 
VOCÊ SABIA? 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 16 
 
 
Bem, agora que você entendeu o que são bits e bytes, atente para a 
tabela 1, que mostra as diferentes unidades de medida de 
armazenamento de um computador, em bytes. 
 
 
 
 
 
 
 
Tabela 2: Unidades de medida de armazenamento de dados. Fonte: Editorial Telesapiens 
 
1.5.2 Unidade de velocidade de processamento 
 
Outra medida importante para os computadores diz respeito à velocidade 
de processamento, chamada de Mega-hertz. Um Mega-hertz, ou MHz, 
equivale a 1 milhão de ciclos por segundo, ou seja, 106 (“dez” elevado à 
sexta potência), diferentemente de Megabyte, que, como vimos, utiliza 
outro tipo de potenciação: a de base dois (210 = 1.024). 
 
 
 
 
 
 
Tabela 3: Unidades de medida de velocidade de processamento. Fonte: Editorial Telesapiens 
 
 
 
 
Medida Sigla Valor (capacidade) 
Bit b bit 1 b 
Byte B 1 (8 bits) 1 B 
Quilo-byte KB 1.024 1.024 B 
Mega-byte MB 1.048.576 1.024 KB 
Giga-byte GB 1.073.741.824 1.024 MB 
Tera-byte TB 1.099.511.627.776 1.024 GB 
Penta-byte PB 1.125.899.906.842.624 1.024 TB 
Hexa-byte HB 1.152.921.504.606.846.976 1.024 PB 
Yota-byte YB 1.208.925.819.614.630.000.000.000 1.024 HB 
Medida Sigla Velocidade 
Hertz Hz 1 ciclo por segundo 1 Hz 
Quilo-hertz KHz 1.000 ciclos/segundo 1.000 Hz 
Mega-
hertz 
MHz 1.000.000 ciclos/segundo 1.000 KHz 
Giga-hertz GHz 1.000.000.000 
ciclos/segundo 
1.000 MHz 
Tera-hertz THz 1.000.000.000.000 
ciclos/segundo 
1.000 GHz 
Lógica de Programação| Izabelly Morais e Max Azevedo | 17 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Um termo comumente utilizado no mercado de 
informática é o “Clock”. Ao adquirir um computador, você 
pode se referir à sua velocidade de processamento usando 
este termo, que significa, na realidade, a frequência com 
que o processador pergunta para a placa-mãe 
(motherboard) se há alguma instrução a ser processada. 
NOTA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 18 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Quer se aprofundar no tema desta aula? Recomendamos o acesso à 
seguinte fonte de consulta e aprofundamento: Vídeo: “História do 
computador em minutos”, acessível pelo link 
https://www.youtube.com/watch?v=F3qWg1JBPZg (Acesso em 
19/09/2017). 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na moda lidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussõesem seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
https://www.youtube.com/watch?v=F3qWg1JBPZg
Lógica de Programação| Izabelly Morais e Max Azevedo | 19 
 
 
 
 Bibliografia 
 
 FARIAS, G., & MEDEIROS, E. S. (2013). Introdução à Computação. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 20 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
LINGUAGENS DE 
PROGRAMAÇÃO 
 
 
 
 
 
AULA 02 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Si lva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 LINGUAGENS DE PROGRAMAÇÃO ........................................................................... 6 
1.1 Conceitos fundamentais ........................................................................................ 6 
1.2 Classificação das linguagens de programação ...................................................... 10 
1.2.1 Linguagem de máquina ........................................................................... 10 
1.2.2 Linguagens de baixo nível ....................................................................... 11 
1.2.3 Linguagens de alto nível ......................................................................... 12 
Considerações Finais ................................................................................................ 15 
Atividades de Autoaprendizagem .............................................................................. 15 
Questionário Avaliativo ............................................................................................ 15 
Bibliografia .............................................................................................................. 16 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Linguagens de Programação 
 
INTRODUÇÃO: 
É importante entender que o computador se divide em duas partes bem 
distintas: o hardware e o software. O hardware é tudo o que é físico no 
computador, como por exemplo: teclado, monitor, mouse, etc. Já o 
software diz respeito a tudo que não se pode “tocar”, como programas 
(aplicativos) e dados. É com foco no software que iremos discorrer sobre 
os temas ao longo desta aula, para que você possa entender exatamente 
o que são e para que servem programas, dados e linguagens de 
programação. 
 
1.1 Conceitos fundamentais 
 
Você sabe o que é um programa? Não estamos nos referindo ao seu 
programa de final de semana – esse você certamente conhece bem. 
Estamos nos referindo ao que anima as máquinas e as faz realizar todas 
as tarefas que estamos acostumados a ver, como processar dados, 
imprimir informações, fazer a leitura de uma imagem por meio de um 
scanner, enfim, toda e qualquer operação que os mandemos fazer (e até 
aquelas que são feitas por iniciativa própria do computador). 
Mas, espera aí! Quem está por traz de tudo o que o computador faz? 
Somos nós? Ou tem mais alguém? A resposta para esta pergunta é dúbia: 
somos nós sim, mas por meio dos programas que escrevemos para eles, 
que são como cartas escritas para orientá-los a executar procedimentos 
(comandos ou instruções). 
 
 
OBJETIVO: 
Ao término desta aula você será capaz de entender o funcionamento e os 
vários paradigmas das linguagens de programação . 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
 
 
 
 
 
 
Podemos ampliar ainda mais este conceito, pensando em termos do 
software como um todo. Você sabe qual a diferença entre programa e 
software? Podemos entender um programa como um software, mas nem 
todo software é um programa. Como vimos anteriormente, software é 
tudo aquilo que não se toca em um sistema computaciona l. Logo, os 
dados e as informações também devem ser considerados como 
“software”, pois nelas também não podemos tocar. Agora podemos não 
só ampliar o conceito de software, como lançar mais algumas definições, 
como as que se seguem: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Programas são conjuntos de instruções, ordenadas 
logicamente com vistas a realização de um ou mais 
procedimentos, que podem ser executados por meio de 
um comando ou de outro programa. 
DEFINIÇÃO 
Dados são conjuntos fragmentos de informações que, 
processados por um programa, transformam-se em 
informações.Informações são conjuntos de dados capazes de mudar o 
estado de conhecimento de alguém sobre algo, podendo 
ser exteriorizada em várias mídias distintas, como 
relatórios de papel, textos exibidos em monitores de vídeo, 
gráficos, sons, objetos em 3D, etc. 
Instruções são comandos escritos em um programa, 
executados apenas quando este programa é submetido 
por um comando ou por outro programa. 
Comandos são palavras imperativas (verbos) que ordenam 
um processamento específico por parte do computador, 
como um procedimento ou a execução de um programa. 
DEFINIÇÃO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
 
Os comandos, assim como as instruções de um programa, são escritos de 
acordo com uma sintaxe (regra gramatical) que deve ser compreendida 
pelo sistema operacional, pelo compilador ou pelo interpretador de 
programas. 
Cabe aos sistemas operacionais compreender a sintaxe dos comandos. 
Por exemplo, o Windows reconhece o comando “DIR”, que ordena a 
exibição do conteúdo de uma pasta em um disco rígido, ou em outro 
dispositivo de memória auxiliar qualquer. A figura a seguir mostra 
claramente como um comando é digitado, submetido ao computador e, 
como consequência, as informações são devolvidas após o 
processamento dos dados. 
 
 
Figura 1 - Imagem do Prompt de Comando do Windows executando o comando "DIR". Fonte: Editorial 
Telesapiens. 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
 
 
 
 
 
 
 
 
 
 
Dizemos então que o comando “DIR” é escrito em uma linguagem que o 
sistema operacional Windows entende. Mas, e quanto ao programa que é 
executado pelo comando “DIR”? Ele existe. Afinal, não é tão simples 
assim ler todas as informações de uma pasta em um disco e exibi -la na 
tela do computador com todos aqueles detalhes e formatos. Para isto, 
uma sequência de outros comandos é executada internamente. A esta 
sequência damos o nome de programa. 
Então, assim como o comando “DIR”, todos os outros comandos chamam, 
na realidade, programas, que executam uma série de procedimentos 
conforme as instruções neles previamente programadas. Para isto, essas 
instruções também têm que obedecer uma sintaxe. Pronto! Chegamos à 
definição de Linguagem de Programação. 
 
 
 
 
 
Com isto, queremos dizer que, assim como a língua portuguesa possui 
uma gramática e um dicionário, toda e qualquer linguagem de 
programação também deve possuir esses dois atributos: 
 Gramática: é o conjunto de regras de sintaxe que determinam como as 
instruções devem ser empregadas em um programa. 
Para testar o comando DIR do sistema operacional 
Windows, clique na ferramenta de pesquisa da barra de 
tarefas e digite a palavra “PROMPT”. Isto fará aparecer a 
opção “Prompt de Comando” no menu. Basta clicar em 
cima dela. 
NOTA 
Linguagem de programação é um conjunto de regras 
sintáticas cuja finalidade é orientar a escrita das 
instruções de um programa. 
DEFINIÇÃO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
 Dicionário: é o conjunto de palavras que definem as instruções aceitas 
pela linguagem de programação. 
 
1.2 Classificação das linguagens de programação 
 
Existe uma enormidade de linguagens de programação no mercado de 
informática. Se formos considerar aquelas que não mais existem, 
podemos afirmar que a quantidade de linguagens de programação se 
aproxima do número de idiomas oficiais do planeta. Diante de tantas 
linguagens assim, vamos classificá-las em três grupos, sendo o primeiro 
possuidor de apenas uma única linguagem, como mostra o diagrama a 
seguir. 
 
Figura 2 - Classificação das linguagens de programação. Fonte: Editorial Telesapiens. 
 
 
1.2.1 Linguagem de máquina 
 
A linguagem de máquina é a linguagem realmente entendida pelo 
computador. Ela é composta por comandos binários (0 “zeros” e 1 “uns”), 
o que as torna praticamente inacessíveis aos programadores 
convencionais. Cada família de processador estabelece uma linguagem 
de máquina própria, composta basicamente por endereços de memória e 
comandos de movimentação de bytes entre esses endereços. 
 
COMPUTADOR 
de 
Máquina 
Baixo 
nível 
Alto nível 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
1.2.2 Linguagens de baixo nível 
 
Para se ter acesso à linguagem de máquina, deve-se utilizar uma 
linguagem de programação inteligível ao ser humano. Existe, como já 
dissemos, uma enormidade delas. A mais próxima e diretamente 
relacionada à linguagem de máquina é o Assembly (ou linguagem 
montadora). Essa linguagem, apesar de ser inteligível ao homem, é de 
alta complexidade e de difícil compreensão. Dizemos então que o 
Assembly é uma linguagem de baixo nível . 
 
 
 
 
 
 
 
 
Antes de prosseguirmos, precisamos entender uma coisa em definitivo: o 
computador só entende uma única linguagem: a de máquina. Todas as 
outras precisarão ser convertidas para esta linguagem. A este processo 
de conversão damos o nome de “compilação”. Para isto, um programa, 
para ser executado por um computador, necessitará ser compilado por 
um outro programa, intitulado compilador. 
 
 
 
 
 
Alguns autores defendem a existência de dois grupos de 
linguagem de programação: os de baixo nível e os de alto 
nível. Esses defendem que a linguagem de máquina é 
considerada uma linguagem de baixo nível. Outros autores 
isolam a linguagem de máquina dessa classificação, 
diferenciando-a das demais. Assim, para efeito desta obra, 
poderemos nos referir eventualmente às linguagens de 
máquina como sendo de baixo nível. 
NOTA 
Compilador é um programa, escrito em linguagem de 
máquina, capaz de traduzir um outro programa, escrito em 
uma linguagem de baixo ou alto nível, para a linguagem 
de máquina, gerando o que chamamos de programa-
objeto ou programa-executável. 
DEFINIÇÃO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
1.2.3 Linguagens de alto nível 
 
Com a popularidade dos computadores criou-se um "problema": alta 
demanda por software e, consequentemente, por programadores. 
Aparentemente isso não é exatamente um problema, e sim uma 
oportunidade, uma tendência, um novo mercado. Faz sentido, até certo 
ponto. O problema era encontrar mão de obra qualificada para criar 
códigos que as máquinas pudessem executar. À época, só havia 
linguagens de baixo nível no mercado. 
Devido à necessidade de facilitar a maneira como humanos poderiam 
escrever comandos para as máquinas, surgiram as linguagens de alto 
nível. Essas linguagens possuem a característica de serem mais 
amigáveis para o entendimento humano. 
Podemos citar como exemplos de linguagem de programação de alto 
nível: ASP, ActionScript, C++, C#, Pascal, Object Pascal, Euphoria, Java, 
JavaScript, Lua, MATLAB, PHP, Python, Ruby, Basic , Visual Basic, entre 
muitas outras. 
O processo de compilação de um programa escrito em linguagem de alto 
nível se dá, normalmente, por meio de duas etapas. Conforme ilustrado a 
seguir, percebemos que os programas de alto nível são compilados 
primeiramente para uma linguagem de baixo nível, para somente ent ão 
serem convertidos para a linguagem de máquina. 
 
Figura 3 - Processo de compilação em duas etapas. Fonte: Editorial Telesapiens. 
 
 
Pré-compilação 
Linguagem de alto nível 
................................... 
................................... 
................................... 
................................... 
Compilação 
Linguagem de baixo nível 
................................... 
................................... 
................................... 
................................... 
Geração do executável 
Linguagemde máquina 
................................... 
................................... 
................................... 
................................... 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
O processo de compilação, em alguns casos, torna-se moroso, 
comprometendo a produtividade da equipe de desenvolvimento de 
software das empresas. Por isso, com o advento das linguagens de alto 
nível, criou-se o conceito de interpretação de programas como alternativa 
à compilação. Em termos práticos, a interpretação dispensa a geração de 
programas-objeto, ou seja, os interpretadores leem os programas fontes e 
interagem diretamente com o computador, instrução a instrução. 
 
 
 
 
 
 
 
 
 
 
 
Programa fonte é o programa escrito em linguagem de 
baixo ou alto nível, que é submetido ao processo de 
compilação. 
Programa objeto é o programa resultante do processo de 
compilação do programa fonte. Também é conhecido 
como programa executável, e é gerado na linguagem de 
máquina pelo compilador. 
DEFINIÇÃO 
Interpretador é o programa que permite a execução direta 
de um programa fonte, sem a necessidade de criação de 
um programa objeto. 
DEFINIÇÃO 
Em uma linguagem de programação interpretada, o 
processo ocorre como se a compilação se desse 
instantaneamente a cada instrução executada, em tempo 
real. 
EXPLICANDO MELHOR 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Programas são escritos em linguagens de programação, 
que reúnem conjuntos de instruções ordenadas 
logicamente com vistas à realização de um ou mais 
procedimentos. Esses programas são acionados por meio 
de comandos, e têm por objetivo ler dados e submetê -los a 
um processamento, de modo a obter uma informação 
relevante ou uma ação automatizada. As linguagens de 
programação podem ser de máquina (aquela que dialoga 
diretamente com os componentes de hardware em 
sistema binário), de baixo nível (aquelas que são lidas por 
compiladores para a geração de programas em linguagem 
de máquina) ou de alto nível (as que possuem uma sintaxe 
mais amigável, mas que necessitam de interpretadores ou 
compiladores capazes de gerar um programa em 
linguagem de baixo nível, 
RESUMINDO 
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Quer se aprofundar no tema desta aula? Recomendamos o acesso à 
seguinte fonte de consulta e aprofundamento: Vídeo: “Qual 
linguagem de programação você deve aprender primeiro?”, acessível 
pelo link: 
https://www.youtube.com/watch?v=Yqq7IsxDGZc (Acesso em 
19/09/2017). 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na moda lidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
https://www.youtube.com/watch?v=Yqq7IsxDGZc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 16 
 
 
 Bibliografia 
 
BROOKSHEAR, G. J. (2013). Ciência da Computação - Uma Visão Abrangente (11. 
ed.). Porto Alegre: Bookman. 
MORAES, P. S. (2000). Curso Básico de Lógica de Programação. São Paulo: 
Unicamp. Acesso em 15 de Out de 2017, disponível em 
http://www.inf.ufsc.br/~vania/teaching/ine5231/Logica.pdf 
SOUSA, B. J., DIAS JÚNIOR, J. J., & FORMIGA, A. A. (2014). Introdução a 
Programação. João Pessoa: UFPB. Acesso em 15 de Out de 2017, 
disponível em 
http://biblioteca.virtual.ufpb.br/files/introduaao_a_programaaao_146315
0047.pdf 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 17 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INFRAESTUTURA DOS 
SISTEMAS 
COMPUTACIONAIS 
 
 
 
 
 
 
AULA 03 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Si lva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADESquando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 INFRAESTRUTURA DOS SISTEMAS COMPUTACIONAIS .............................................. 6 
1.1 Unidade Central de Processamento (CPU) .............................................................. 6 
1.1.1 Unidade de Controle (UC) ......................................................................... 7 
1.1.2 Unidade Lógica e Aritmética (ULA) ............................................................ 7 
1.1.3 Banco de Registradores ............................................................................ 7 
1.2 Memória do computador ...................................................................................... 8 
1.2.1 Memória principal .................................................................................... 8 
1.2.1.1 RAM ........................................................................................ 8 
1.2.1.2 ROM ....................................................................................... 9 
1.2.1.3 Memória flash ......................................................................... 9 
1.3 Barramentos ....................................................................................................... 10 
1.4 Dispositivos de entrada e saída ........................................................................... 10 
1.4.1 Periféricos de entrada (E) ....................................................................... 11 
1.4.2 Periféricos de saída (S) ........................................................................... 11 
1.4.3 Periféricos de entrada/saída (E/S) ........................................................... 11 
1.5 Infraestrutura de software .................................................................................. 12 
1.5.1 Software básico ...................................................................................... 13 
1.5.2 Software utilitário .................................................................................. 14 
1.5.3 Software aplicativo ................................................................................. 14 
1.5.1.1 Uso Geral .............................................................................. 14 
1.5.1.2 Uso Específico ....................................................................... 14 
Considerações Finais ................................................................................................ 15 
Atividades de Autoaprendizagem .............................................................................. 15 
Questionário Avaliativo ............................................................................................ 15 
Bibliografia .............................................................................................................. 16 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Infraestrutura dos Sistemas 
Computacionais 
 
INTRODUÇÃO: 
Conhecer o que se passa por traz da tela do computador é algo muito 
importante para todo e qualquer profissional da área de tecnologia da 
informação. Além de componentes eletrônicos, programas e dados, existe 
toda uma organização dentro de um sistema computacional. Saber 
discernir sobre cada um de seus elementos, entendendo sua 
funcionalidade, é pré-requisito básico para quem quer se tornar um 
programador ou um suporte técnico no mercado de informática. É sobre 
isto que iremos discorrer ao longo desta aula. 
 
1.1 Unidade Central de Processamento (CPU) 
 
A principal característica dos computadores é a capacidade de processar 
dados e informações de maneira rápida e precisa. O principal 
componente responsável por essa característica é a CPU. A Unidade 
Central de Processamento é o componente vital dos sistemas 
computacionais. Ela é responsável pela realização das operações de 
processamento, tais como adição, subtração, multiplicação, divisão entre 
outros. Basicamente a função da CPU é buscar as instruções na memória 
do computador, interpretar essas instruções que estão explicitadas na 
memória, buscar dados, executar operações com esses dados e guarda-
los de volta na memória. 
O processador é divido em três partes principais: 
OBJETIVO: 
Ao término desta aula você será capaz de compreender a infraestrutura 
dos sistemas computacionais, discernindo sobre hardware, software e 
peopleware. 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
 Unidade de Controle (UC); 
 Unidade Lógica e Aritmética (ULA); e 
 Banco de registradores. 
 
1.1.1 Unidade de Controle (UC) 
Essa unidade tem como função buscar e decodificar as instruções a 
serem executadas. Ela também decide como e quando as outras unidades 
serão ativadas. As instruções a serem executadas podem direcionar 
dados para a ULA ou diretamente para o banco de registradores . Digamos 
que a UC é sistema nervoso central do computador, fazendo um paralelo 
com a mente humana. 
 
1.1.2 Unidade Lógica e Aritmética (ULA) 
A Unidade Lógica e Aritmética, como o próprio nome já permite perceber, 
é a unidade cuja principal responsabilidade é executar as operações 
lógicas e aritméticas exigidas pelas tarefas emanadas dos programas em 
execução. Os dados numéricos a serem processados são enviados pela UC 
e a ela são devolvidos para armazenamento ou outra destinação. 
 
1.1.3 Banco de Registradores 
O banco de registradores tem o papel de servir como um assistente de 
acesso rápido. Em resumo, esse componente representa uma memória 
temporária para armazenagem de tudo o que está sendo processado pela 
ULA e/ou direcionado pela UC. Nele são guardadas as instruções em 
execução, dados numéricos utilizados em cálculos e outros dados que 
precisem ser temporariamente armazenados para dar celeridade ao 
processamento. 
 
 
 
 
 
 
Não devemos confundir banco de registradores com a 
memória RAM do computador. Veremos, mais adiante, que 
a memória RAM armazena dados por mais tempo que o 
banco de registradores. A guarda de informações nesses 
bancos é muito rápida, apenas enquanto algo está sendo 
processado instantaneamente. 
IMPORTANTE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
 
 
 
 
 
 
 
 
1.2 Memória do computador 
 
Podemos definir memória de computador como um componente que 
possui a capacidade de armazenar dados. Esses dados são armazenados 
em pequenas células, onde todos os programas e dados em execução 
ficam guardados por muito ou pouco tempo, dependendo do tipo de 
memória da qual estejamos falando. 
A memória do computador pode ser dividida, inicialmente, em dois tipos: 
 Memória principal: onde ficam armazenados apenas os dados e 
programas em uso no momento. 
 Memória auxiliar: onde são guardadas as informações em caráter 
definitivo, só sendo apagadas por meio de comandos intencionais por 
parte do usuário. 
 
1.2.1 Memória principal 
Atualmente, o computador possui três tipos de memória principal. São 
elas: RAM, ROM e flash. 
 
1.2.1.1 RAM 
A RAM (Random Access Memory - memória de acesso direto ou memória 
viva) é a memória principal do sistema, ou seja, um espaço para 
armazenar os dados, de maneira temporária, durante a execução de um 
programa. 
Para conhecer mais sobre os processadores, acesse o link: 
https://www.youtube.com/watch?v=DFMCcuhWiXM 
(Acesso em 14/10/2017) 
SAIBA MAIS 
https://www.youtube.com/watch?v=DFMCcuhWiXM
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
Na verdade, ao contrário do armazenamento de dados em uma memória 
de massa como o disco rígido, a memória RAM é volátil, isto é, ela 
permite armazenardados somente enquanto estiver sendo alimentada 
eletronicamente. Assim, cada vez que o computador for desligado, todos 
os dados presentes na memória RAM serão apagados definitivamente. 
 
1.2.1.2 ROM 
A ROM (Read Only Memory - memória somente para leitura, ou memória 
morta) é um tipo de memória que permite conservar as informações 
contidas no dispositivo mesmo quando ele estiver desligado. A base deste 
tipo de memória só pode ser acessada em leitura. Contudo, é possível 
salvar informações em certos tipos de memórias ROM, como veremos a 
seguir. 
 
1.2.1.3 Memória flash 
A memória flash é um misto entre as memórias de tipo RAM e as 
memórias mortas (ROM). Esse tipo de memória é não-volátil, assim como 
as memórias mortas, ou seja, foram projetadas apenas para serem lidas. 
Por outro lado, as memórias flash podem ser regravadas pelo fabricante, 
pois os chips que as compõem são similares aos que compõem as 
memórias RAM. 
 
 
 
 
 
 
 
 
 
 
A memória principal do computador se refere a uma 
coleção de registradores enumerados sequencialmente, 
onde cada um possui tamanho chamado de “tamanho da 
palavra”. Cada registrador tem uma localização fixa na 
memória, chamada de “localização de memória”. Ao 
número único que identifica cada palavra na memória 
damos o nome de “endereço”. Para quem trabalha com 
linguagens de baixo nível, como Assembly, esse 
conhecimento é fundamental. No entanto, para linguagens 
de alto nível, esse conhecimento pode ser abstraído. 
SAIBA MAIS 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
 
1.3 Barramentos 
 
Os barramentos possuem a responsabilidade interligar 
os componentes internos de um computador, de modo 
que a comunicação entre eles seja rápida e eficiente. 
A figura 1 mostra como os barramentos conseguem 
interligar os componentes funcionais básicos de um 
computador. Observe que os controladores (da UC) 
gerenciam os fluxos de dados entre a CPU 
(processador), a memória principal e os dispositivos 
de entrada e saída (E/S). Esses últimos serão alvo de 
estudo na sequência. 
 
 
1.4 Dispositivos de entrada e saída 
 
Chamamos de periféricos a todos os equipamentos (ou 
dispositivos) conectáveis ao computador. Estes 
equipamentos permitem a troca de dados e informações 
entre o usuário e o computador. Cada periférico tem sua 
função específica e serve para enviar e/ou receber 
dados ou tarefas do computador. 
Da diversidade de dispositivos existentes , podemos 
mencionar como os periféricos mais comuns: 
 Monitor de vídeo; 
 Teclado; 
 Mouse; 
 Impressora; 
 Scaner; 
 Unidades de armazenamento externas (discos rígidos, 
cartões de memória, pen-drives, etc); 
 Caixas acústicas e fones de ouvido; 
 Microfones; 
Figura 1 - Função dos barramentos. Fonte: os 
autores. 
Figura 2 - Monitores de vídeo são 
considerados periféricos de saída, a menos 
que sejam touch-screen. Neste caso são de 
E/S. Fonte: https://pixabay.com/pt/monitor -
lcd-tela-hardware-v%C3%ADdeo-23329/ 
Figura 3 - Impressoras são periféricos de 
saída, exceto as multifuncionais, que podem 
escanear. Fonte: 
https://pixabay.com/pt/jato-de-tinta-
impress%C3%A3o-impressora-147674/ 
Figura 4 - Pen-drives são considerados 
periféricos de E/S. Fonte: 
https://pixabay.com/pt/usb -disco-
armazenamento-tecnologia-47552/ 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
 Câmeras (webcam); 
 Óculos 3D e de 360 graus para realidade virtual/aumentada; 
 Unidade leitoras e gravadoras de CD­ROM e DVD­ROM; entre outros. 
Os periféricos podem ainda ser classificados como dispositivos de: 
 Entrada (E); 
 Saída (S); e 
 entrada/saída (E/S). 
 
 
1.4.1 Periféricos de entrada (E) 
 
Os periféricos de entrada são os dispositivos exclusivos 
para entrada de dados no computador. Através deles, o 
usuário envia dados à CPU para serem processados. 
Alguns destes dispositivos são essenciais ao sistema, pois 
sem eles seria impossível interagir com o sistema 
computacional. Podemos destacar: o teclado e o mouse. 
 
1.4.2 Periféricos de saída (S) 
 
Os periféricos de saída são os dispositivos exclusivos para a saída de 
informações vindas da CPU. Através destes dispositivos o usuário recebe 
o resultado do processamento do computador. Temos como exemplos 
desta categoria de dispositivos: monitores de vídeo, impressoras, plotters, 
caixas acústicas, fones de ouvido, vídeo projetores, entre outros. 
 
1.4.3 Periféricos de entrada/saída (E/S) 
 
Os periféricos de entrada e saída são dispositivos que tanto transmitem 
dados quanto os recebem. Estes dispositivos são responsáveis pela 
comunicação máquina a máquina ou pelo armazenamento persistente de 
dados. Temos como exemplos típicos destes dispositivos: interfaces de 
rede, FAX/MODEM, gravadores de CD e DVD, pen-drives, cartões de 
memória, monitores sensíveis ao toque (touch screen), entre outros. 
 
Figura 5 - Óculos de realidade 
aumentada em 360 graus. Fonte: 
https://pixabay.com/pt/virtual -
realidade-jogar-%C3%B3culos-
2055227/ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1.5 Infraestrutura de software 
 
Para fazer um computador funcionar, não basta o hardware. De nada 
adiantaria toda a arquitetura que acabamos de estudar se não fosse um 
conjunto de programas que é executado a cada vez que ligamos o 
computador. 
Figura 6 - Óculos 360 graus artesanal. 
Fonte: 
https://pt.wikipedia.org/wiki/Google_Card
board#/media/File:Google-Cardboard.jpg 
Você sabe como funciona os óculos de realidade 
aumentada, vulgarmente conhecidos como óculos de 
360 graus? Trata-se de um dispositivo simples, onde 
podemos inserir nosso aparelho celular e, ao 
executarmos um vídeo gravado neste formato de 360 
graus, temos a sensação de estarmos inseridos no 
cenário em três dimensões. Ao girarmos nossa 
cabeça, a imagem que vemos vai mudando, como se 
estivéssemos dentro da cena, olhando para todos os 
lugares, em todos as direções. Experiência fantástica! 
Mas, espere aí? Temos uma polêmica à vista. Os 
óculos de 360 graus podem ser considerados 
periféricos apenas de saída? Ou podemos dizer que 
ele é um dispositivo de E/S, uma vez que interferimos 
no cenário com o nosso movimento? 
Acesse o seu fórum de discussões e deixe sua opin ião a 
respeito deste assunto aparentemente polêmico. 
REFLITA 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
Estamos falando do software básico que todo computador necessita para 
manter-se ativo e operante. 
 
1.5.1 Software básico 
Esse tipo de software define o padrão de 
comportamento do computador, de modo a 
torná-lo utilizável. São exemplos de software 
básico: 
 BIOS: Trata-se de um acrônimo para Basic 
Input/Output System ou Sistema Básico de 
Entrada e Saída. Este software já vem instalado 
de fábrica na memória ROM (Read Only Memory) 
do computador, e tem por finalidade inicializar 
algumas tarefas consideradas vitais em um computador, como procurar 
um sistema operacional gravado na primeira trilha do disco rígido, fazer a 
varredura da memória RAM, entre outros procedimentos ditos pré -
operacionais. 
 Sistema Operacional: Após a 
execução do BIOS, é este software que 
assume total controle sobre o 
computador, interpretando os 
comandos e ações realizadas pelo 
usuário. Os sistemas operacionais 
mais comuns no mercado mundial são 
o Windows (da Microsoft), o Mac-OS 
(da Apple) e o Linux (sistema 
operacional gratuito e de código fonte 
aberto, não pertencendo a nenhuma 
empresa especificamente). 
Os sistemas operacionais já perpassaram os velhos PCs e notebooks, e já 
estão invadindo os aparelhos celulares. Para esses dispositivosmóveis, 
outros sistemas operacionais entram em cena, como por exemplo o 
Android (da Google) e o iOS (da Apple). O Windows Mobile (da Micro soft) 
foi descontinuado em 2017, e representava a terceira força nesse cada 
vez mais disputado mercado mundial. 
 
Figura 7 - Local físico onde é armazenado o BIOS. 
Fonte: 
https://img.ibxk.com.br/materias/Bios.jpg?w=700 
Figura 8 - Interface de um sistema operacional Windows. Fonte: 
https://pixabay.com/pt/windows-7-sistema-operacional-1995426/ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
1.5.2 Software utilitário 
Esses programas servem de complementação para os softwares básicos, 
ou seja, são programas que possuem funcionalidades mais voltadas para 
o Sistema Operacional. Como exemplos desse tipo de software podemos 
citar as ferramentas para organizar os discos, verificador de 
disponibilidade de memória, corretor de falhas de processamento, entre 
muitos outros. 
Boa parte dos programas utilitários são fornecidos pelo próprio fabricante 
do sistema operacional, incluídos no pacote vendido ou previamente 
instalado de fábrica. Mas existem muitos outros softwares utilitários que 
podem ser adquiridos e/ou instalados em separado, como os antivírus, 
firewalls (proteção contra hackers), compactadores de arquivos (como 
WinZip, WinRA, etc), programas para conexão com redes, entre outros. 
 
1.5.3 Software aplicativo 
Os softwares aplicativos são programas voltados para solução de 
problemas dos usuários. Podem ser divididos em duas categorias: uso 
geral e uso específico. 
 
1.5.1.1 Uso Geral 
São aqueles programas que todos podem usar, independentemente de 
suas áreas de atuação ou interesse. Esses softwares se prestam para as 
mais variadas aplicações, como: editores de texto, geradores de gráficos, 
planilhas eletrônicas, gerenciadores de bancos de dados, linguagens de 
programação (compiladores e interpretadores), etc. 
 
1.5.1.2 Uso Específico 
Esses programas se destinam exclusivamente a um único tipo de 
aplicação, como por exemplo: folha de pagamento, crediário, imposto de 
renda, cadastro, contas a pagar e receber, contabilidade, etc. 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Quer se aprofundar em algum dos temas desta aula? 
Recomendamos o acesso à seguinte fonte de consulta e 
aprofundamento: Vídeo: “Automec 2017 - Realidade aumentada para 
as oficinas, mais um exemplo de novas tecnologias!! ”, acessível pelo 
link https://youtu.be/cKk89waEPBQ (Acesso em 15/10/2017). 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na moda lidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
https://youtu.be/cKk89waEPBQ
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 16 
 
 
 Bibliografia 
 
TAVARES, A. L., Ana ECKEL, P., SCARPA, C., & VENDRAME, Z. R. (2006). Engenharia de 
Software: uma visão geral. Palhoça: UNISUL. Acesso em 15 de Out de 2017, 
disponível em 
http://www.joinville.udesc.br/portal/professores/claudinei/materiais/SOFT_VI
SAO_GERAL.pdf 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 17 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO À LÓGICA 
DE PROGRAMAÇÃO 
ALGORÍTMICA 
 
 
 
 
 
AULA 04 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Silva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ALGORÍTMICA ..................................... 6 
1.1 O que é Lógica? .................................................................................................... 6 
1.2 Lógica no contexto computacional ........................................................................ 8 
1.3 AlgoritmosComputacionais ................................................................................... 9 
1.3.1 Fluxograma ............................................................................................ 10 
1.3.2 Pseudocódigo ......................................................................................... 11 
1.4 Dicas sobre algoritmização .................................................................................. 12 
Considerações Finais ................................................................................................ 14 
Atividades de Autoaprendizagem .............................................................................. 14 
Questionário Avaliativo ............................................................................................ 14 
Bibliografia .............................................................................................................. 15 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Introdução à Lógica de Programação 
Algorítmica 
 
INTRODUÇÃO: 
Como já sabemos, existe uma enormidade de linguagens de 
programação, desde as mais simples e intuitivas (de alto nível), até as 
mais complexas e trabalhosas (de baixo nível). Independentemente de 
que linguagem se adote, para solucionar problemas computacionais é 
requerido do programador uma habilidade específica: a lógica de 
programação algorítmica. Não se trata de habilidade com matemática ou 
algo do gênero. Estamos falando de uma capacidade peculiar a todos os 
que conseguem visualizar soluções racionais para problemas do dia a dia. 
O raciocínio lógico, que é a base desta habilidade, já é matéria cobrada 
em quase todos os editais de concursos públicos, e já é ensinado em 
várias escolas de ensino fundamental e médio. Quem desenvolve essa 
competência, é capaz de aprender rapidamente qualquer linguagem de 
programação, pois, como já dissemos anteriormente, a diferença de uma 
linguagem para a outra está apenas na semântica e no dicionário de 
comandos.Programar computadores é uma tarefa tão natural quanto 
escrever um pequeno manual sobre como trocar o pneu de um carro. 
Qualquer um é capaz de fazer! 
 
 
1.1 O que é Lógica? 
 
Damos início a este tópico debatendo um pouco sobre nosso cotidiano. 
Isso mesmo! Falaremos sobre as atividades que você desempenha no seu 
dia a dia, como tomar café, ir à escola ou até mesmo ir ao trabalho. 
OBJETIVO: 
Ao término desta aula você será capaz de definir e entender o conceito e 
as funcionalidades da lógica de programação e algoritmos computacionais. 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
Toda ação que executamos, nos remete a um objetivo final . Por exemplo, 
quando estamos com fome, sempre vamos atrás de saná-la, por meio da 
alimentação. Dessa forma, toda tomada de decisão em um algoritmo 
computacional deve ser baseada na lógica de se atingir algum objetivo. 
Conforme o Dicionário Aurélio (2017), o termo lógica está associado à 
“análise que estuda as proposições e seus membros componentes” . Já 
Forbellone (2005, p.1) diz que: 
[...] a lógica pode estar relacionada com a „correção do 
pensamento‟, pois uma de suas preocupações é 
determinar quais operações são válidas e quais não são, 
fazendo análises das formas e leis do pensamento. 
Ainda sob a ótica do autor, ela nos ensina a usar 
corretamente as leis do pensamento, ou seja, ela ensina 
a colocar „ordem no pensamento‟. 
A lógica está interligada à solução de algum problema que traz 
características que não estão relacionadas à determinada situação. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Por exemplo, se precisamos realizar cálculos 
matemáticos, e nossa calculadora não está realizando 
as quatro operações matemáticas de forma correta, 
então temos um problema a ser resolvido. E é através 
da lógica matemática que conseguimos visualizar 
esta situação problemática e trazer uma ou mais 
possíveis soluções. 
A lógica computacional traz um conceito de solução de 
problemas, podendo muitas vezes ser aplicada a diversas 
situações do nosso cotidiano. Por exemplo, quando 
inserimos um endereço em um GPS e ele nos retorna 
diversas possíveis rotas, aplicamos certa lógica para 
escolher a rota mais adequada para nós, seja pela 
quilometragem, ou pelo tipo de estrada. 
EXPLICANDO MELHOR 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
1.2 Lógica no contexto computacional 
 
A lógica não deve estar ligada apenas aos conceitos que norteiam a 
matemática. Para utilizá-la em favor da solução dos problemas 
computacionais, precisamos aplicá-la aos recursos disponíveis nos 
sistemas computacionais. 
 
 
 
 
 
 
 
 
 
Uma definição bastante completa sobre lógica de programação foi 
lançada por Forbellone (2005, p. 14), que a conceitua como: 
[...] o uso correto das leis do pensamento da “ordem da 
razão” e de processos de raciocínio e simbolização 
formais na programação de computadores, objetivando 
a racionalidade e o desenvolvimento de técnicas que 
cooperem para a produção de soluções logicamente 
válidas e coerentes, que resolvam com qualidade os 
problemas que se deseja programar. 
 
 
 
 
 
 
 
 
Por exemplo, a lógica necessária para se troca o pneu de 
um carro articula recursos como macaco, parafusos, jante, 
pneu, carro, etc. Já na programação do computador para 
ler um arquivo de dados e imprimir um relatório, 
envolvemos outros recursos, como memória, disco, dados, 
impressora e papel. Contudo, tanto em um caso quanto 
em outro, a forma de se raciocinar é a mesma: juntar 
comandos e manipular recursos para se atingir um 
objetivo específico ao final do processamento. 
EXPLICANDO MELHOR 
A lógica de programação, portanto, pode ser definida 
como a técnica necessária para nortear o desenvolvimento 
de um software, o qual deve seguir certas regras para 
atingir o seu objetivo. 
DEFINIÇÃO 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
A lógica de programação computacional é aplicada, por exemplo, na 
seleção e determinação de quais instruções devem ser executadas para 
que o problema seja solucionado. Por meio de sua aplicação, podemos 
ter resultados lógicos que irão satisfazer nossas condições, ou seja, 
nenhuma instrução é inserida sem uma funcionalidade. 
 
1.3 Algoritmos Computacionais 
 
Podemos fazer uso de variados modos para representar a solução de um 
problema, computacional ou não. Quando se define um conjunto de 
regras sintáticas para expressar raciocínios e operações necessárias à 
solução de uma classe de problemas, tem-se um algoritmo. Se tais 
problemas forem de cunho computacional, tem-se um algoritmo 
computacional. 
 
 
 
 
 
 
 
 
Para entendermos melhor o conceito de algoritmo computacional, vamos 
imaginar a representação gráfica do seguinte problema: Decidir qual o 
maior entre dois números lidos pelo computador. Um problema simples 
deve apresentar uma solução igualmente simples, portanto, podemos 
representar esta solução algorítmica de duas maneiras: gra ficamente ou 
textualmente, como apresentado a seguir. 
Algoritmo computacional é uma visão esquemática sobre 
a solução de uma classe de problemas computacionais, 
podendo ser representado gráfica ou textualmente, por 
meio de um pseudocódigo escrito em uma 
pseudolinguagem. 
DEFINIÇÃO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
1.3.1 Fluxograma 
 
Figura 1 - Representação algorítmica por meio de fluxograma. Fonte: https://wiki.portugal-a-
programar.pt/_media/algoritmo:fluxograma.jpg 
 
Observe que a solução algorítmica adotada na figura 1 está sendo 
representadagraficamente por uma simbologia denominada 
“fluxograma”. Nesta solução foram adotados comandos visuais, 
compreensíveis facilmente por qualquer um, de forma bastante intuitiva. 
Mas, para isto, foi necessário se estabelecer um dicionário de comandos, 
que neste caso contemplou os seguintes: 
 
 
Figura 2 - Destacando os comandos visuais do fluxograma. Fonte: idem. 
 
 
Marca o início ou o término 
de um algoritmo 
Lê ou exibe um 
dado/informação 
Executa um procedimento 
Desvia o fluxo de 
procedimentos conforme a 
condição descrita 
Desvia o fluxo de 
procedimentos para outro 
algoritmo 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
 
 
1.3.2 Pseudocódigo 
 
Outro modo de se representar uma solução algorítmica é por meio de 
textos, ou pseudocódigos. Do grego, “pseudo” significa falso, o que faz do 
pseudocódigo um código escrito em uma linguagem que, na prática, não 
existe. Em outras palavras, o pseudocódigo evidencia uma forma genérica 
de se escrever um algoritmo, utilizando uma linguagem simples, 
compreensível por qualquer pessoa, sem que esta pessoa conheça a 
sintaxe de nenhuma linguagem de programação. Transcrevendo o 
algoritmo esquematizado no fluxograma anterior, poderíamos escrever o 
seguinte pseudocódigo: 
 
INÍCIO 
 LER NUM1 
 LER NUM2 
 SE NUM1 > NUM2 
 ENTÃO 
 ESCREVER “O maior é: ” & NUM1 
 SENÃO 
 SE NUM1 < NUM2 
 ENTÃO 
 ESCREVER “O maior é: ” & NUM2 
 SENÃO 
 ESCREVER “São iguais” 
 FIMSE 
 FIMSE 
FIM 
 
Perceba que ambas as representações algorítmicas conseguem 
solucionar o mesmo problema, com exatamente o mesmo ordenamento 
lógico. O que as diferencia é tão somente a semântica da linguagem. 
Enquanto na primeira solução foi adotada uma linguagem visual 
(fluxograma ou diagrama de blocos), na segunda foi utilizada uma 
linguagem natural, que no caso foi a própria língua portuguesa. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1.4 Dicas sobre algoritmização 
 
Assim como toda atividade que desempenhamos no nosso dia a dia, 
algoritmizar uma solução computacional exige escolhas sábias. Ascencio 
et al (2012) destacam os seguintes passos: 
1. Ler atentamente o enunciado, destacando os pontos mais 
importantes. 
2. Definir os dados de entrada, ou seja, quais dados serão fornecidos. 
3. Definir o processamento, ou seja, quais cálculos serão efetuados e 
quais as restrições para esses cálculos. O processamento é responsável 
pela transformação dos dados de entrada em informações de saída. 
4. Definir as informações de saída, ou seja, quais informações serão 
geradas depois do processamento. 
É possível elaborarmos um programa diretamente na 
linguagem de programação verdadeira, sem termos 
que passar pela fase da solução algorítmica? 
A resposta é afirmativa, ou seja, podemos sim 
literalmente “meter a mão na massa” e elaborar 
nossos programas utilizando a própria linguagem de 
programação comercial como ferramenta de solução 
algorítmica. 
Então por que existem pseudocódigos e fluxogramas 
para representar soluções computacionais? 
A reposta é igualmente simples: os algoritmos são 
instrumentos que cumprem duas funções distintas: 
cognitiva (na fase em que se está aprendendo a 
programar); e didática (para facilitar o entendimento de 
pessoas leigas que precise interagir com a solução). 
REFLITA 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
5. Construir o algoritmo utilizando um dos tipos descritos 
anteriormente. 
6. Testar o algoritmo realizando simulações. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Podemos ter diversos algoritmos desenvolvidos de 
maneiras diferentes, ou seja, com etapas distintas, porém, 
que solucionam o mesmo problema. Cada pessoa tem seu 
modo de pensar, dessa forma, não é obrigado que todos 
tenhamos a mesma ideia, ou até mesmo executemos 
ações da mesma maneira! 
VOCÊ SABIA? 
Conforme Manzano (2004), “a norma ISO 5807 -1985 para 
a definição e elaboração de diagramas de fluxos para a 
área de desenvolvimento e projeto de software é a 
consolidação de duas normas anteriores: ISO 10282 e ISO 
26363. Segundo informação da própria norma ISO 5807-
1985 (E), a definição e elaboração de diagramas para a 
representação gráfica da linha de raciocino lógico a ser 
adotada não deve restringir o uso de aplicações ou 
soluções particulares, uma vez que pode ocorrer a 
existência de vários tipos de soluções para os vários 
problemas de processamento de informação” (ISO 5807, 
1985, p. 1 apud Manzano,2004). 
IMPORTANTE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Quer se aprofundar em algum dos temas desta aula? 
Recomendamos o acesso à seguinte fonte de consulta e 
aprofundamento: Vídeo: “Introdução a algoritmos – curso algoritmos 
#01” (GUANABARA, 2014), acessível pelo link: 
https://www.youtube.com/watch?v=8mei6uVttho (Acesso em 
19/09/2017). 
 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na modalidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
https://www.youtube.com/watch?v=8mei6uVttho
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
Bibliografia 
 
ASCENCIO, A. F., & CAMPUS, E. A. (2012). Fundamentos da Programação de 
Computadores (Algoritmos, Pascal, C/C+ e Java) (3a. ed.). São Paulo: 
Prentice Hall. 
DICIONÁRIO do Aurélio (versão online). (2017). Acesso em 2017, disponível em 
https://dicionariodoaurelio.com/logica 
FORBELLONE, A. L. (2005). Lógica de programação: a construção de algoritmos e 
estrutura de dados. São Paulo: Pearson. 
MANZANO, J. A., & OLIVEIRA, J. F. (2016). Algoritmos: Lógica para desenvolvimento 
de programação de computadores (28. ed.). São Paulo: Érica. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 16 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CONSTANTES E 
VARIÁVEIS DE 
MEMÓRIA 
 
 
 
AULA 05 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre emCiência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Silva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 CONSTANTES E VARIÁVEIS DE MEMÓRIA ................................................................. 8 
1.1 Conceito e tipos de dados ..................................................................................... 8 
1.1.1 Tipos de dados ......................................................................................... 9 
1.1.1.1 Dado numérico ....................................................................... 9 
1.1.1.2 Dado alfanumérico ................................................................ 10 
1.1.1.3 Dado lógico........................................................................... 11 
1.2 Variáveis ............................................................................................................ 12 
1.3 Operadores ........................................................................................................ 15 
1.4 Depuração de algoritmos .................................................................................... 17 
1.5 VisuALG .............................................................................................................. 19 
1.5.1 Declaração de variáveis .......................................................................... 20 
Considerações Finais ................................................................................................ 23 
Atividades de Autoaprendizagem .............................................................................. 23 
Questionário Avaliativo ............................................................................................ 23 
Bibliografia .............................................................................................................. 24 
 
 
 
 
 
Trilha de Aprendizagem 
 
Olá. Meu nome é Andréa César. Sou responsável pela direção editorial 
deste livro didático e de todos os demais recursos relacio nados com a sua 
trilha de aprendizagem. Você está iniciando seus estudos sobre LÓGICA 
DE PROGRAMAÇÃO, e o nosso objetivo é auxiliar você no desenvolvimento 
das competências necessárias ao seu exercício profissional. Para isto, 
distribuímos os conteúdos didáticos deste livro em quatro semanas de 
estudo, onde, em cada uma delas, haverá uma competência a ser 
construída. Cada uma dessas competências será desenvolvida por meio 
de quatro atividades de estudo, que podemos chamar de “aulas”. Em 
cada aula, você terá uma introdução ao tema abordado, os objetivos a 
serem alcançados, uma atividade de autoaprendizagem proposta e uma 
lista de exercícios a serem respondidos. Quer saber quais serão as 
competências que você irá desenvolver ao longo dessas quatro semanas 
de estudo? Então vamos a elas: 
 Compreender os conceitos fundamentais da ciência da computação, 1.
sobretudo no que concerne a softwares e programação de 
computadores. 
 Desenvolver algoritmos estruturados envolvendo operações com 2.
variáveis e comandos condicionais simples. 
 Utilizar estruturas condicionais encadeadas e iterativas, além de 3.
efetuar operações envolvendo vetores. 
 Trabalhar com matrizes e modulação de algoritmos, como 4.
procedimentos e funções. 
 
Ao longo desta semana iremos desenvolver a competência de número: 2. 
Vamos arregaçar as mangas? Ao trabalho! 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
2ª SEMANA DE ESTUDOS 
INTRODUÇÃO: 
gora que já conhecemos o universo do hardware e do 
software, vamos mergulhar de cabeça no mundo dos 
algoritmos computacionais, começando pela manipulação 
de constantes e variáveis de memória simples. Lembre-se, 
a partir de agora, é fundamental que, a cada novo tema de estudo, você 
exercite ao máximo. Para isto, ao término de cada aula, acesse a sua 
atividade de autoavaliação e seu questionário avaliativo, resolvendo 
todos os problemas de algoritmização propostos. 
 
 
 
 
OBJETIVOS: 
 
Ao término desta semana de estudos, você será capaz de: 
 
 Entender os conceitos de constantes e variáveis de memória, bem 
como a forma de manipulá-las em uma solução algorítmica. 
 Utilizar expressões aritméticas envolvendo constantes e variáveis 
numéricas em soluções algorítmicas. 
 Utilizar expressões literais envolvendo constantes e variáveis 
alfanuméricas em soluções algorítmicas. 
 Aplicar estruturas condicionais simples em soluções algorítmicas. 
 
 
Mãos à obra? Conte com a gente! 
 
 
A 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
1 Constantes e Variáveis de Memória 
 
INTRODUÇÃO: 
Seguramente, um dos conceitos mais importantes no universo da 
programação de computadores é o de variável de memória. Sem as 
variáveis seria praticamente impossível submeter um dado a um 
processamento. É isso aí. Para processar um dado, é necessário guardá -lo 
em algum lugar. É a este lugar que damos o nome de variável de 
memória. A partir de agora, iremos estudar as muitas maneiras de se 
manipular uma variável de memória em um algoritmo. E por falar em 
algoritmo, para efeito do restante desta disciplina, iremos utilizar o 
método de representação no formato de pseudocódigo, utilizando a 
própria língua portuguesa como base para escrevermos todo e qualquer 
algoritmo. 
 
 
1.1 Conceito e tipos de dados 
 
Como já estudamos anteriormente, em uma solução algorítmica sempre 
haverá um dado a ser processado e transformadoem informação ou 
ação. Logo que este dado entra no sistema computacional, ele precisa ser 
armazenado em uma variável de memória. A partir de então, inicia -se o 
processamento do dado propriamente dito, podendo este dado passar por 
uma série de outras variáveis de memória, a depender do objetivo do 
processamento e da lógica de programação algorítmica pensada pelo 
programador. 
Então, precisamos entender melhor o que é e como se comporta este 
dado a ser armazenado em uma variável de memória. Vamos a isto? 
OBJETIVO: 
Ao término desta aula você será capaz de entender os conceitos de 
constantes e variáveis de memória, bem como a forma de manipulá -las em 
uma solução algorítmica. 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
 
 
 
 
 
 
1.1.1 Tipos de dados 
 
Os dados, portanto, podem ser qualquer fragmento de informação que 
possa ser armazenado na memória do computador. 
Estamos falando de um nome, um número telefônico, um endereço, um 
salário, uma fotografia, uma música, enfim, tudo o que possa ser 
armazenado e venha a participar de um processamento. 
Embora um dado possa ser tudo isto, classificamo-nos em três tipos 
fundamentais: 
1.1.1.1 Dado numérico 
Um dado numérico pode ser um número inteiro ou 
fracionário, positivo ou negativo, de todo e qualquer 
tamanho, inclusive zero. A seguir, vemos alguns 
exemplos de como esses dados são representados em 
um algoritmo: 
 4568 = Número inteiro positivo; 
 35,5 = Número fracionário positivo; 
 -104 = Número inteiro negativo; 
 -0,458 = Número fracionário negativo; 
 4,5678E+7 = Número inteiro positivo em notação científica 
de base 10 (quatro vírgula cinco, seis, sete, oito, vezes dez 
elevado à sétima potência), equivalendo ao número inteiro 45678000; 
 -4,5678E+7 = Número inteiro negativo em notação científica de base 10 
(menos quatro vírgula cinco, seis, sete, oito, vezes dez elevado à sétima 
potência), equivalendo ao número inteiro -45678000; 
 6,5E-3 = Número fracionário positivo em notação científica de base 10 (seis 
vírgula cinco vezes dez elevado à menos três), equivalendo ao número 0,0065; 
Figura 1 - Ilustração. Fonte: 
https://pixabay.com/pt/pagar -n%C3%BAmeros-
arranjo-c%C3%ADrculo-530338/ 
Dados são fragmentos de informações que precisam ser 
processados para se transformar em uma informação 
completa e inteligível. 
DEFINIÇÃO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
 -6,5E-3 = Número fracionário negativo em notação científica de base 10 
(menos seis vírgula cinco vezes dez elevado à menos três), equivalendo ao 
número 0,0065. 
1.1.1.2 Dado alfanumérico 
Um dado alfanumérico, também denominado dado 
literal ou caractere, pode ser um texto contendo 
letras, algarismos e outros símbolos especiais. Um 
dado alfanumérico tem seu tamanho medido em 
número de caracteres. Um caractere é a menor 
parte que compõe um dado deste tipo. 
 
 
 
 
 
 
 
 
 
Esse tipo de dado é representado por quaisquer valores, símbolos, 
palavras ou frases entre aspas, como demonstrado a seguir: 
 “Telesapiens” = Palavra; 
 “045223-X” = Texto alfanumérico, contendo números e caracteres; 
 “@#$%&*()” = Texto alfanumérico contendo símbolos. 
 
 
 
 
 
 
 
 
 
 
Figura 2 - Ilustração. Fonte: 
https://pixabay.com/pt/alfabeto-abc-rosa-
letras-fonte-491642/ 
Em inglês, esse tipo de dado é conhecido como “string”, 
que quer dizer “cadeia” ou “corda”. Esse termo remete ao 
sentido de cadeia de caracteres, ou seja, um conjunto de 
caracteres concatenados. 
NOTA 
Quem é maior? 
“1200” ou 215 ? 
REFLITA 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1.1.1.3 Dado lógico 
 
Um dado lógico, também conhecido como dado booleano, é um tipo de 
dado que só pode assumir um entre dois valores: verdadeiro ou falso. 
Dada essa característica, esse tipo de dado também é conhecido como 
dado binário, e é representado, em um algoritmo, como: 
 VERDADEIRO; ou 
 FALSO. 
 
 
 
 
 
 
 
Figura 3 - Ilustração. Fonte: 
https://pixabay.com/pt/sem%C
3%A1foro-vetor-tr%C3%A1fego-
estrada-2731969/ 
O que diferencia um dado numérico de um 
alfanumérico, quanto à sua representação em um 
algoritmo é a presença ou não de um par de 
delimitadores tipo aspa (“...”). Assim sendo, podemos 
afirmar que os dados abaixo são completamente 
diferentes sob o ponto de vista do tipo de dado: 
215 <> “1200” 
O dado a esquerda se refere ao número 215 (duzentos e 
quinze). Já o da direita não representa um número, mas 
sim uma cadeia de caracteres composta dos símbolos “1”, 
“2”, “0”, e “0”. Portanto, não há como responder o 
questionamento lançado anteriormente, ou seja, não dá 
para comparar os dois dados acima. 
EXPLICANDO MELHOR 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
1.2 Variáveis 
 
Para Manzano et al. (2008, p.25), podemos adotar a seguinte definição: 
 
 
 
 
 
 
 
 
 
 
No contexto computacional, podemos entender uma variável como uma 
caixa vazia (variável de memória), que é colocada em uma estante com 
vários compartimentos (memória). 
O algoritmo é quem define que 
dados serão armazenados em 
que variáveis de memória, por 
quanto tempo, e para que 
finalidade. Ele também 
estabelece que tipo de dado 
poderá ser armazenado em cada 
variável, bem como o nome que 
a identificará. 
Para entendermos melhor tudo 
isto, vamos visualizar o 
comportamento de algumas 
variáveis após serem 
processadas pelas instruções abaixo: 
 
Figura 4 - Ilustração em referência ao conceito de variáveis de memória. 
Fonte: https://pixabay.com/pt/arquivo-morto-estante-caixas-1850170/ 
Variável é tudo aquilo que é sujeito a variações, que é 
incerto, instável ou inconstante. E ao relacionarmos o 
termo com o contexto computacional, devemos ter em 
mente que o volume de informações a serem tratadas é 
imensurável, tendo em vista que não podemos definir 
valores e proporções, aspectos estes, que irão variar 
conforme o problema a ser solucionado. 
DEFINIÇÃO 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
 
 A  1 
 
 B  2 
 
 A  A + B 
 
1. No trecho deste algoritmo, uma variável de nome A recebeu um dado 
numérico de valor 1. 
2. Em seguida, uma outra variável de nome B recebeu um outro dado, 
também numérico, de valor 2. 
3. Por fim os dados contidos nas variáveis A e B foram somados e 
colocados na variável A, que teve seu valor original (1) substituído por um 
novo (3). 
Ainda neste trecho de algoritmo, dizemos que A e B são variáveis, e os 
números 1 e 2 são constantes. Assim sendo, vejamos algumas definições: 
 
 
 
 
 
 
 
 
 
 
 
 
Instruções 
1 
2 
3 
Para se atribuir uma constante ou o conteúdo de uma 
variável ou expressão a uma variável de memória, utiliza -
se o operador “” na instrução. 
DEFINIÇÃO 
Uma constante é um dado usado normalmente numa 
expressão matemática, caractere ou lógica, que define um 
valor de equilíbrio que se mantém inalterado, 
independentemente das variáveis envolvidas. 
DEFINIÇÃO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
 
Vejamos alguns novos exemplos de variáveis e constantes envolvidas em 
outras operações e expressões: 
 
 NOME  “JOÃO” 
 
 SOBRENOME  “DA SILVA” 
 
 NOMECOMPLETO  NOME & SOBRENOME 
 
 
1. Desta vez, uma variável de nome NOME recebeu uma constante 
alfanumérica igual a “JOÃO”. 
2. Em seguida, uma outra variável de nome SOBRENOME recebeu um 
outro dado, também alfanumérico, igual a “DA SILVA”. 
3. Por fim os dados contidos nas variáveisNOME e SOBRENOME foram 
concatenados e colocados em uma terceira variável intitulada 
NOMECOMPLETO. 
 
 
 
 
 
 
 
 
 
 
Se você assinalou a alternativa (E), acertou! 
 
Depois do processamento das instruções de 1 a 3 
acima, qual o conteúdo resultante da variável 
NOMECOMPLETO? 
(A) “JOÃO DA SILVA” 
(B) “DA SILVA” 
(C) “JOÃO” 
(D) “JOÃODASILVA” 
(E) “JOÃODA SILVA” 
REFLITA 
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1.3 Operadores 
 
Acabamos de visualizar algumas instruções em dois exemplos de 
algoritmo. Vimos que, nessas instruções, existem alguns sinais que 
representam uma determinada operação, como a soma (A+B) e a 
concatenação (NOME&SOBRENOME). Foram utilizados, respectivamente, 
os seguintes operadores nessas instruções: 
+ Operador Soma Atua sobre variáveis e constantes 
numéricas 
& Operador Concatenação Atua sobre variáveis e constantes 
alfanuméricas 
 
A adoção de certos símbolos como “+” e “&” para servirem de operadores 
em uma instrução faz parte da função sintática da linguagem de 
programação. A seguir, vamos apresentar outros operadores adotados 
pela linguagem algorítmica, segundo Manzano (2008): 
Ao concatenarmos duas variáveis, como no exemplo 
acima, simplesmente os conteúdos das mesmas são 
justapostos um após o outro. Assim, na expressão: 
NOMECOMPLETO  NOME & SOBRENOME 
os seguintes dados serão concatenados: 
NOMECOMPLETO  “JOÃO” & “DA SILVA” 
O resultado da concatenação, portanto, é: 
“JOÃODA SILVA” 
Ou seja, sem o espaço em branco antes de “DA SILVA”. 
EXPLICANDO MELHOR 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 16 
 
 
 
- Operador Subtração Atua sobre variáveis e constantes 
numéricas 
* Operador Multiplicação Atua sobre variáveis e constantes 
numéricas 
/ Operador Divisão Atua sobre variáveis e constantes 
numéricas 
^ Operador Potenciação Atua sobre variáveis e constantes 
numéricas 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Vejamos alguns novos exemplos de instruções envolvendo operações com 
variáveis: 
 
 X  300 
 Y  150 
 Z  X/Y^2 
 
Após serem executadas essas instruções, o valor da variável Z será igual 
a 4, uma vez que Z  300/150^2. Logo Z  2^2, ou seja, Z  4. 
 
1. Nas próximas aulas teremos a oportunidade de 
conhecer outros operadores, como os lógicos, por 
exemplo. 
O operador de potenciação “^” também pode ser 
representado por “**”, conforme defendem alguns 
autores. 
NOTA 
Lógica de Programação| Izabelly Morais e Max Azevedo | 17 
 
 
 
 
 
 
 
 
 
 
 
Se você assinalou a alternativa (E), acertou novamente! 
 
 
 
 
 
 
 
 
 
 
1.4 Depuração de algoritmos 
 
No exemplo utilizado no tópico anterior, vivenciamos uma situação de 
“erro de programa”. A partir de agora, situações como esta serão 
rotineiras para você. Todo programador lida com erros de programa todos 
O que aconteceria se, após o processamento das 
instruções do exemplo anterior, acrescentássemos a 
seguinte: CARRO  Z & “ POR 4” ? 
(A) “4POR 4” 
(B) “4 POR 4” 
(C) “QUATRO POR QUATRO” 
(D) 16 
(E) Nenhuma das alternativas. 
REFLITA 
O resultado de uma operação envolvendo variáveis de 
tipos diferentes é indefinido, ou seja, esse tipo de 
instrução provoca um erro de execução do algoritmo em 
tela. E este é exatamente o caso, pois, como vimos 
anteriormente, o conteúdo da variável Z é do tipo 
numérico, enquanto o operador utilizado na última 
instrução (& = concatenação) é um operador literal 
(alfanumérico). 
EXPLICANDO MELHOR 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 18 
 
 
os dias e em todas as horas de cada dia. Por isto, ao concluir seu 
algoritmo ou programa, não hesite em testá-lo (ou depurá-lo). 
 
 
 
 
 
 
 
Erros de programação (ou de algoritmização) acontecem por vários 
motivos. Podemos classificar esses muitos motivos nas seguintes 
categorias: 
 Erro de sintaxe: ocorre quando uma instrução não é escrita de acordo 
com as regras gramaticais da linguagem, ou seja, conforme a sintaxe da 
instrução. 
 Erro de dados: acontece toda vez que constantes ou variáveis de 
diferentes tipos são envolvidas em uma mesma operação, como vimos no 
exemplo anterior. 
 Overflow: do inglês, este termo significa sobrecarga, e ocorre toda vez 
que o limite de tamanho de uma variável é excedido. Cada linguagem de 
programação estabelece o limite de cada tipo de variável. 
 Looping: também do inglês, podemos traduzir esse termo como 
repetição sem fim. Isto não é propriamente um erro de programação, mas 
de lógica de programação, pois, por uma situação não prevista pelo 
programador, as instruções ficam sendo processadas em círculos par a 
sempre ou até o programa ser cancelado. 
 Indefinição: ocorre toda vez que um cálculo resulta em um valor 
indefinido ou inexistente, como uma divisão por zero, por exemplo. 
 
Depuração é a técnica utilizada por programadores e 
outros profissionais para testar um programa ou processo 
repetitivo qualquer. Trata-se de um ato continuo que se 
repete até que seja atingido o ZERO erro. 
DEFINIÇÃO 
Lógica de Programação| Izabelly Morais e Max Azevedo | 19 
 
 
1.5 VisuALG 
 
Você conhece o VisuALG? Trata-se de um aplicativo para PC 
(computadores desktop ou notebooks) com o sistema operacional 
Windows instalado, cuja finalidade é simular a execução de um algoritmo 
escrito na língua portuguesa. 
 
 
 
 
 
Na prática, o VisuALG é um software interpretador de algoritmos escritos 
em pseudocódigos. Sua interface é dialógica e extremamente intuitiva , 
mesmo para principiantes na área de programação. 
Sua tela é dividida em três partes bem distintas: 
(A) Área dos algoritmos; 
(B) Área das variáveis de memória; 
(C) Área de visualização dos resultados. 
 
 
Figura 5 - Interface do Visual G versão 3.0. Fonte: http://visualg3.com.br/ (Acesso em 18/10/2017). 
A 
B 
C 
Faça o download e instale em seu computador pelo link: 
http://visualg3.com.br/ (Acesso em 18/10/2017). 
ACESSE 
http://visualg3.com.br/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 20 
 
 
Com o VisuALG será possível testar todos os algoritmos que iremos 
desenvolver ao longo desta disciplina. Vamos começar aprendendo como 
este interpretador aceita a manipulação de variáveis e constantes? 
 
1.5.1 Declaração de variáveis 
 
Para utilizar variáveis ao longo de um algoritmo VisuALG, é necessário 
que você as declare logo no início do programa, como no exemplo abaixo: 
 
Figura 6 - Exemplo 1, painel de edição e monitoramento do pseudocódigo em execução . Fonte: o 
autor. 
 
Perceba que as variáveis X, Y e Z foram declaradas como do tipo 
numérico e real. Já a variável CARRO foi declarada como alfanumérica, 
que, no caso do VisuALG, deve ser descrita como do tipo “caractere”. 
Para executar este algoritmo e testar o comportamento dessas variáveis, 
basta teclar <F9>, ou <F8> para executar o algoritmo passo a passo 
(linha a linha). 
Ao executar o algoritmo do começo ao fim você deverá visualizar o 
seguinte quadro de variáveis, como mostra a figura a seguir. 
Lógica de Programação| Izabelly Morais e Max Azevedo | 21 
 
 
 
Figura 7 - Exemplo 1, painel de monitoramento das variáveis declaradas. Fonte: o autor. 
 
Observe ainda que, ao executar este código, o VisuALG simula o que o 
usuário veria na telinha de seu computador. Como o algoritmo não 
possuía nenhum comando de exibição de dados em tela, nada foi exibido, 
exceto as mensagens de início e término do algoritmo, como mostram os 
dois painéis de visualização de resultados, ilustrados nas figuras a seguir. 
 
Figura 8 - Exemplo 1, áreade visualização de resultados do VisuALG. Fonte: o autor. 
 
Além do painel de visualização de resultados, o VisuALG ainda 
disponibiliza um simulador de console em interface textual, como em 
uma telinha emulada do sistema operacional MS-DOS. Veja o resultado 
deste último algoritmo representado neste simulador: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 22 
 
 
 
Figura 9 - Exemplo 1, simulador do console do MS-DOS mostrando os mesmos resultados em tela. 
Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 23 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Quer se aprofundar no tema desta aula? Recomendamos o acesso à 
seguinte fonte de consulta e aprofundamento: Vídeo: “Lógica de 
Programação com VisualG - Introdução - 01”, acessível pelo link 
https://youtu.be/3nimGaFRLwI (Acesso em 18/10/2017). 
 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na modalidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
https://youtu.be/3nimGaFRLwI
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 24 
 
 
 Bibliografia 
 
 
FORBELLONE, A. L. (2005). Lógica de programação: a construção de algoritmos e 
estrutura de dados. São Paulo: Pearson. 
MANZANO, J. A., & OLIVEIRA, J. F. (2008). Algoritmos - Lógica para 
desenvolvimento de programação de computadores (21. ed.). São Paulo: 
Érica. 
SEBESTA, R. W. (2011). Conceitos de linguagens de programação. São Paulo: 
Bookman. 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 25 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
OPERAÇÕES E 
EXPRESSÕES 
ARITMÉTICAS 
 
 
 
 
 
AULA 06 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Silva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 OPERAÇÕES E EXPRESSÕES ARITMÉTICAS ................................................................ 6 
1.1 Expressões aritméticas.......................................................................................... 6 
1.2 Tipos de expressões aritméticas ............................................................................ 8 
1.3 Usando o VisuALG ............................................................................................... 10 
Considerações Finais ................................................................................................ 13 
Atividades de Autoaprendizagem .............................................................................. 13 
Questionário Avaliativo ............................................................................................ 13 
Bibliografia .............................................................................................................. 14 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Operações e expressões aritméticas 
 
INTRODUÇÃO: 
Lógica de programação é uma matéria comumente associada à 
matemática. Isto é um dos motivos pelos quais certas pessoas com pouca 
habilidade em matemática se afastam ou criam alguma resistência ao 
aprendizado desta disciplina. No entanto, lógica de programação vai 
muito além de se fazer contas de matemática. Ela tem mais a ver com a 
capacidade de abstração do que com a aritmética pura e simplesmente. 
Por isto, vamos introduzir a matemática em nossos estudos na medida 
certa para resolvermos as questões mais básicas possíveis. Estamos 
falando das quatro operações: soma, subtração, multiplicação e divisão, 
além da potenciação e outras poucas funções matemáticas, para as quais 
já revelaremos a fórmula certa para a sua aplicação nos exercícios e 
atividadesde programação. Mais importante do que a matemática em si , 
será sabermos empregar os operadores certos nas variáveis certas, para 
resolvermos os problemas que nos serão apresentados. 
 
1.1 Expressões aritméticas 
 
Chamamos de expressão aritmética a operação matemática que envolve 
dois ou mais operandos, podendo ser constantes e/ou variáveis. 
Vejamos então três exemplos de expressões matemáticas: 
 A  (B + C / D)^2 + 140*B 
 N  M*3 + N*2 - 1 
 X  (X/Y + 1)^2 
 
OBJETIVO: 
Ao término desta aula você será capaz de utilizar expressões aritméticas 
envolvendo constantes e variáveis numéricas em soluções algorítmicas . 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
Note que, em algumas expressões, foram utilizados parênteses. Esses 
elementos são normalmente utilizados para priorizar uma operação em 
detrimento de outras dentro de uma mesma expressão. 
Por exemplo: (B+C/D)^2+140*B resultaria em um dado completamente 
diferente não fossem os parênteses, como mostra a simulação a seguir: 
Imagine que B=1, C=4 e D=2. Mantendo-se os parênteses do primeiro 
exemplo dado anteriormente, teremos o seguinte desenvolvimento dessa 
expressão: 
 A  (1 + 4 / 2)^2 + 140*1 
 A  (3)^2 + 140 
 A  9 + 140 
 A  149 
 
Mas, como seria o resultado desta expressão se tirássemos os 
parênteses? 
 A  B + C / D^2 + 140*B 
 A  1 + 4 / 2^2 + 140*1 
 A  1 + 4 / 4 + 140 
 A  1 + 1 + 140 
 A  142 
 
Com estas duas simulações, acabamos de recordar algo que aprendemos 
lá atrás, no ensino fundamental: a prioridade entre as operações. Em 
outras palavras, em uma expressão envolvendo as quatro operações 
aritméticas, teremos sempre as seguintes prioridades: 
Operação Operador Prioridade 
Adição + 3 
Subtração - 3 
Multiplicação * 2 
Divisão / 2 
Exponenciação ^ 1 
Tabela 1: Ordem de prioridade das operações aritméticas em uma expressão. Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
 
1.2 Tipos de expressões aritméticas 
 
Assim como as constantes e variáveis numéricas, as expressões 
aritméticas também podem ser classificadas em vários dois tipos 
distintos: 
 Inteiras; e 
 Reais. 
O tipo de uma expressão é dado pelo tipo do dado numérico resultante de 
sua execução. Por exemplo: se uma expressão tem como resultado um 
número inteiro, ela será inteira. Do contrário, teremos uma expressão do 
tipo real (ou fracionário). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Para que uma expressão seja inteira, todos os seus 
operandos devem ser inteiros. Se pelo menos um desses 
operandos for uma constante ou variável do tipo real, a 
expressão será real. 
IMPORTANTE 
Para comprovarmos o que acabamos de enunciar, 
imagine a seguinte expressão: 
R  10 + 100 + 399 + 4.059 + 1,5 
R  4.569,5 
Observe que, bastou somarmos o número 1,5 aos demais 
operandos para obtermos um resultado fracionário. 
EXPLICANDO MELHOR 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
Mas, será que esse papo de expressão aritmética tem alguma utilidade 
na hora de programarmos um computador? 
Não tenha dúvida que sim! Imagine que você precise criar um algoritmo 
que receba um valor salarial de alguém e apresente este salário 
acrescido de um aumento de 50%. Veja a solução encontrada por um 
programador para este problema: 
 
ALGORITMO 
 LEIA SALARIO 
 NOVOSAL  SALARIO + SALARIO * 0,5 
 ESCREVA NOVOSAL 
FIM_ALGORITMO 
 
Exemplo 1 – Algoritmo 
 
Perceba que o algoritmo recebeu um salário digitado por um usuário 
qualquer, dentro de uma variável denominada SALARIO. 
Em seguida, o programador atribuiu uma expressão matemática sobre à 
própria variável SALARIO, modificando o seu valor para o correspondente 
ao seu valor antigo, mais o percentual de 50% aplicado sobre ele mesmo. 
Este percentual de 50% foi expresso na operação: SALARIO * 0,5. 
O valor 0,5 corresponde a 50 / 100, ou seja, cinquenta por cento. Porém, 
com um pouco mais de conhecimento sobre aritmética, este programador 
poderia ter simplificado esta expressão, da seguinte maneira: 
ALGORITMO 
 LEIA SALARIO 
 NOVOSAL  SALARIO * 1,5 
 ESCREVA NOVOSAL 
FIM_ALGORITMO 
 
Exemplo 2 - Algoritmo 
 
Note que alguma coisa mais a metade dela própria é o mesmo que 
multiplicá-la por uma vez e meia, logo, as duas expressões apresentadas 
como solução algorítmica do problema proposto resultam no mesmo 
valor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
Vamos sofisticar ainda mais nosso algoritmo? E se, além do salário, ele 
permitisse que o usuário fornecesse o percentual de aumento a ser 
aplicado? 
Teríamos então o seguinte algoritmo, por exemplo: 
ALGORITMO 
 LEIA SALARIO 
 LEIA PERCENTUAL 
 NOVOSAL  SALARIO * (1 + PERCENTUAL) 
 ESCREVA NOVOSAL 
FIM_ALGORITMO 
 
Exemplo 3 - Algoritmo 
 
 
1.3 Usando o VisuALG 
 
Vamos utilizar o VisuALG para simular esse último exemplo? Então vamos 
declarar as variáveis SALARIO, PERCENTUAL e NOVOSAL como sendo 
numéricas e inteiras. Agora, observe as três últimas soluções 
algoritmizadas no VisuALG, através das três próximas ilustrações, 
respectivamente. 
 
 
Figura 1 - Exemplo 1. Fonte: o autor. 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
 
 
Figura 2 - Digitação do dado da variável: SALARIO, e a exibição do conteúdo da variável NOVOSAL 
 
 
Figura 3 - Exemplo 2. Fonte: o autor. 
 
 
 
Figura 4 - Digitação do dado da variável: SALARIO, e a exibição do conteúdo da variável NOVOSAL 
 
 
Figura 5 - Exemplo 3. Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
 
 
Figura 6 - Digitação dos dados das duas variáveis: SALARIO e PERCENTUAL , e a exibição de NOVOSAL. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Quer se aprofundar em algum dos temas desta aula? 
Recomendamos o acesso ao menu “Help” do próprio VisuALG, onde 
você poderá encontrar as referências: 
 
 
 
 
 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na modalidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
Figura 7 - Menu principal do VisuALG, destacando o submenu "Help". 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
Bibliografia 
 
 
FORBELLONE, A. L. (2005). Lógica de programação: a construção de algoritmos e 
estrutura de dados. São Paulo: Pearson. 
MANZANO, J. A., & OLIVEIRA, J. F. (2016). Algoritmos: Lógica para desenvolvimentode programação de computadores (28. ed.). São Paulo: Érica. 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
OPERAÇÕES E 
EXPRESSÕES 
ALFANUMÉRICAS 
 
 
 
 
 
AULA 07 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Silva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 OPERAÇÕES E EXPRESSÕES ALFANUMÉRICAS .......................................................... 6 
1.1 Funções ................................................................................................................ 6 
1.2 Operações Caractere............................................................................................. 7 
1.3 Funções Caractere ................................................................................................ 9 
1.3.1 Caracpnum() .......................................................................................... 10 
1.3.2 Numpcarac() .......................................................................................... 10 
1.3.3 Compr() ................................................................................................. 10 
1.3.4 Copia() ................................................................................................... 11 
Considerações Finais ................................................................................................ 12 
Atividades de Autoaprendizagem .............................................................................. 12 
Questionário Avaliativo ............................................................................................ 12 
Bibliografia .............................................................................................................. 13 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Operações e expressões alfanuméricas 
 
INTRODUÇÃO: 
Como dissemos anteriormente, nem só de matemática vive a lógica de 
programação. Na realidade, uma grande variedade de problemas 
informacionais envolve operações conhecidas como “string”, ou 
alfanuméricas. As cadeias de caracteres estão contidas na maior parte 
dos dados que são rotineiramente processados pelos computadores. Ao 
longo desta aula iremos aprender algumas operações de varredura e 
concatenação dessas cadeias de caracteres, fundamentais na formatação 
de exibição e impressão de dados. No entanto, antes de iniciarmos os 
estudos sobre essas operações “string”, precisamos conhecer um novo 
conceito: o de função. Isto, porque, a maioria das operações envolvendo 
variáveis e constantes alfanuméricas são obtidas por meio de funções, e 
não por operações pura e simplesmente. 
 
1.1 Funções 
 
Você sabe o que vem a ser uma função? Muitas vezes, quando desejamos 
submeter uma variável ou uma constante a um processamento, nem 
sempre encontramos um operador que resolva o problema. Por exemplo, 
se quisermos somar algo a uma variável, usamos o operador “+”. No 
entanto, se quisermos encontrar o valor inteiro correspondente a um 
número real, precisamos de uma função chamada INT. 
Vejamos como funciona a sintaxe desta função: 
 X  1,9 
 N  Int ( X ) 
 Escreva N 
OBJETIVO: 
Ao término desta aula você será capaz de utilizar expressões literais 
envolvendo constantes e variáveis alfanuméricas em soluções algorítmicas . 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
 
Note que essa função funciona como um pequeno algoritmo que recebe 
um parâmetro (ou argumento) de outro algoritmo, devolvendo -lhe um 
resultado processado daquele argumento. 
 
 
 
 
 
 
Uma função pode ser interna ou externa à linguagem de programação. 
 Funções internas: são aquelas disponibilizadas pela própria linguagem, 
assim como suas instruções e semântica como um todo; 
 Funções externas: são aquelas criadas por programadores e 
disponibilizadas para reuso em outros programas. 
 
 
 
 
 
 
1.2 Operações Caractere 
 
Ao contrário das operações aritméticas básicas, que são quatro (e mais a 
potenciação), as operações caractere se resumem a apenas uma: a 
concatenação. As linguagens de programação costumam utilizar dois 
operadores para simbolizar uma concatenação: 
Função é todo e qualquer algoritmo externo que pode ser 
chamado a partir de uma instrução, devolvendo um 
resultado processado a partir de um ou mais argumentos 
transmitidos pelo algoritmo que a chamou. 
DEFINIÇÃO 
Estudaremos mais detidamente as funções externas mais 
adiante, bem como a forma de cria-las e reutilizá-las em 
algoritmos computacionais. 
NOTA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
+ ou & 
O VisuALG, por exemplo, utiliza o mesmo operadorda adição (+) para a 
concatenação de cadeias de caracteres (variáveis ou constantes). 
Por exemplo, se quisermos adicionar o pronome de tratamento “Sr.” a 
uma variável que irá receber o nome de uma pessoa do teclado do 
computador, teremos o seguinte algoritmo: 
ALGORITMO 
 LEIA NOME 
 NOME  “Sr.” + NOME 
 ESCREVA NOME 
FIM_ALGORITMO 
 
Exemplo 1 – Algoritmo 
 
Vamos testar este algoritmo no VisuALG? 
 
Figura 1 - Exemplo 1. Fonte: o autor. 
 
Para visualizar e compreender melhor o efeito da concatenação 
envolvendo a variável NOME, execute este algoritmo passo a passo, 
teclando <F8> em vez de <F9>. 
 
PASSO 1: Declaração da variável NOME 
 
Figura 2 - Executando a linha 4 do algoritmo. Fonte: o autor. 
PASSO 2: Digitação do dado na variável NOME 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
 
Figura 3 - Executando a linha 5 do algoritmo. Fonte: o autor. 
PASSO 3: Concatenação da constante “Sr.” Com a variável NOME 
 
Figura 4 - Executando a linha 6 do algoritmo. Fonte: o autor. 
PASSO 4: Exibição do dado contido na variável NOME 
 
Figura 5 - Executando a linha 7 do algoritmo. Fonte: o autor. 
 
 
1.3 Funções Caractere 
 
Existem mais de uma dezena de funções do tipo caractere nas linguagens 
de programação. Elas têm a função de permitir a manipulação dos dados 
no interior de variáveis, ou a combinação desses dados com os de outras 
variáveis. Imagine que necessitemos identificar a posição de determinada 
letra em um nome, ou mesmo conhecer o comprimento dessa cadeia de 
caracteres. Para cada necessidade dessas existe uma função, e mais: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
1.3.1 Caracpnum() 
 
Caracpnum (PALAVRA): Retorna o número inteiro ou real equivalente à 
cadeia de caracteres ou expressão alfanumérica informada como 
argumento da função, no caso, PALAVRA. Analise o exemplo a seguir: 
 Var 
 PALAVRA: caractere 
 RESUTADO: inteiro 
 PALAVRA  “1000” 
 RESULTADO  Caracpnum(PALAVRA) + 2000 
 ESCREVA RESULTADO 
No exemplo acima o valor numérico da variável RESULTADO será 3000. 
Se não fosse a função Caracpnum() não haveria como somar a string 
NUMERO com o número 2000. 
 
1.3.2 Numpcarac() 
 
Numpcarac (NUMERO): Retorna uma cadeia de caracteres contendo a 
representação alfanumérica de NUMERO. Esta função faz exatamente o 
contrário da Caracpnum(), ou seja, converte um NUMERO em uma String. 
 Var 
 NUMERO: inteiro 
 RESUTADO: caractere 
 NUMERO  1000 
 RESULTADO  Numpcarac(NUMERO) + “ reais” 
 ESCREVA RESULTADO 
No exemplo acima a cadeia de caracteres gerada na variável RESULTADO 
será “1000 reais”. Se não fosse a função Numpcarac() não haveria como 
concatenar o número contido na variável NUMERO com a constante “ 
reais”. 
 
1.3.3 Compr() 
 
Compr(FRASE): Retorna um valor numérico inteiro correspondente ao 
tamanho da variável, constante ou expressão FRASE. Em outras palavras, 
essa função serve para contar quantos caracteres existem na expressão, 
constante ou variável passada como argumento da função. Por exemplo: 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
 Var 
 FRASE: caractere 
 RESUTADO: inteiro 
 FRASE  “Há mais brilhos em nossos olhos que estrelas no céu” 
 RESULTADO  Compr(FRASE) 
 ESCREVA RESULTADO 
No exemplo acima o valor gerado na variável RESULTADO será 51, ou 
seja, existirão 51 caracteres dentro da variável RESULTADO após a 
execução deste algoritmo. 
 
1.3.4 Copia() 
 
Copia(FRASE, INICIO, TAMANHO): Retorna uma cadeia de caracteres 
contendo uma cópia parcial de FRASE, a partir do caractere situado na 
posição INICIO, contendo TAMANHO caracteres a partir daquela posição. 
Os caracteres são numerados da esquerda para a direita, começando de 
1. 
 Var 
 FRASE: caractere 
 RESUTADO: caractere 
 FRASE  “Há mais brilhos em nossos olhos que estrelas no céu” 
 RESULTADO  Copia(FRASE, 9, 7) 
 ESCREVA RESULTADO 
No exemplo anterior, a cadeia de caracteres gerada na variável 
RESULTADO será “brilho” após a execução deste algoritmo. 
O tipo de uma expressão é dado pelo tipo do dado numérico resultante de 
sua execução. Por exemplo: se uma expressão tem como resultado um 
número inteiro, ela será inteira. Do contrário, teremos uma expressão do 
tipo real (ou fracionário). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Quer conhecer mais e mais funções internas oferecidas pelo 
VisuALG? Acesse a publicação disponível no link: 
http://www.apoioinformatica.inf.br/produtos/item/30-as-funcoes-do-
visualg-versao-2-0 (Acesso em 20/10/2017) e conheça várias outras 
funções caractere e numéricas. 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na modalidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
http://www.apoioinformatica.inf.br/produtos/item/30-as-funcoes-do-visualg-versao-2-0
http://www.apoioinformatica.inf.br/produtos/item/30-as-funcoes-do-visualg-versao-2-0
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
Bibliografia 
 
Apoio Informática. (20 de Out de 2017). As funções do VisuALG versão 2.0 . Fonte: 
Apoio Informática: http://www.apoioinformatica.inf.br/produtos/item/30-as-
funcoes-do-visualg-versao-2-0 
RODRIGUES, A. (2016). Manual do VisuAlg. Iguatu: IFCE. Acesso em 20 de Out de 
2017, disponível em 
www.netsoft.inf.br/aulas/4_ECI_Introducao_a_Informatica/Visualg2_manual
.pdf 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ESTRUTURAS 
CONDICIONAIS 
 
 
 
 
 
AULA 08 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max AzevêdoSilva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 ESTRUTURAS CONDICIONAIS SE .............................................................................. 6 
1.1 Operações Condicionais ........................................................................................ 6 
1.1.1 Operadores relacionais ............................................................................. 7 
1.1.2 Operadores lógicos ................................................................................... 8 
Considerações Finais ................................................................................................ 10 
Atividades de Autoaprendizagem .............................................................................. 10 
Questionário Avaliativo ............................................................................................ 10 
Bibliografia .............................................................................................................. 11 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Estruturas Condicionais SE 
 
INTRODUÇÃO: 
Agora que já sabemos como manipular variáveis de memória, quer sejam 
numéricas ou caracteres, precisamos entender como se comportam as 
variáveis lógicas e suas expressões condicionais. Entender bem isto é 
preponderante para a programação de soluções computacionais, pois 
tomar decisões é algo que todo programador estará sempre fazendo ao 
longo da codificação de seus programas. 
 
1.1 Operações Condicionais 
 
Você sabe o que vem a ser uma operação condicional? Assim como uma 
operação aritmética submete seus operandos numéricos a um 
processamento matemático, por meio de operadores, o mesmo ocorrendo 
com as operações “string”, as operações condicionais se comportam mais 
ou menos da mesma forma. A diferença é que o resultado de uma 
operação condicional é sempre verdadeiro ou falso. Outra diferença 
conceitual entre a operação condicional e as demais está nas instruções 
que as suportam. Normalmente, uma operação aritmética é utilizada em 
uma instrução de atribuição, ou seja, o resultado de uma expressão 
matemática é geralmente atribuído à uma variável de memória, ou ainda 
pode ser utilizada diretamente em uma instrução de saída, como no 
comando ESCREVA, por exemplo. Uma operação condicional também 
pode ser atribuída à uma variável, porém, o mais comum, é que elas 
sejam utilizadas em comandos ou estruturas condicionais, como o 
comando SE, por exemplo. 
OBJETIVO: 
Ao término desta aula você será capaz de aplicar estruturas condicionais 
SE em soluções algorítmicas. 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
Para compreendermos melhor, imagine se fizéssemos um algoritmo que 
lesse dois números inteiros e, independentemente da ordem e m que os 
digitássemos, eles sempre fossem mostrados em ordem crescente (do 
menor para o maior). Vamos elaborar este algoritmo? 
 ALGORITMO 
 VAR 
 A, B: INTEIRO 
 LEIA (A, B) 
 SE A > B ENTÃO 
 ESCREVA (B, A) 
 SENÃO 
 ESCREVA (A, B) 
 FIMSE 
 FIMALGORITMO 
 
Note que utilizamos uma estrutura condicional conhecida como SE. Essa 
estrutura tem a seguinte sintaxe: 
 
SE <expressão condicional> ENTÃO 
 <instrução-1> 
 <instrução-2> 
 ... 
 <instrução-N> 
SENÃO 
 <instrução-3> 
 <instrução-4> 
 ... 
 <instrução-M> 
FIMSE 
 
No caso do exemplo anteriormente ilustrado, a <expressão 
condicional> utilizada foi “A < B”. ou seja, tivemos uma 
operação que submeteu duas variáveis a um operador 
relacional, no caso, o operador “>”. 
 
 
1.1.1 Operadores relacionais 
 
Chamamos de operadores relacionais aqueles que comparam o valor de 
dois operandos, que podem ser expressões aritméticas ou caractere, 
como duas variáveis entre si, uma constante com variável, ou vice-versa. 
Condição 
Instruçã
o 1 
Instruçã
o 2 
Instruçã
o N 
Instruçã
o 3 
Instruçã
o 4 
Instruçã
o M 
ENTÃ
O 
SENÃ
O 
Figura 1 - Fluxograma da estrutura 
SE. Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
São esses os operadores que podem ser usados em estruturas SE, entre 
outras: 
Operador Significado Exemplo de operação 
> Maior que A > B 
< Menor que A < B 
>= Maior ou igual a A >= B 
<= Menor ou igual a A <= B 
= Igual a A = B 
<> Diferente de A <> B 
 
Tabela 1: Operadores relacionais. Fonte: o autor. 
 
 
1.1.2 Operadores lógicos 
 
Chamamos de operadores lógicos aqueles que atuam sobre expressões 
condicionais, conectando-as ou invertendo seus sinais. 
Operador Significado Exemplo É o mesmo que... 
NÃO Negação NÃO A > B A <= B 
OU Disjunção A < B OU B > 
C 
Verdadeiro se quaisquer das expressões 
forem verdadeiras, inclusive ambas 
E Conjunção A < B E B > C Verdadeiro somente se ambas as 
expressões forem verdadeiras 
XOU Exclusão A < B XOU B > 
C 
Verdadeiro se qualquer uma for verdadeira, 
mas falsa se ambas forem verdadeiras 
 
Tabela 2: Operadores lógicos. Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
 
Vamos ver como ficaria o algoritmo-exemplo no 
interpretador do VisuALG? 
RESUMINDO 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
 
Figura 2 - Algoritmo exemplo 1: Colocar dois números em ordem crescente. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Quer conhecer mais e mais operadores oferecidos pelo VisuALG? 
Acesse a publicação disponível no link: 
http://www.apoioinformatica.inf.br/produtos/item/09-operadores 
(Acesso em 21/10/2017) e conheça vários outros operadores.Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na modalidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
http://www.apoioinformatica.inf.br/produtos/item/09-operadores
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
Bibliografia 
 
Apoio Informática. (20 de Out de 2017). As funções do VisuALG versão 2.0 . Fonte: 
Apoio Informática: http://www.apoioinformatica.inf.br/produtos/item/30-as-
funcoes-do-visualg-versao-2-0 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ESTRUTURAS 
CONDICIONAIS SE 
ENCADEADAS 
 
 
 
 
AULA 09 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Silva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 ESTRUTURAS CONDICIONAIS SE ENCADEADAS ......................................................... 8 
1.1 Estruturas Condicionais SE Encadeadas ................................................................. 8 
Considerações Finais ................................................................................................ 13 
Atividades de Autoaprendizagem .............................................................................. 13 
Questionário Avaliativo ............................................................................................ 13 
Bibliografia .............................................................................................................. 24 
 
 
 
 
 
Trilha de Aprendizagem 
 
Olá. Meu nome é Andréa César. Sou responsável pela direção editorial 
deste livro didático e de todos os demais recursos relacio nados com a sua 
trilha de aprendizagem. Você está iniciando seus estudos sobre LÓGICA 
DE PROGRAMAÇÃO, e o nosso objetivo é auxiliar você no desenvolvimento 
das competências necessárias ao seu exercício profissional. Para isto, 
distribuímos os conteúdos didáticos deste livro em quatro semanas de 
estudo, onde, em cada uma delas, haverá uma competência a ser 
construída. Cada uma dessas competências será desenvolvida por meio 
de quatro atividades de estudo, que podemos chamar de “aulas”. Em 
cada aula, você terá uma introdução ao tema abordado, os objetivos a 
serem alcançados, uma atividade de autoaprendizagem proposta e uma 
lista de exercícios a serem respondidos. Quer saber quais serão as 
competências que você irá desenvolver ao longo dessas quatro semanas 
de estudo? Então vamos a elas: 
 Compreender os conceitos fundamentais da ciência da computação, 1.
sobretudo no que concerne a softwares e programação de 
computadores. 
 Desenvolver algoritmos estruturados envolvendo operações com 2.
variáveis e comandos condicionais simples. 
 Utilizar estruturas condicionais encadeadas e iterativas, além de 3.
efetuar operações envolvendo vetores. 
 Trabalhar com matrizes e modulação de algoritmos, como 4.
procedimentos e funções. 
 
Ao longo desta semana iremos desenvolver a competência de número: 3. 
Vamos arregaçar as mangas? Ao trabalho! 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
3ª SEMANA DE ESTUDOS 
INTRODUÇÃO: 
que você já aprendeu em temos de algoritmização de 
soluções computacionais pode ser considerado como o 
básico para a programação de computadores. Ao longo 
desta semana avançaremos um pouco mais na 
complexidade dos programas, estudando o encadeamento de estruturas 
condicionais e as estruturas repetitivas (ou iterativas). No tocante a essas 
estruturas repetitivas, introduziremos o conceito de variáveis 
unidimensionais lineares, mais popularmente conhecidas como vetores. É 
importante destacar que a teoria da lógica de programação será cada vez 
menor, pois o grande segredo do aprendizado a partir desta etapa de 
estudos está no praticar cada vez mais. 
 
 
 
 
OBJETIVOS: 
 
Ao término desta semana de estudos,você será capaz de: 
 
 Aplicar estruturas condicionais encadeadas em soluções de 
problemas algorítmicos. 
 Aplicar estruturas de repetição em soluções algorítmicas envolvendo 
contagem e acumulação. 
 Aplicar estruturas de repetição em soluções algorítmicas envolvendo 
cadeias de caracteres e variáveis alfanuméricas. 
 Entender o conceito e as aplicações de vetores em soluções 
algorítmicas. 
 
 
Mãos à obra? Conte com a gente! 
 
 
O 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
1 Estruturas Condicionais SE Encadeadas 
 
INTRODUÇÃO: 
Vimos que a estrutura condicional SE permite que um bloco de instruções 
seja executado apenas quando satisfeitas algumas condições. Quando 
não, outras instruções podem ser executadas. Mas essas estruturas 
condicionais suportam mais que meras instruções. Você pode inserir 
outras estruturas condicionais dentro delas, sem limite de quantidade ou 
de níveis hierárquicos. Ao longo desta aula iremos entender a sintaxe 
dessas estruturas complexas, assim como exercitar sua aplicação através 
de alguns exemplos. 
 
1.1 Estruturas Condicionais SE Encadeadas 
 
Além de instruções, outras estruturas condicionais podem ser inseridas 
dentro de uma estrutura SE. Por exemplo, imagine que queiramos 
desenvolver uma lógica algorítmica capaz de receber três números 
inteiros e exibi-los em ordem crescente, independentemente da ordem 
pela qual eles foram digitados no computador. 
Apesar de este problema poder ser solucionado de diversas maneiras 
diferentes, dificilmente alguém conseguirá resolvê -lo sem que seja 
necessário recorrer-se ao encadeamento de estruturas condicionais SE, 
como podemos ver no exemplo a seguir. 
 ALGORITMO 
 VAR 
 A, B, C: INTEIRO 
 LEIA (A, B, C) 
 SE A < B ENTÃO 
 SE B < C ENTÃO 
 ESCREVA (A, B, C) 
 SENÃO 
 SE C < A ENTÃO 
OBJETIVO: 
Ao término desta aula você será capaz de encadear várias estruturas 
condicionais SE, de acordo com as necessidades de solução algorítmica. 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
 ESCREVA (C, A, B) 
 SENÃO 
 ESCREVA (A, C, B) 
 FIMSE 
 FIMSE 
 SENÃO 
 SE A < C ENTÃO 
 ESCREVA (B, A, C) 
 SENÃO 
 SE C < B ENTÃO 
 ESCREVA (C, B, A) 
 SENÃO 
 ESCREVA (B, C, A) 
 FIMSE 
 FIMSE 
 FIMSE 
 FIMALGORITMO 
 
Note que conseguimos inserir cinco estruturas condicionais SE 
encadeadas em três níveis hierárquicos. 
Em cada uma dessas estruturas tivemos a oportunidade de inserir 
instruções tanto na cláusula ENTÃO quanto na SENÃO. 
 
 
 
 
 
 
 
Para compreendermos melhor a solução dada anteriormente, vamos 
representar o algoritmo visualmente por meio de diagramas de bloco (ou 
fluxograma). 
Desse modo fica mais fácil percorrer as várias situações e decisões que 
serão tomadas pelo programa em tempo de execução. 
 
É imprescindível utilizar o método da endentação do texto 
para você não se perder quanto aos fechamentos das 
estruturas encadeadas. Para cada SE tem que haver um 
FIMSE, e convém que estes FIMSEs se posicionem na 
mesma margem dos seus respectivos SEs. 
IMPORTANTE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
 
Figura 1 - Versão do algoritmo-exemplo em diagrama de blocos. Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
E, finalmente, vamos testar o nosso algoritmo? Para isto, podemos agir 
de duas maneiras distintas: ou testamos a lógica desenvolvida 
visualmente, realizando o que chamamos de teste de mesa (também 
A < B 
SENÃ
O 
ENTÃ
O 
Leia A, B, 
C 
B < C Escreva A, 
B, C 
SENÃ
O 
ENTÃ
O 
C < A 
Escreva C, 
A, B 
ENTÃ
O 
Escreva A, 
C, B 
SENÃ
O 
A < C Escreva B, 
A, C 
SENÃ
O 
C < B 
Escreva B, 
C, A 
SENÃ
O 
Escreva C, 
B, A 
ENTÃ
O 
ENTÃ
O 
INÍCIO 
FIM 
FIMSE FIMSE FIMS
Es 
FIMS
Es 
FIMS
Es 
Perceba que a quantidade de conectores (círculos) que 
aparecem na figura acima é exatamente igual à 
quantidade de FIMSEs redigidos no algoritmo escrito 
anteriormente. 
NOTA 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
conhecido como “chinês”), ou digitamos o código do algoritmo no editor 
do VisuALG e executamos o programa, fazendo, claro, as devidas 
adequações quanto à sintaxe das instruções e da estrutura condicional 
SE. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 2 - Algoritmo exemplo 2: Colocar três números em ordem crescente. 
Vamos ver como ficaria o algoritmo-exemplo no 
interpretador do VisuALG? 
RESUMINDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
 
Figura 3 - Resultado de execução do algoritmo na console do computador. Fonte: o autor. 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Quer se aprofundar no tema desta aula? Recomendamos o acesso a 
alguns exercícios de algoritmização resolvidos, como os da página : 
“VISUALG: Exercícios SE, SENAO”, acessível pelo link 
https://goo.gl/WdaJi1 (Acesso em 22/10/2017). 
 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na modalidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
https://goo.gl/WdaJi1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
 Bibliografia 
 
Antigo Programador. (22 de Out de 2017). VISUALG: Exercícios SE, SENAO . Fonte: 
Antigo Programador, Blog: https://goo.gl/WdaJi1 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ESTRUTURAS 
REPETITIVAS 
 
 
 
 
 
 
AULA 10 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo SilvaOlá. Meu nome é Max Azevêdo Silva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 ESTRUTURAS REPETITIVAS ...................................................................................... 6 
1.1 Repetição interativa com teste no início do laço .................................................... 6 
1.1.1 ENQUANTO FAÇA ...................................................................................... 7 
1.1.1.1 Contagem ............................................................................... 8 
1.1.1.2 Acumulação ............................................................................ 9 
1.2 Repetição interativa com teste no final do laço ................................................... 10 
1.2.1 REPITA ATÉ ............................................................................................. 10 
1.3 Repetição iterativa ............................................................................................. 12 
1.3.1 PARA FAÇA ............................................................................................. 13 
Considerações Finais ................................................................................................ 15 
Atividades de Autoaprendizagem .............................................................................. 15 
Questionário Avaliativo ............................................................................................ 15 
Bibliografia .............................................................................................................. 16 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Estruturas Repetitivas 
 
INTRODUÇÃO: 
Chegamos a provavelmente o ponto mais importante da disciplina, 
quando vivenciaremos situações em que teremos de aplicar técnicas de 
iteração (ou técnicas de repetição) para solucionarmos problemas 
envolvendo acumulação e contagem numérica. Para isto, precisaremos 
que você tenha compreendido muito bem as estruturas condicionais 
encadeadas, pois seus conceitos serão revalidados ao longo desta aula. 
 
1.1 Repetição interativa com teste no início do laço 
 
Um laço de repetição é uma estrutura que permite a execução de certo 
bloco de instruções conforme determinada condição. Esses laços podem 
ser: 
 Interativos: quando necessitam da intervenção de um usuário do 
programa para repetir a próxima ação um indeterminado número de 
vezes. 
 Iterativos: quando executam as repetições previstas de forma automática 
um número de vezes. 
Inicialmente, trataremos da estrutura de repetição com teste no início. 
Mas o que isso quer dizer? Quer dizer que, para o restante das instruções 
ser executado, uma condição precisa ser testada, e que a repetição da 
execução dessa instrução dependerá dessa condição. 
OBJETIVO: 
Ao término desta aula você será capaz de aplicar estruturas de repetição 
em soluções algorítmicas envolvendo contagem e acumulação. 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
A seguir, podemos visualizar a sintaxe de um laço repetitivo com pré-
teste, ou seja, condição no início do laço. 
 
1.1.1 ENQUANTO FAÇA 
 
ENQUANTO <expressão condicional> FAÇA 
 <instrução-1> 
 <instrução-2> 
 ... 
 <instrução-N> 
FIMENQUANTO 
 
Para exemplificar, imagine que precisamos desenvolver um 
algoritmo que leia uma sequência de números inteiros e, 
toda vez que o número digitado for maior que 10, este seja 
exibido no console do computador. Ao ser digitado o número 
999, o programa deverá ser encerrado. Veja como ficaria 
esta solução: 
 
 
 ALGORITMO 
 VAR 
 N: INTEIRO 
 LEIA (N) 
 ENQUANTO N <> 999 FAÇA 
 SE N > 10 ENTÃO 
 ESCREVA (N) 
 FIMSE 
 LEIA (N) 
 FIMENQUANTO 
 FIMALGORITMO 
Exemplo 1 
 
Perceba que estamos diante de uma estrutura repetitiva interativa, ou 
seja, a cada looping o usuário interagirá com o programa, no caso, 
digitando um número inteiro. Ao executarmos esse mesmo algoritmo no 
VisuALG, teremos o seguinte código e monitoramento de resultados no 
console: 
Condição 
Instruçã
o 1 
Instruçã
o 2 
Instruçã
o N 
ENTÃ
O 
SENÃ
O 
Figura 1 - Fluxograma da estrutura 
ENQUANTO-FAÇA. 
Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
 
Figura 2 - Algoritmo-exemplo interpretado pelo VisuALG. Fonte: o autor. 
 
 
1.1.1.1 Contagem 
Ainda aproveitando o mesmo mote do exemplo anterior, imagine que, 
desta vez, desejamos exibir a quantidade de números digitados que 
foram maiores que 10, ou seja, que foram impressos no console do 
computador. 
Para isto, vamos recorrer a uma variável de memória auxiliar, que iremos 
chamar de C, em alusão ao termo “contador”. 
 ALGORITMO 
 VAR 
 N, C: INTEIRO 
 LEIA (N) 
 ENQUANTO N <> 999 FAÇA 
 SE N > 10 ENTÃO 
 ESCREVA (N) 
 C  C + 1 
 FIMSE 
 LEIA (N) 
 FIMENQUANTO 
 ESCREVA (“Números maiores que 10 foram:”, C) 
 FIMALGORITMO 
Exemplo 2 
 
Vamos testá-lo no VisuALG? 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
 
Figura 3 - Implementando variável contadora. Fonte: o autor 
 
Note que apenas os números 11, 15 e 22 foram impressos e, 
consequentemente, contados pela variável C. Perceba que, para esta 
contagem ter dado certo, foi necessária a soma do número 1 ao valor 
parcial da variável C em cada looping. Ela iniciou a execução do programa 
com o valor zero. Ao ser executada a instrução da linha 9 pela primeira 
vez, ao zero foi somado o número 1. Na segunda rodada, ao 1 foi somado 
mais 1, ficando 2. E, finalmente, na terceira rodada, ao 2 foi somado 1, 
ficando 3. 
 
1.1.1.2 Acumulação 
Imagine agora que, além da contagem, desejamos totalizar os números 
maiores que 10 noalgoritmo anterior. Vamos então lançar mão de uma 
nova técnica: a acumulação. Diferentemente da contagem, na 
acumulação não somamos 1 à variável, mas sim o próprio número lido. 
Vejamos um exemplo de solução neste sentido: 
 
 ALGORITMO 
 VAR 
 N, C, S: INTEIRO 
 LEIA (N) 
 ENQUANTO N <> 999 FAÇA 
 SE N > 10 ENTÃO 
 ESCREVA (N) 
 C  C + 1 
 S  S + N 
 FIMSE 
 LEIA (N) 
 FIMENQUANTO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
 ESCREVA (“Números maiores que 10 foram:”, C) 
 ESCREVA (“, e totalizaram:”, S) 
 FIMALGORITMO 
Exemplo 3 
 
 
Testando no VisuALG teremos o seguinte resultado: 
 
Figura 4 - Acrescentando uma variável acumuladora. Fonte: o autor. 
 
Se você executar este programa passo a passo (linha a linha), e conseguir 
monitorar os valores assumidos pela variável S que implementamos no 
algoritmo acima, verá que ela acumulará os números 11, 15 e 22 a cada 
looping. 
 
1.2 Repetição interativa com teste no final do laço 
 
 
1.2.1 REPITA ATÉ 
Outra estrutura repetitiva, que também pode ser interativa ou iterativa , é 
o REPITA ATÉ. Trata-se de uma estrutura de repetição munida de um pós -
teste de saída do laço, ao invés de um pré -teste, como era o caso do 
ENQUANTO FAÇA. Em termos práticos, o REPITA ATÉ só testa se o fluxo de 
instruções será percorrido após tê-lo executado, o que não ocorre com o 
ENQUANTO FAÇA, que testa a condição de permanência antes de executar 
o bloco de instruções. 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
 
REPITA 
 <instrução-1> 
 <instrução-2> 
 ... 
 <instrução-N> 
ATÉ <expressão condicional> 
 
Vamos reescrever o algoritmo do exemplo anterior, substituindo a 
estrutura ENQUANTO FAÇA por um REPITA ATÉ? 
 
 ALGORITMO 
 VAR 
 N, C, S: INTEIRO 
 REPITA 
 LEIA (N) 
 SE (N > 10) E (N <> 999) ENTÃO 
 ESCREVA (N) 
 C  C + 1 
 S  S + N 
 FIMSE 
 ATÉ N = 999 
 ESCREVA (“Números maiores que 10 foram:”, C) 
 ESCREVA (“, e totalizaram:”, S) 
 FIMALGORITMO 
Exemplo 4 
 
Observe que esta estrutura não se encerra com um FIMREPITA ou algo do 
gênero, mas sim com a condição de escape do laço. 
 
 
 
 
 
 
 
 
A condição do REPITA ATÉ é a negativa da condição do 
ENQUANTO FAÇA, ou seja, ao passo que o ENQUANTO FAÇA 
questiona sobre a permanência no laço, o REPITA ATÉ 
questiona sobre a sua saída do laço. 
IMPORTANTE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
 
1.3 Repetição iterativa 
 
Como já dissemos anteriormente, uma repet ição iterativa é o contrário da 
interativa, ou seja, trata-se de uma estrutura repetitiva que não interage 
com o usuário. O exemplo que vimos anteriormente é tipicamente 
interativo, pois o laço pede algo a ser digitado ou ido a cada looping. 
Mas, se já soubermos previamente quantos loopings o laço percorrerá até 
chegar a seu termo? Por exemplo, imagine que precisamos elaborar um 
algoritmo que calcule o somatório de todos os números pares até um 
determinado número digitado pelo usuário. 
Usando os artifícios que já aprendemos, podemos elaborar o seguinte 
algoritmo: 
 ALGORITMO 
 VAR 
 N, C, S: INTEIRO 
 LEIA (N) 
 C  2 
 REPITA 
 S  S + C 
 C  C + 2 
 ATÉ C > N 
 ESCREVA (“O somatório é ”, S) 
 FIMALGORITMO 
Exemplo 5 
 
Usando os artifícios que já aprendemos, podemos elaborar o seguinte 
algoritmo: 
 
Figura 5 - Algoritmo que calcula a soma de todos os números pares até N. Fonte: o autor 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
Para este tipo de situação, existe uma estrutura repetitiva iterativa que 
se adequa perfeitamente ao que se pede: trata -se do PARA FAÇA. 
 
1.3.1 PARA FAÇA 
 
A sintaxe do PARA FAÇA é a seguinte: 
PARA <variável> DE <inicial> ATÉ < limite> [PASSO <incremento>] FAÇA 
 <instrução-1> 
 <instrução-2> 
 ... 
 <instrução-N> 
FIMPARA 
 
Vamos reescrever o algoritmo do exemplo anterior, substituindo a 
estrutura REPITA ATÉ por uma PARA FAÇA? 
 ALGORITMO 
 VAR 
 N, C, S: INTEIRO 
 LEIA (N) 
 PARA C DE 2 ATÉ N PASSO 2 FAÇA 
 S  S + C 
 FIMPARA 
 ESCREVA (“O somatório é ”, S) 
 FIMALGORITMO 
 
Veja como o algoritmo ficou menor com a estrutura PARA FAÇA ! A 
variável C, quanto parametrizada na estrutura PARA FAÇA, sofre um 
incremento automático de 2 até N, de 2 em 2. Isto dispensa a instrução 
de contagem que havíamos programado. 
 
 
 
 
 
 
Observe que a cláusula PASSO da estrutura repetitiva 
PARA FAÇA está entre colchetes. Isto significa que ela é 
opcional. Se omitida da estrutura PARA FAÇA, o 
incremento sofrido pela variável contadora será de +1. 
NOTA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
Testando no VisuALG, teremos o seguinte código para esta estrutura: 
 
Figura 6 - Estrutura repetitiva iterativa usando o PARA FAÇA. Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Acesse a documentação oficial do VisuALG, no que concerne às 
estruturas repetitivas, disponível neste link e tenha acesso: 
http://www.apoioinformatica.inf.br/produtos/item/14-comandos-de-
repeticao (Acesso em 22/10/2017). 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na modalidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
http://www.apoioinformatica.inf.br/produtos/item/14-comandos-de-repeticao
http://www.apoioinformatica.inf.br/produtos/item/14-comandos-de-repeticao
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 16 
 
 
Bibliografia 
 
Apoio Informática. (20 de Out de 2017). As funções do VisuALG versão 2.0 . Fonte: 
Apoio Informática: http://www.apoioinformatica.inf.br/produtos/item/30-as-
funcoes-do-visualg-versao-2-0 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 17 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ESTRUTURAS 
REPETITIVAS COM 
CADEIAS DE 
CARACTERES 
 
 
 
 
 
 
AULA 11 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computaçãopela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Si lva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 ESTRUTURAS REPETITIVAS COM CADEIAS DE CARACTERES ....................................... 6 
1.1 Relembrando funções caractere ............................................................................ 6 
1.2 Problemas envolvendo pesquisa ............................................................................ 7 
Considerações Finais ................................................................................................ 13 
Atividades de Autoaprendizagem .............................................................................. 13 
Questionário Avaliativo ............................................................................................ 13 
Bibliografia .............................................................................................................. 14 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Estruturas Repetitivas com Cadeias de 
Caracteres 
 
INTRODUÇÃO: 
Como dissemos anteriormente, ao avançarmos nos estudos dos 
algoritmos, fica cada vez menor a carga teórica a ser estudada e, por 
outro lado, maior fica a necessidade de praticarmos . Ao longo desta aula 
iremos retomar nossos conhecimentos acerca das estruturas repetitivas 
que estudamos anteriormente, aplicando-os a novas situações, como por 
exemplo, a manipulação de cadeias de caracteres dentro de variáveis 
alfanuméricas. 
 
1.1 Relembrando funções caractere 
 
Como já abordado anteriormente, também conhecidas como funções 
string, as funções caractere têm por finalidade ler expressões 
alfanuméricas (constantes ou variáveis) e retornar valores ou cadeias de 
caracteres para serem utilizadas em instruções, ou ainda, como 
argumentos de outras funções. 
Na prática, as funções string são importantes para a atividade de 
programação pelas seguintes razões: 
 Muitas vezes necessitamos comparar o valor numérico de uma 
expressão string com o de outra ou atribuirmos tal valor a uma 
variável numérica. 
 Também é comum precisarmos isolar parte de uma variável string. 
OBJETIVO: 
Ao término desta aula você será capaz de aplicar estruturas de repetição 
em soluções algorítmicas envolvendo cadeias de caracteres e variáveis 
alfanuméricas. 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
São essas as funções string suportadas pelo VisuALG, mas existem 
inúmeras outras, dependendo da linguagem de programação. 
Função Finalidade Exemplo 
Caracpnum() 
Retorna o número inteiro ou real 
equivalente à cadeia de 
caracteres ou expressão 
alfanumérica informada como 
argumento da função, no caso, 
PALAVRA. 
Var 
PALAVRA: caractere 
RESUTADO: inteiro 
PALAVRA  “1000” 
RESULTADO  CARACPNUM(PALAVRA) + 2000 
ESCREVA RESULTADO 
Numpcarac() 
Retorna uma cadeia de 
caracteres contendo a 
representação alfanumérica de 
NUMERO. Esta função faz 
exatamente o contrário da 
Caracpnum(), ou seja, converte 
um NUMERO em uma String. 
Var 
NUMERO: inteiro 
RESUTADO: caractere 
NUMERO  1000 
RESULTADO  NUMPCARAC(NUMERO) + “ reais” 
ESCREVA RESULTADO 
Compr() 
Retorna um valor numérico 
inteiro correspondente ao 
tamanho da variável, constante 
ou expressão FRASE. Em outras 
palavras, essa função serve para 
contar quantos caracteres 
existem na expressão, constante 
ou variável passada como 
argumento da função. 
Var 
FRASE: caractere 
RESUTADO: inteiro 
FRASE  “Há mais brilhos em nossos olhos que 
estrelas no céu” 
RESULTADO  COMPR(FRASE) 
ESCREVA RESULTADO 
Copia() 
Retorna uma cadeia de 
caracteres contendo uma cópia 
parcial de FRASE, a partir do 
caractere situado na posição 
INICIO, contendo TAMANHO 
caracteres a partir daquela 
posição. Os caracteres são 
numerados da esquerda para a 
direita, começando de 1. 
Var 
FRASE: caractere 
RESUTADO: caractere 
FRASE  “Há mais brilhos em nossos olhos que 
estrelas no céu” 
RESULTADO  COPIA(FRASE, 9, 7) 
ESCREVA RESULTADO 
 
Tabela 1: Principais funções string do VisuALG. Fonte: o autor. 
 
1.2 Problemas envolvendo pesquisa 
 
Você já se perguntou como o buscador da Google consegue analisar de 
forma tão eficiente o que escrevemos na barra de pesquisa? O algoritmo 
de busca da Google é considerado um dos marcos revolucion ários do 
mundo digital contemporâneo, tendo chegado a dar origem a toda uma 
ciência conhecida hoje como Marketing de Buscas, entre outras 
terminologias técnicas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
Claro que não iremos abordar nem 
um por cento de toda a genialidade 
empregada no algoritmo da Google, 
mas certamente iremos começar a 
entender como ele o sistema de 
buscas consegue ter acesso às 
partes dos conteúdos que digitamos 
na barra de pesquisa. 
E para começar, vamos imaginar um 
algoritmo capaz de ler uma letra ou 
símbolo qualquer e encontrá-lo 
dentro de um texto digitado, 
informando ao usuário em que 
posição do texto ele se encontra. 
Caso o caractere não seja 
localizado, a mensagem “Caractere não encontrado no texto” deve ser 
exibida. Do contrário: “Encontrado o caractere na posição #”, onde # é a 
posição numérica do caractere da esquerda para a direita. 
 
ALGORITMO 
 VARTEXTO, SIMBOLO: CARACTERE 
 POSIC, IND: INTEIRO 
 ESCREVA “Digite um texto: ” 
 LEIA TEXTO 
 ESCREVA “ – Agora digite uma letra ou algarismo a ser pesquisado: ” 
 LEIA SIMBOLO 
 PARA IND DE 1 ATÉ COMPR(TEXTO) FAÇA 
 SE COPIA(TEXTO, IND, 1) = SIMBOLO ENTÃO 
 POSIC  IND 
 FIMSE 
 FIMPARA 
 SE POSIC = 0 ENTÃO 
 ESCREVA “Caractere não encontrado no texto” 
 SENÃO 
 ESCREVA “Encontrado o caractere na posição ”, POSIC 
 FIMSE 
FIMALGORITMO 
Exemplo 1 - Algoritmo-exemplo de uma busca de caracteres 
 
Vamos testar este algoritmo no VisuALG? Fazendo as devidas adaptações 
sintáticas, teremos: 
Figura 1 - Barra de pesquisa Google. Fonte: 
https://pixabay.com/pt/google-www-pesquisa-on-line-485611/ 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
 
Figura 2 - Algoritmo-exemplo de pesquisa textual. Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Primeiramente, perceba que lançamos mão da estrutura 
repetitiva PARA FAÇA, percorrendo toda a cadeia de 
caracteres contida dentro da variável TEXTO digitada pelo 
usuário. A variável IND foi criada com o objetivo de 
representar a posição de cada caractere presente dentro 
da variável TEXTO, por isso ela teve seu valor variando de 
1 até o tamanho total da variável TEXTO, expresso pela 
função COMPR(TEXTO). Note que, a cada looping do laço 
PARA FAÇA, foi utilizada uma estrutura condicional SE 
para perguntar se o caractere corrente (posição IND) era 
igual ao caractere pesquisado (presente na variável 
SIMBOLO). Caso afirmativo, este caractere corrente será 
atribuído à variável POSIC, que irá guardar a posição do 
caractere encontrado. Caso o laço chegue até seu término 
sem ter localizado o caractere pesquisado, nada restará 
dentro da variável POSIC exceto seu valor inicial, que é 
ZERO. Por isso, após a cláusula FIMPARA, o algoritmo está 
perguntando se POSIC é igual a zero. Se for, é porque o 
caractere não foi localizado. Do contrário, é só exibir seu 
valor final. 
EXPLICANDO MELHOR 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Vamos testar nosso algoritmo? Primeiramente digite o 
texto: “EU TE AMO” e procure pela letra “A”. Pronto? É só 
rodar o programa no VisuALG. 
 
Figura 3 - Testando com um caractere existente. Fonte: o autor 
E se digitássemos um caractere inexistente no texto? 
Experimente a letra “W” usando o mesmo texto digitado 
anteriormente. O que você vai ver no console do computa? 
 
Figura 4 - Testando com um caractere inexistente no texto. Fonte: o autor. 
 
TESTANDO 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
O que aconteceria se tentássemos localizar a letra “E” na 
frase “EU TE AMO”, utilizando esse algoritmo que acabamos 
de elaborar? Note que essa letra aparece duas vezes na frase 
digitada. 
( ) O algoritmo irá escrever apenas a posição da 
primeira letra “E” que aparece no texto? 
( ) A última posição da letra “E” será a exibida? 
( ) A letra “E” não será localizada no texto? 
( ) O algoritmo vai provocar um erro de sintaxe? 
 
Veja você mesmo: 
Figura 5 - Testando com um caractere em duplicidade. Fonte: o autor. 
 
Perceba que a resposta certa é: 
( X ) A última posição da letra “E” será a exibida? 
REFLITA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Você deve enriquecer cada vez mais o seu algoritmo, 
testando todas as situações possíveis e imagináveis, 
melhorando-o cada vez mais. Depois implemente outras 
informações, como um contador de vezes que o caractere 
pesquisado aparece, com base no exemplo visto 
anteriormente. 
IMPORTANTE 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Em VisuALG existem algumas funções caractere que tratam da 
representação ASCII dos caracteres de uma expressão string. São 
elas: ASC() e CARAC(). Mas você sabe o que é ASCII? Acesse as fontes 
de consulta a seguir e aprenda mais sobre: 
Funções do VisuALG: 
http://www.apoioinformatica.inf.br/produtos/item/30
-as-funcoes-do-visualg-versao-2-0 (Acesso em 
22/10/2017); 
Tabela ASCII: 
http://ic.unicamp.br/~everton/aulas/hardware/tabela
ASCII.pdf 
(Acesso em 22/10/2017). 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na moda lidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
http://www.apoioinformatica.inf.br/produtos/item/30-as-funcoes-do-visualg-versao-2-0
http://www.apoioinformatica.inf.br/produtos/item/30-as-funcoes-do-visualg-versao-2-0
http://ic.unicamp.br/~everton/aulas/hardware/tabelaASCII.pdf
http://ic.unicamp.br/~everton/aulas/hardware/tabelaASCII.pdf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
 
Bibliografia 
 
Apoio Informática. (20 de Out de 2017). As funções do VisuALG versão 2.0 . Fonte: 
Apoio Informática: http://www.apoioinformatica.inf.br/produtos/item/30 -as-
funcoes-do-visualg-versao-2-0 
 
Unicamp. (22 de Out de 2017). Tabela ASCII - Completa - IC/Unicamp. Fonte: 
Unicamp: http://ic.unicamp.br/~everton/aulas/hardware/tabelaASCII.pdf 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
VETORES 
 
 
 
 
 
 
 
 
AULA 12 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Si lva. Sou formado em Licenciatura em 
Ciência da Computação, pela UniversidadeFederal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 VETORES ............................................................................................................... 6 
1.1 Conceito de vetor ................................................................................................. 6 
1.1.1 Sintaxe da declaração de um vetor ............................................................ 8 
1.2 Problemas envolvendo vetores.............................................................................. 9 
Considerações Finais ................................................................................................ 11 
Atividades de Autoaprendizagem .............................................................................. 11 
Questionário Avaliativo ............................................................................................ 11 
Bibliografia .............................................................................................................. 12 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Vetores 
 
INTRODUÇÃO: 
Chegamos a um ponto bastante relevante dos estudos algorítmicos. Ao 
longo da evolução das ciências da computação, sentiu -se necessidade de 
expandir o conceito de variáveis de memória, pois essas somente 
conseguiam armazenar um dado por vez. Por exemplo, se quiséssemos 
guardar os números telefônicos que possuímos, precisar íamos de uma 
variável diferente para cada um desses números. Mas, desse modo, como 
desenvolver uma lógica para ler e imprimir todos os nossos números 
telefônicos de que dispomos? Com os conhecimentos que acumulamos 
até aqui, a única ideia factível é armazenar todos eles em uma variável 
do tipo caractere e, depois, utilizar um algoritmo de pesquisa para 
destrinchar os números telefônicos isoladamente. Complicado? Para ficar 
mais fácil, vamos entender o conceito e as aplicações dos vetores. 
 
 
1.1 Conceito de vetor 
 
Da matemática que estudamos em nosso ensino médio, sabemos que um 
vetor é uma linha ou uma coluna de uma matriz, que por sua vez, 
representa uma tabela que armazena números ou quaisquer outras 
informações organizadas em linhas e colunas. 
Na ciência da computação, o conceito de vetor não difere muito, no 
entanto, está associado à definição de variáveis de memória. 
 
 
OBJETIVO: 
Ao término desta aula você será capaz de entender o conceito e as 
aplicações de vetores em soluções algorítmicas . 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
 
 
 
 
 
 
Assim, por exemplo, se quisermos armazenar as notas que um 
determinado aluno obteve ao longo de um ano letivo, teremos: 
10,0 9,5 6,5 7,0 8,5 4,0 10,0 6,5 
1 2 3 4 5 6 7 8 
 
Tabela 1: Exemplo de vetor contendo notas obtidas por um aluno. Font e: o autor. 
 
Mas, qual a utilidade prática de um vetor como esse? Para entender 
melhor, imagine que precisamos elaborar um algoritmo que leia todas as 
oito notas que um aluno obteve ao longo de seu ano letivo e depois, 
calcule a média aritmética que esse aluno conseguiu ao final do último 
período. Com os conhecimentos acumulados até o momento, teríamos de 
criar 8 variáveis de memória distintas, uma para cada nota. Teríamos 
então um algoritmo bastante extenso e engessado, pois para adaptá-lo a 
qualquer variação em termos de quantidade de notas, teríamos que criar 
ou subtrair mais e mais variáveis. 
 
ALGORITMO 
 VAR 
IND: INTEIRO 
NOTA1, NOTA2, NOTA3, NOTA4, NOTA5, NOTA6, NOTA7, NOTA8, MED: 
REAL 
 ESCREVA “Digite 8 notas: ” 
LEIA NOTA1, NOTA2, NOTA3, NOTA4, NOTA5, NOTA6, NOTA7, NOTA8 
MED <- 
(NOTA1+NOTA2+NOTA3+NOTA4+NOTA5+NOTA6+NOTA7+NOTA8?/8 
 ESCREVA “A média é: ”, MED 
FIMALGORITMO 
Exemplo 1 - Algoritmo que lê e calcula média de oito notas escolares. 
 
Vetores são variáveis de memória homogêneas capazes de 
armazenar mais de um dado simultaneamente, indexando-
os quanto ao seu posicionamento relativo em sua 
estrutura. 
DEFINIÇÃO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
Em VisuALG, teríamos: 
 
 
Figura 1 - Algoritmo-exemplo usando variáveis simples. Fonte o autor. 
 
Mas, se usarmos o conceito de vetor, poderemos economizar a 
declaração de oito variáveis, trocando-as por apenas uma: a variável tipo 
vetor NOTAS[]. 
 
1.1.1 Sintaxe da declaração de um vetor 
 
Para declarar uma variável do tipo vetor em um algoritmo (compatível 
com a linguagem VisuALG), tem-se: 
 
<nome da variável>: VETOR [1..#] DE <tipo da variável> 
 
Exemplos: 
 
VAR 
NOTAS: VETOR [1..8] DE REAL 
Uma vez declarada, uma variável , do tipo vetor, pode ser utilizada 
livremente, da mesma maneira que uma variável simples, tendo , porém, 
o cuidado de sempre se referir a um de seus elementos, e não a ela como 
um todo. Assim, para atribuirmos uma nota 9,0 ao quinto elemento do 
vetor NOTAS, teremos: 
NOTAS[5]  9.0 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1.2 Problemas envolvendo vetores 
 
Lembra do último algoritmo que construímos? Aquele que lê 8 notas, 
calcula e exibe a média? Que tal reescrevê-lo envolvendo um vetor? 
 
ALGORITMO 
VAR 
IND: INTEIRO 
MED: REAL 
NOTAS: VETOR [1..8] DE REAL 
PARA IND DE 1 ATÉ 8 FAÇA 
 LEIA NOTAS[IND] 
 MED  MED + NOTAS[IND] 
Ao número 5 (“cinco”) que usamos entre colchetes damos 
o nome de índice do vetor, que referencia seu quinto 
elemento. Cada elemento de um vetor se comporta como 
uma variável simples, ou seja, pode receber valores 
atribuídos e participar como operandos em todo e 
qualquer tipo de expressão, respeitando sempre o seu 
tipo. 
EXPLICANDO MELHOR 
Sendo uma variável homogênea, o vetor não pode ter 
elementos de diferentes tipos.Em outras palavras, uma 
vez declarado como numérico inteiro, todos os seus 
elementos só poderão receber valores numéricos inteiros. 
No entanto, em algumas linguagens de programação, 
como o Visual Basic, os vetores são tratados como 
variáveis heterogêneas, podendo receber dados de 
diferentes tipos para seus elementos. 
IMPORTANTE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
FIMPARA 
 ESCREVA “A média é: ”, MED/8 
FIMALGORITMO 
Exemplo 2 - O mesmo algoritmo usando vetor em vez de variáveis simples. 
 
Vamos testar esse programa usando o VisuALG? 
Recorremos aqui à estrutura de repetição FAÇA 
PARA, onde, a cada looping do laço, o 
algoritmo recebeu uma nota do aluno e, ao 
mesmo tempo, acumulou-o na variável MED. 
Após o término do laço, foi só exibir o valor 
acumulado das notas dividido por oito notas, o 
que resulta na média aritmética das oito notas 
digitadas. 
Note que a principal vantagem desse método 
está na flexibilidade do algoritmo, que, com 
pequenas alterações, funcionará para qualquer 
quantidade de notas a serem digitadas. 
E então! Gostou de trabalhar com vetores? A 
partir agora é só praticar e praticar. Existe uma 
infinidade de situações onde os vetores são 
perfeitamente aplicáveis. Por exemplo, que tal 
incrementar este algoritmo que acabamos de 
construir, deixando a quantidade de notas 
variável? 
Para fazer isto, basta incluir uma linha de 
instrução solicitando este quantitativo do usuário, logo no início do 
algoritmo. 
 
 
 
 
 
 
Figura 2 - Testando no VisuALG. Fonte: o autor. 
Enriquecer cada vez mais o seu algoritmo, testando todas 
as situações possíveis e imagináveis, melhorando-o cada 
vez mais. 
IMPORTANTE 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Você é daqueles que mal pode esperar para avançar nos estudos? 
Então acesse este material de aprofundamento sobre Vetores e 
Matrizes, disponível no link: 
http://www.ouropreto.ifmg.edu.br/tp/slides/03-vetor-e-matriz (Acesso 
em 22/10/2017). 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na moda lidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
http://www.ouropreto.ifmg.edu.br/tp/slides/03-vetor-e-matriz
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
Bibliografia 
 
LOPES, A. (22 de Out de 2017). Vetores e Martrizes - IFMG - Campus Ouro Preto. 
Fonte: IFMG - Instituto Federal de Minas Gerais: 
http://www.ouropreto.ifmg.edu.br/tp/slides/03-vetor-e-matriz 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MATRIZES 
 
 
 
 
AULA 13 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Silva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 MATRIZES .............................................................................................................. 8 
1.1 Conceito de matriz ................................................................................................ 8 
1.1.1 Sintaxe da declaração de matrizes .......................................................... 10 
1.2 Problemas envolvendo matrizes .......................................................................... 11 
Considerações Finais ................................................................................................ 14 
Atividades de Autoaprendizagem .............................................................................. 14 
Questionário Avaliativo ............................................................................................ 14 
Bibliografia ..............................................................................................................15 
 
 
 
 
 
Trilha de Aprendizagem 
 
Olá. Meu nome é Andréa César. Sou responsável pela direção editorial 
deste livro didático e de todos os demais recursos relacio nados com a sua 
trilha de aprendizagem. Você está iniciando seus estudos sobre LÓGICA 
DE PROGRAMAÇÃO, e o nosso objetivo é auxiliar você no desenvolvimento 
das competências necessárias ao seu exercício profissional. Para isto, 
distribuímos os conteúdos didáticos deste livro em quatro semanas de 
estudo, onde, em cada uma delas, haverá uma competência a ser 
construída. Cada uma dessas competências será desenvolvida por meio 
de quatro atividades de estudo, que podemos chamar de “aulas”. Em 
cada aula, você terá uma introdução ao tema abordado, os objetivos a 
serem alcançados, uma atividade de autoaprendizagem proposta e uma 
lista de exercícios a serem respondidos. Quer saber quais serão as 
competências que você irá desenvolver ao longo dessas quatro semanas 
de estudo? Então vamos a elas: 
 Compreender os conceitos fundamentais da ciência da computação, 1.
sobretudo no que concerne a softwares e programação de 
computadores. 
 Desenvolver algoritmos estruturados envolvendo operações com 2.
variáveis e comandos condicionais simples. 
 Utilizar estruturas condicionais encadeadas e iterativas, além de 3.
efetuar operações envolvendo vetores. 
 Trabalhar com matrizes e modulação de algoritmos, como 4.
procedimentos e funções. 
 
Ao longo desta semana iremos desenvolver a competência de número: 4. 
Vamos arregaçar as mangas? Ao trabalho! 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
4ª SEMANA DE ESTUDOS 
INTRODUÇÃO: 
hegamos à reta final de nossos estudos. Ao longo desta 
semana ampliaremos o conceito de vetores para matrizes, 
passando, logo em seguida, a estruturas de dados 
heterogêneas, como arquivos sequenciais. Neste momento 
abordaremos as aplicações comerciais mais corriqueiras, como lê-
imprime com totalizações e subtotalizações. E, por fim, aprenderemos a 
modular programas por meio de procedimentos e funções externas. 
Preparado para mais este salto rumo ao seu aprendizado? Conte conosco! 
 
 
 
 
OBJETIVOS: 
 
Ao término desta semana de estudos, você será capaz de: 
 
 Entender o conceito e as aplicações de matrizes em soluções 
algorítmicas. 
 Trabalhar com arquivos de dados na algoritmização das soluções 
comerciais mais corriqueiras. 
 Modular algoritmos por meio de procedimentos. 
 Criar e utilizar funções externas à linguagem de programação. 
 
 
Mãos à obra? Conte com a gente! 
 
 
C 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
1 Matrizes 
 
INTRODUÇÃO: 
Agora que você já sabe manipular dados em vetores, não será difícil 
entender como funcionam as matrizes. Diferentemente de um vetor, que 
só armazena dados em uma única direção, as matrizes são capazes de 
organizar esses dados em duas dimensões: linhas e colunas. Veremos que 
a forma de as manipular quanto à atribuição de valores e envolvimento 
em operações de toda natureza é praticamente a mesma empregada nos 
vetores. Mas, por que matrizes? Que tipos de aplicações os vetores não 
conseguem resolver? É isso que veremos a partir de agora. 
 
1.1 Conceito de matriz 
 
A matemática que estudamos nos ensinou que uma matriz é um 
agrupamento de números organizados por linhas e colunas. Em função 
disto, muito nos foi ensinado como determinantes, diagonais, matriz 
transposta, entre outras operações algébricas. 
Na ciência da computação, o conceito de matrizes não difere muito. A 
diferença é que, além de números, todo e qualquer tipo de dado poderá 
ser armazenado em suas células. 
Assim como nas planilhas eletrônicas, em cada uma dessas células 
podem ser armazenadas informações, porém, no caso das matrizes 
aplicáveis a algoritmos, esses dados precisam ter um único tipo. Essa 
característica faz das matrizes variáveis bidimensionais homogêneas. 
 
 
OBJETIVO: 
Ao término desta aula você será capaz de entender o conceito e as 
aplicações de matrizes em soluções algorítmicas. 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
 
 
 
 
 
 
 
Assim, por exemplo, se quisermos armazenar as notas que um 
determinado aluno obteve ao longo de um ano letivo , juntamente com 
seus respectivos pesos para efeito de cálculo da média ponderada , 
teremos: 
 
 1 2 3 4 5 6 7 8 
1 10,0 9,5 6,5 7,0 8,5 4,0 10,0 6,5 
2 1 1 1 2 1 1 1 2 
 
Tabela 1: Exemplo de matriz contendo notas obtidas por um aluno (linha 1) e seus respectivos pesos 
(linha 2) . Fonte: o autor. 
 
Mas, qual a utilidade prática de uma matriz como essa? Lembra da aula 
sobre vetores? Assim como o uso de um vetor economizou a declaração 
de oito variáveis de memória naquele exemplo, a utilização de uma 
matriz pode economizar a declaração de dois vetores, um para armazenar 
as notas e o outro para armazenar os pesos. 
Desse modo, vamos imaginar que o nosso algoritmo deva coletar as notas 
e os pesos de um aluno e, depois, calcule a média ponderada que esse 
aluno conseguiu ao final do último período. 
 
 
Matrizes são variáveis de memória heterogêneas capazes 
de armazenar mais de um dado simultaneamente, 
indexando-os quanto ao seu posicionamento relativo em 
sua estrutura por meio de duas dimensões: linha e coluna . 
Por isso são conhecidas como variáveis bidimensionais. 
DEFINIÇÃO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
 
 
 
 
 
 
 
 
 
 
1.1.1 Sintaxe da declaração de matrizes 
 
O VisuALG chama matrizes como vetores, com a diferença de adicionar 
mais uma dimensão para armazenagem de dados. Em termos práticos, 
uma matriz de L linhas e C colunas é declarada da seguinte forma em 
VisuALG: 
<nome da variável>: VETOR [1..L, 1..C] DE <tipo da variável> 
 
Exemplos: 
VAR 
NOTASEPESOS: VETOR [1..2, 1..8] DE REAL 
 
Assim como no caso dos vetores, uma vez declarada, uma matriz pode ser 
utilizada livremente, da mesma maneira que uma variável simples, tendo, 
porém, o cuidado de sempre se referir a um de seus elementos, e não a 
ela como um todo. Assim, para atribuirmos a nota 8,5 e o peso 1,0 aos 
elementos localizados na quinta coluna e nas primeira e segunda linhas, 
respectivamente, da matriz NOTASEPESOS, teremos: 
NOTASEPESOS[1,5]  8.5 
NOTASEPESOS[2,5]  1.0 
MÉDIA = 
NOTA1 ∗ PESO1 + ⋯ + NOTAn ∗ PESOn
PESO1 + ⋯ + PESOn
 
Você sabe o que é uma média ponderada? Essa 
grandeza matemática é bastante utilizada quando se 
quer obter uma média onde alguns números devem 
ter mais importância que outros. Assim, no caso das 
oito notas obtidas pelo aluno, sempre as finais devem 
valer o dobro das anteriores, por isso precisamos 
aplicar a média ponderada ao invés da média 
aritmética. 
EXPLICANDO MELHOR 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1.2 Problemas envolvendo matrizes 
 
Retomando o nosso exemplo anterior, vamos incrementar o algoritmo 
aplicando a média ponderada ao invés da aritmética? Para isto 
precisamos definir a matriz NOTASEPESOS para armazenar as oito notas 
na primeira linha e os oito pesos das respectivas notas na segunda linha. 
Observe atentamente a lógica utilizada e tente identificar pontos de 
melhoria neste algoritmo proposto. 
ALGORITMO 
VAR 
IND: INTEIRO 
MED, PESO: REAL 
NOTASEPESOS: VETOR [1..2, 1..8] DE REAL 
PARA IND DE 1 ATÉ 8 FAÇA 
 LEIA NOTASEPESOS [1, IND] 
 LEIA NOTASEPESOS [2, IND] 
 MED  MED + NOTASEPESOS [1, IND] * NOTASEPESOS [2, IND] 
 PESO  PESO + NOTASEPESOS [2, IND] 
FIMPARA 
ESCREVA “A média ponderada é: ”, MED/PESO 
FIMALGORITMO 
 
Exemplo 1 - O algoritmo para cálculo de média ponderada usando matriz em vez de vetores.Sendo uma variável homogênea, a matriz não pode ter 
elementos de diferentes tipos. Em outras palavras, uma 
vez declarada como numérica inteira, todos os seus 
elementos só poderão receber valores numéricos inteiros. 
No entanto, em algumas linguagens de programação, 
como o Visual Basic, as matrizes são tratadas como 
variáveis heterogêneas, podendo receber dados de 
diferentes tipos para seus elementos. 
IMPORTANTE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
Vamos fazer pequenas adaptações para testar no VisuALG? 
 
Figura 1 - Exemplo 1 em VisuALG. Fonte: o autor. 
 
Executando o algoritmo no VisuALG, obteremos o resultado ilustrado na 
figura 2 (ao lado). Como podemos observar, o laço que implementamos 
pedirá a nota e o peso da nota a cada looping. Note ainda que utilizamos 
duas variáveis acumuladoras, uma para a soma dos produtos entre as 
notas e seus respectivos pesos, e a outra somente para acumular a soma 
dos pesos. No final do laço, a média pôde ser obtida dividindo o 
acumulador MED pelo PESO. 
Para visualizar o conteúdo da matriz que acabamos de alimentar com 
esse algoritmo, basta olhar para o painel localizado no canto superior 
direito da tela do VisuALG. Lá você poderá conferir o valor inserido em 
cada uma das células. 
Figura 2 - Resultado do teste. Fonte: o autor. 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
 
Figura 3 - Painel de monitoramento das variáveis de memória. Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
Os dois últimos problemas-exemplos que 
algoritmizamos utilizaram variáveis compostas 
(vetores e matrizes) como meio de armazenar vários 
dados sem perdê-los. Porém, a cada digitação de 
dados para os elementos dessas variáveis nós 
acumulamos seus valores para, somente depois, 
calcularmos a média. 
Poderíamos não ter usado vetores e matrizes para 
resolver os problemas anteriores? 
A resposta é sim, uma vez que não recorremos 
posteriormente aos conteúdos dos elementos do vetor ou 
da matriz. No entanto, para processar os dados digitados 
após o término do laço, vetores e matrizes são sim 
importantes, pois sem eles os dados digitados serão 
atualizados a cada novo looping. 
REFLITA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Lembra do material que recomendamos na última aula? Além de um 
aprofundamento em vetores, ali também há referência a matrizes. 
Portanto, retome este material e estude mais sobre matrizes: 
http://www.ouropreto.ifmg.edu.br/tp/slides/03-vetor-e-matriz (Acesso 
em 22/10/2017). 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na modalidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
http://www.ouropreto.ifmg.edu.br/tp/slides/03-vetor-e-matriz
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
 Bibliografia 
 
LOPES, A. (22 de Out de 2017). Vetores e Martrizes - IFMG - Campus Ouro Preto. 
Fonte: IFMG - Instituto Federal de Minas Gerais: 
http://www.ouropreto.ifmg.edu.br/tp/slides/03-vetor-e-matriz 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 16 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ARQUIVOS DE DADOS 
 
 
 
 
 
 
 
 
 
AULA 14 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Si lva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 ARQUIVOS DE DADOS ............................................................................................. 6 
1.1 Conceito de arquivos de dados .............................................................................. 6 
1.2 Instruções de manipulação de arquivos de dados ..................................................9 
1.2.1 Abertura de arquivos .............................................................................. 10 
1.2.2 Criação de arquivos ................................................................................ 11 
1.2.3 Leitura de registros ................................................................................ 11 
1.2.4 Gravação de registros ............................................................................. 12 
1.2.5 Regravação de registros .......................................................................... 13 
1.2.6 Deleção de registros ............................................................................... 14 
Considerações Finais ................................................................................................ 16 
Atividades de Autoaprendizagem .............................................................................. 16 
Questionário Avaliativo ............................................................................................ 16 
Bibliografia .............................................................................................................. 17 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Arquivos de dados 
 
INTRODUÇÃO: 
Finalmente chegamos ao ponto de desenvolvermos algoritmos bem 
próximos à realidade que teremos no mundo do trabalho. Praticamente 
todas as aplicações comerciais consistem na leitura e atualização de 
arquivos de dados. Afinal, é lá onde as informações são a rmazenadas em 
caráter definitivo, uma vez que variáveis de memória, vetores e matrizes 
se apagam quando a execução de um programa é encerrada. Ao longo 
desta aula, iremos estudar como podemos processar dados e gerar 
informações a partir do meio físico onde elas estarão armazenadas. 
 
1.1 Conceito de arquivos de dados 
 
Os arquivos de dados podem ser entendidos como uma evolução das 
matrizes. Basicamente três características diferem uns das outras: 
1. Enquanto as matrizes são declaradas com tamanho fixo, sendo -lhes 
atribuídas uma quantidade finita de linhas e colunas, os arquivos de 
dados não possuem um tamanho previamente definido , sendo 
literalmente elásticos. 
2. Enquanto as matrizes são estruturas de dados homogêneas, os 
arquivos de dados são estruturas heterogêneas, ou seja, podem 
armazenar dados de diferentes tipos. 
3. As matrizes são estruturas de dados voláteis, armazenadas na 
memória RAM, enquanto os arquivos residem na memória auxiliar. 
 
OBJETIVO: 
Ao término desta aula você será capaz de trabalhar com arquivos de dados 
na algoritmização das soluções comerciais mais corriqueiras . 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
 
 
 
 
 
 
A forma de organização dos arquivos de dados é semelhante à das 
matrizes, ou seja, os dados são organizados por registros (equivalentes às 
linhas da matriz) e campos de dados (equivalentes às colunas da matriz). 
Diferentemente das matrizes, os dados armazenados em um arquivo não 
são referenciados por linha e coluna, mas sim pelo nome do campo de 
dado que o contém. Este campo de dado se repete em todos os registros 
do arquivo, e o dado acessado sempre deve ser referenciado pelo nome 
do campo atinente ao registro corrente. 
 
 
 
 
 
 
 
 
 
 
Pelo que explicamos até o momento, percebemos o surgimento de 
algumas novas definições, além da de Arquivo de Dados: 
 
Arquivos de dados são estruturas heterogêneas, capazes 
de armazenar um número ilimitado de dados, dados esses 
que são organizados por registros e campos. 
DEFINIÇÃO 
Ao acessar o telefone de um aluno em um arquivo de 
dados intitulado ALUNOS, primeiramente o arquivo deve 
ter todos os seus registros lidos até chegar ao aluno 
desejado. Feito isto, o telefone daquele aluno estará 
contido no campo de dado de nome TELEFONE, por 
exemplo. Se o próximo registro for lido, o conteúdo do 
campo de dado TELEFONE não mais será o do aluno 
anterior, mas sim o do aluno corrente. 
EXPLICANDO MELHOR 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A tabela a seguir ilustra um exemplo de arquivo de dados, com a 
indicação das definições que acabamos de enunciar. 
 
. 
 MATRIC NOME MEDIA TELEFONE 
1 20171001 JOSÉ ADALBERTO FARIAS 8,75 (41)98765-8703 
2 20171002 CAMILA FROGGUER SHRINK 7,25 (41)99887-0944 
3 20171003 AMÉLIA BARROS VIEIRA 6,50 (41)99776-1234 
4 20171004 ZÉLIA DO AMARAL PINHEIROS 4,75 (41)98807-7717 
5 20171005 CYNTHIA RHODES 9,25 (41)99833-3344 
* 
Tabela 1: Exemplo de um arquivo de dados. Fonte: o autor. 
 
 
 
 
Registros de dados são as linhas de um arquivo de dados, 
que devem ser lidos de forma sequencial até que um 
determinado item seja localizado. 
DEFINIÇÃO 
Apenas um registro de um mesmo arquivo pode ser lido de 
cada vez. 
IMPORTANTE 
Campos de dados são variáveis que assumem 
automaticamente os dados do último registro lido de um 
arquivo de dados. 
DEFINIÇÃO 
Ponteiro 
FDA 
Campos de 
dados 
Registros de 
dados 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1.2 Instruções de manipulação de arquivos de dados 
 
 
Agora que já entendemos o que é e para que serve um arquivo de dados, 
inclusive conhecendo a sua estrutura lógica de organização, vamos 
enunciar aqui alguns comandos para declaração, criação, atualização e 
leitura de arquivos de dados. 
 
 
 
 
 
 
 
Ponteiro é um termo que se usa para se referir ao registro 
corrente, ou seja, ao último registro lido do arquivo de 
dados. Em outras palavras, a instrução de leitura de um 
registro é, na realidade, um comando para o ponteiro se 
dirigir ao próximo registro. 
FDA é a sigla normalmente utilizada para se referir ao 
“fim do arquivo”. Trata -se de um registro imaginário 
localizado logo após ao último registro gravado. Para 
efeito do algoritmo, esta sigla consiste em uma função 
lógica interna do interpretador, que será FALSO se o 
registro corrente for um registro válido, e VERDADEIRO se 
o registro corrente se tratar da marca de fim de arquivo. 
 
DEFINIÇÃO 
O VisuALG não dá suporte a arquivos de dados, pelo 
menos até a versão 3, portanto, as instruções e estruturas 
de dados abordadas aqui não poderão ser testadas nele. 
NOTA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
1.2.1 Abertura de arquivos 
 
Em um algoritmo, antes de se utilizar um arquivo de dados, faz -se 
necessário o abrir. Para isto, podemos utilizar o comando ABRIR. 
ABRIR <nome do arquivo> ALIAS <apelido do arquivo> 
 CAMPOS { <campo-1>, <tipo de dado do campo-1>; 
 <campo-2>, <tipo de dado do campo-2>; ... 
 <campo-N>, <tipo de dado do campo-N> } 
 
Assim, antes de utilizar dados do arquivo de alunos que exemplificamos 
anteriormente, precisamos o abrir logo no início do algoritmo, como 
mostra o exemplo a seguir. 
ALGORITMO 
ABRIR “ALUNOS.dat” ALIAS ALUNOS 
 CAMPOS { MATRIC, CARACTERE; 
 NOME, CARACTERE; 
 MEDIA, REAL; 
 TELEFONE; CARACTERE } 
 FIMALGORITMO 
Exemplo 1 - Algoritmo que abre um arquivo. 
 
Note que a cláusula ALIAS permite que se atribua um apelido ao arquivo 
que se deseja abrir. Com isto não há necessidade de nos referirmos ao 
nome completo do arquivo, com extensão e endereço da pasta onde se 
localiza no disco rígido do computador. Depois, a cláusula CAMPOS 
permite que se indique, entre chaves, todos os campos e respectivos tipos 
que compõem um registro desse arquivo. 
 
 
 
 
 
 
 
A ordem com que os campos são declarados é 
importantíssima, pois se houveralguma inversão, os 
dados serão trocados de um campo para outro quando um 
registro desse arquivo for lido. 
IMPORTANTE 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
1.2.2 Criação de arquivos 
 
Caso o arquivo que se deseja manipular não exista, ele pode ser criado 
pelo comando CRIAR, utilizando a seguinte sintaxe: 
CRIAR <nome do arquivo> ALIAS <apelido do arquivo> 
 CAMPOS { <campo-1>, <tipo de dado do campo-1>; 
 <campo-2>, <tipo de dado do campo-2>; ... 
 <campo-N>, <tipo de dado do campo-N> } 
 
Perceba que a sintaxe é a mesma do comando ABRIR. É que, neste caso, 
uma vez criado um arquivo ele estará automaticamente aberto e 
disponível para acesso. 
ALGORITMO 
CRIAR “ALUNOS.dat” ALIAS ALUNOS 
 CAMPOS { MATRIC, CARACTERE; 
 NOME, CARACTERE; 
 MEDIA, REAL; 
 TELEFONE; CARACTERE } 
FIMALGORITMO 
Exemplo 2 - Algoritmo que cria um arquivo. 
 
 
1.2.3 Leitura de registros 
 
Como dissemos anteriormente, ler o registro de um arquivo é 
simplesmente posicionar o ponteiro de leitura para cima de um deles. Ao 
abrir um arquivo, o ponteiro estará posicionado no primeiro registro. 
Assim, os seguintes comandos auxiliam no posicionamento do ponteiro 
de leitura, a saber: 
PULE <número de registros a serem saltados> DE <alias do arquivo> 
 
PULE PARA PRIMEIRO DE <alias do arquivo> 
 
PULE PARA ÚLTIMO DE <alias do arquivo> 
 
Para compreendermos melhor este comando, vejamos o exemplo de 
algoritmo a seguir. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
ALGORITMO 
 ABRIR “ALUNOS.dat” ALIAS ALUNOS 
 CAMPOS { MATRIC, CARACTERE; 
 NOME, CARACTERE; 
 MEDIA, REAL; 
 TELEFONE; CARACTERE } 
 ENQUANTO NÃO FDA(“ALUNOS”) FAÇA 
 ESCREVA NOME, MEDIA 
 PULE 1 DE ALUNOS 
 FIMENQUANTO 
FIMALGORITMO 
Exemplo 3 - Algoritmo que abre, lê e lista o conteúdo de um arquivo até o fim. 
 
Observe que o laço ENQUANTO FAÇA estará sendo processado enquanto 
não seja atingido o final do arquivo. 
Em outras palavras, enquanto a função lógica FDA() não for verdadeira, o 
laço estará em looping. 
 
 
 
 
 
 
1.2.4 Gravação de registros 
 
Quer o arquivo esteja vazio, ou seja, FDA() é verdadeira logo ao abrir o 
arquivo, quer tenha sido atingido o final do arquivo, poderemos incluir um 
novo registro. O comando que permite esta instrução é o GRAVE . 
GRAVE EM <alias do arquivo> 
 
Este comando fará com que seja adicionado um novo registro ao arquivo 
descrito na cláusula <alias do arquivo>. Os dados que serão gravados 
nesse registro serão aqueles contidos ou atribuídos aos seus campos de 
dados. 
A função FDA() é interna da linguagem, e deve ser 
utilizada em estruturas condicionais e/ou repetitivas para 
testar se já chegou o final do arquivo. 
NOTA 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
Por exemplo: se acabamos de ler um determinado registro e, de repente, 
instruímos que seja executado o comando GRAVE, os dados do último 
registro lido serão replicados naquele que está sendo incluído no arquivo. 
Para que isto não ocorra, antes de executar o comando GRAVE, devem ser 
movidos novos dados aos campos de dados declarados no algoritmo, 
como mostra o exemplo a seguir. 
 
ALGORITMO 
 ABRIR “ALUNOS.dat” ALIAS ALUNOS 
 CAMPOS { MATRIC, CARACTERE; 
 NOME, CARACTERE; 
 MEDIA, REAL; 
 TELEFONE; CARACTERE } 
 LEIA MATRIC, NOME, MEDIA, TELEFONE 
 ENQUANTO MATRIC <> “99999999” FAÇA 
 GRAVE EM ALUNOS 
 LEIA MATRIC, NOME, MEDIA, TELEFONE 
 FIMENQUANTO 
FIMALGORITMO 
Exemplo 4 - Algoritmo que inclui um registro no arquivo ALUNOS. 
 
No exemplo acima, começamos por abrir o arquivo “ALUNOS.dat”, 
apelidado de ALUNOS. Feito isto, iniciamos a digitação dos dados de um 
novo aluno nos campos MATRIC, NOME, MEDIA e TELEFONE. Até aqui 
esses dados haviam ficado apenas na memória, até que o comando 
GRAVE foi executado, ordenando que todos os dados atribuídos àqueles 
campos fossem gravados. 
 
1.2.5 Regravação de registros 
 
Vimos que o comando GRAVE adiciona um novo registro ao arquivo . Mas e 
se quisermos simplesmente alterar os dados de um registro? 
REGRAVE EM <alias do arquivo> 
O comando REGRAVE transfere os dados contidos nos campos 
armazenados em memória para o registro corrente. Vamos analisar como 
isto ocorre? 
 
ALGORITMO 
 ABRIR “ALUNOS.dat” ALIAS ALUNOS 
 CAMPOS { MATRIC, CARACTERE; 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
 NOME, CARACTERE; 
 MEDIA, REAL; 
 TELEFONE; CARACTERE } 
 VAR MAT: CARACTERE 
 LEIA MAT 
 ENQUANTO MAT <> MATRIC E NÃO FDA(“ALUNOS”) FAÇA 
 PULE 1 DE ALUNOS 
 FIMENQUANTO 
 SE FDA(“ALUNOS”) ENTÃO 
 ESCREVA “Matrícula de aluno não encontrada” 
 SENÃO 
 ESCREVA “Digite os novos dados para este aluno” 
 LEIA NOME, MEDIA, TELEFONE 
 REGRAVE EM ALUNOS 
 FIMSE 
FIMALGORITMO 
Exemplo 5 - Algoritmo que consulta e altera os dados de um registro do arquivo ALUNOS. 
 
O algoritmo que acabamos de apresentar é capaz de alterar os dados de 
um determinado aluno. Para isto, note que o programa pede que seja 
digitada a matrícula a ser pesquisada no arquivo. 
Através de uma estrutura repetitiva ENQUANTO FAÇA, os registros do 
arquivo ALUNOS começam a ser varridos enquanto não seja localizada a 
matrícula procurada e não seja chegado o final do arquivo. 
Ao ser localizado o registro procurado, perceba que novos dados serão 
digitados pelo usuário e, em seguida, regravados no registro corrente. 
 
1.2.6 Deleção de registros 
 
Para completar as funcionalidades básicas das operações algorítmicas 
envolvendo arquivos de dados, só falta conhecermos o comando DELETE. 
DELETE DE <alias do arquivo> 
 
Este comando fará com que o registro corrente seja excluído do arquivo. 
Em algumas linguagens de programação, esta exclusão é apenas lógica, 
ou seja, os dados permanecem gravados no arquivo e podem ser 
restaurados com comandos específicos. O algoritmo abaixo é um exemplo 
típico de exclusão de registros. 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
ALGORITMO 
 ABRIR “ALUNOS.dat” ALIAS ALUNOS 
 CAMPOS { MATRIC, CARACTERE; 
 NOME, CARACTERE; 
 MEDIA, REAL; 
 TELEFONE; CARACTERE } 
 VAR MAT: CARACTERE 
 LEIA MAT 
 ENQUANTO MAT <> MATRIC E NÃO FDA(“ALUNOS”) FAÇA 
 PULE 1 DE ALUNOS 
 FIMENQUANTO 
 SE FDA(“ALUNOS”) ENTÃO 
 ESCREVA “Matrícula de aluno não encontrada” 
 SENÃO 
 DELETE DE ALUNOS 
 FIMSE 
FIMALGORITMO 
Exemplo 6 - Algoritmo que consulta e deleta um registro do arquivo ALUNOS. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 16 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Dissemos anteriormente que o VisuALG não dá suporte a operações 
com arquivos de dados, no entanto, ele consegue ler e gravar 
arquivos-textos. Conheça esses recursos pelo link: 
http://www.ouropreto.ifmg.edu.br/tp/slides/03-vetor-e-matriz (Acesso 
em 22/10/2017). 
 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na moda lidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente emseu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
http://www.ouropreto.ifmg.edu.br/tp/slides/03-vetor-e-matriz
Lógica de Programação| Izabelly Morais e Max Azevedo | 17 
 
 
Bibliografia 
 
Apoio Informática. (23 de Out de 2017). A Linguagem de Programação do VisuAlg 
- Outros Comandos . Fonte: Apoio Informática: 
http://www.apoioinformatica.inf.br/produtos/item/21-outros-comandos 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 18 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PROCEDIMENTOS 
 
 
 
 
 
 
 
 
 
AULA 15 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono como professora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Si lva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 PROCEDIMENTOS ................................................................................................... 6 
1.1 Conceito de procedimentos .................................................................................. 6 
1.2 Passagem de parâmetros .................................................................................... 10 
Considerações Finais ................................................................................................ 13 
Atividades de Autoaprendizagem .............................................................................. 13 
Questionário Avaliativo ............................................................................................ 13 
Bibliografia .............................................................................................................. 14 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Procedimentos 
 
INTRODUÇÃO: 
A essa altura do campeonato você já deve estar “papando” todo e 
qualquer problema com seus algoritmos, não é? Esperamos que você 
tenha solucionado um montão deles. Mas, se você já resolveu alguns 
daqueles bem “cabeludos”, deve ter percebido que alguns blocos de 
comandos sempre se repetem de um algoritmo para outro. Em particular, 
quando criamos uma série de programas de um mesmo sistema, 
podemos identificar claramente essas sequências redundantes de 
comandos. Para simplificar e encurtar algoritmos extensos e complexos, 
podemos lançar mão de procedimentos. É o que chamamos de 
modulação de algoritmos, e é isto que iremos estudar ao longo desta 
aula. 
 
 
1.1 Conceito de procedimentos 
 
Você já teve a sensação de estar codificando várias vezes as mesmas 
instruções, para fazer as mesmas coisas, em diferentes algoritmos? E se 
pudéssemos substituir essas instruções redundantes por uma única 
instrução? É isto que chamamos de procedimentos, também 
denominados de sub-rotinas. 
 
 
 
 
OBJETIVO: 
Ao término desta aula você será capaz de modular algoritmos por meio de 
procedimentos. 
 
 
Procedimentos ou sub-rotinas são conjuntos de instruções 
que podem ser invocados a partir de pontos distintos de 
um algoritmo. 
DEFINIÇÃO 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
Mas os procedimentos nem sempre são utilizados apenas para reduzir o 
nível de redundância das instruções em um programa. Eles também 
podem servir como subprogramas, a exemplo do que ocorre com sistemas 
cadastrais, como o ilustrado na figura a seguir. 
 
 
Figura 1 - Diagrama de um sistema cadastral. Fonte: o autor. 
 
No exemplo ilustrado acima, temos um programa-mestre intitulado 
“Menu”. Espera-se que este programa ofereça a opção de o usuário digitar 
um número para selecionar a ação desejada, que pode ser: 
1. Cadastramento; 
2. Listagem; 
3. Consulta; ou 
4. FIM. 
 
Dependendo da opção que este usuário digitar, um entre três 
procedimentos pode ser executado. Neste caso, tais procedimentos 
funcionarão como subprogramas, ou seja, o fluxo de execução das linhas 
MENU 
CADASTRAMENTO 
LISTAGEM 
CONSULTA 
INÍCIO 
FIM 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
de comando do programa “Menu” será desviado para um desses 
subprogramas, somente retornando quando este chegar a seu término. 
 
 
 
 
 
 
 
 
 
Para exemplificar melhor o uso dos procedimentos, vamos visualizar 
como ficaria o algoritmo “Menu” no contexto deste pequeno sistema? 
ALGORITMO 
VAR 
OPC: INTEIRO 
 ENQUANTO OPC <> 4 FAÇA 
 ESCREVA “Escolha a sua opção : ” 
 ESCREVA “ 1) Cadastramento; ” 
 ESCREVA “ 2) Consulta;” 
 ESCREVA “ 3) Listagem; ” 
 ESCREVA “ 4) Encerrar; ” 
 LEIA OPC 
 SE OPC = 1 ENTÃO 
 CADASTRAMENTO 
 SENÃO 
 SE OPC = 2 ENTÃO 
 CONSULTA 
 SENÃO 
 SE OPC = 3 ENTÃO 
 LISTAGEM 
 FIMSE 
 FIMSE 
 FIMSE 
 FIMENQUANTO 
FIMALGORITMO 
Exemplo 1 - O algoritmo para seleção de procedimentos, ou menu. 
Perceba que, a cada opção digitada, um procedimento é chamado a 
execução. Após seu fluxo lógico de instruções ser executado, este 
procedimento devolverá o controle de execução ao programa-mestre que 
o invocou. 
CADASTRAMEN
TO 
CONSULTA 
LISTAGEM 
Mas, o que aconteceria se não tivéssemos o recurso 
dos procedimentos a nossa disposição? 
Simplesmente, o programa “Menu” ficaria excessivamente 
longo, dificultando a sua compreensão. E o que é pior: 
toda vez que tivéssemos a necessidade de executar as 
instruções de uma das opções digitadas, teríamos que 
replicar aquelas mesmas instruções em outra parte desse 
mesmo programa. 
REFLITA 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
A linha de comando imediatamente após a chamada deste procedimento 
será executada, o que, neste caso, fará com que uma nova opção seja 
requisitada, até que um “4” seja digitado para finalizar o programa. 
Vamos adaptar este algoritmo para o formato do VisuALG? 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Os três procedimentos chamados pelo 
algoritmo estão salientados em fundo 
amarelo na figura ao lado. Perceba que 
cada um deles declara uma variável de 
nome MENS. Esta variável é privada, ou 
seja, só tem validade para efeito do 
procedimento que a declara. Isto 
significa que ela não pode ser tratada 
pelo algoritmo principal. 
A recíproca não é verdadeira, ou seja, a 
variável OPC, declarada e alimentada no 
algoritmo principal, foi tratada por cada 
um dos procedimentos. Neste caso, 
dizemos que a variável OPC é uma 
variável global, isto é, tem validade em 
todos os procedimentos que porventura 
forem criados pelo programa principal. 
Figura 2 - Algoritmo-exemplo em VisuALG. Fonte: o autor. 
Diferentemente de muitas linguagens, o VisuALG exige 
que os procedimentos sejam declarados e codificados 
dentro do próprio programa que os invoca, logo no início 
do algoritmo, após a declaração das variáveis e antes da 
cláusula INÍCIO. Para facilitar nossos testes, não vamos 
algoritmizar os três procedimentos agora, conforme seus 
objetivos ensejam. Em vez disto, vamos escrever uma 
breve mensagem, só para sinalizar que eles realmente 
estão sendo executados corretamente. Mais adiante você 
pode completar suas codificações. Combinado? 
IMPORTANTE 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
Ao executar este algoritmo, você visualizará o seguinte: 
 
Figura 3 - Monitoramento do teste do algoritmo-exemplo 1. Fonte: o autor. 
 
 
1.2 Passagem de parâmetros 
 
Além de poderem ser chamados à execução a partir de qualquer ponto de 
um algoritmo, os procedimentos também podem receber instruções para 
aplicarem um determinado processamento sobre alguns dados 
repassados pelo programa principal. A esses dados repassados damos o 
nome de parâmetros. 
 
 
 
 
 
 
Para exemplificarmos o uso de parâmetros em um procedimento, vamos 
retomar o programa-exemplo anteriormente ilustrado. Imagine que o 
procedimento LISTAGEM apresente duas opções de relatório, e que, 
dependendo do parâmetro repassado pelo programa-principal, o relatório 
poderá ser um ou outro. 
Parâmetros de um procedimento são dados repassados a 
ele pelo programa principal, os quais ocupam variáveis 
especificamente declaradas para este fim. 
DEFINIÇÃO 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
Bem, primeiramente, vamos codificar esta solução considerando que a 
opção será pelo primeiro relatório. Neste caso, perceba que o algoritmo a 
seguir está repassando ao procedimento LISTAGEM um parâmetro 
numérico igual a 1. 
Como você pode observar, este parâmetro está ocupando uma variável de 
memória intitulada OPCREL, que está sendo tratada pelo comando SE 
presente neste procedimento. 
 
Figura 4 - O mesmo algoritmo, porém, passando parâmetro para o procedimento LISTAGEM. Fonte: o 
autor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
Observe que o parâmetro passado ao procedimento LISTAGEM foi um 
número inteiro, exatamente como declarado internamente dentro do 
procedimento LISTAGEM. Se tivéssemos passado uma constante literal, 
como “1” (entre aspas), teria ocorrido um erro de execução do programa. 
Da mesma forma que um parâmetro pode ser repassado em forma de 
constante, este também pode ser uma variável de memória. 
Veja o resultado da execução deste algoritmo no VisuALG: 
 
Figura 5 - Teste de execução do programa modificado, passando parâmetro ao procedimento 
LISTAGEM. Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Acesse a documentação oficial do VisuALG no que concerne à sintaxe 
da chamada e declaração de um procedimento, disponível pelo link: 
http://www.apoioinformatica.inf.br/produtos/ item/17-procedimentos 
(Acesso em 23/10/2017). 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na moda lidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
 
 
http://www.apoioinformatica.inf.br/produtos/item/17-procedimentos
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14 
 
 
Bibliografia 
 
Apoio Informática. (23 de Out de 2017). A Linguagem de Programação do VisuAlg 
- Outros Comandos . Fonte: Apoio Informática: 
http://www.apoioinformatica.inf.br/produtos/item/21-outros-comandos 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 15 
 
 
 
 
 
Grupo SER Educacional | Lógica de Programação 1 
 
 
 
 
LÓGICA DE PROGRAMAÇÃO 
 Lógica de Programação
 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
FUNÇÕES 
 
 
 
 
 
 
 
 
 
AULA 16 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Diretor Executivo 
DAVID LIRA STEPHEN BARROS 
 
Direção Editorial 
ANDRÉA CÉSAR PEDROSA 
 
Projeto Gráfico 
MANUELA CÉSAR DE ARRUDA 
 
Autor 
IZABELLY MORAIS E MAX AZEVEDO 
 
 
Desenvolvedor 
CAIO BENTO GOMES DOS SANTOS 
 
 
 
 
 
 
 
O Autor 
 
 
Izabelly Morais de Morais 
 
 
Olá. Meu nome é Izabelly Morais. Sou licenciada em Ciência da 
Computação pela Universidade Federal da Paraíba (UFPB), e mestre em 
Ciência da Computação com ênfase em Engenharia de Software e 
Linguagens de Programação pela Universidade Federal de Pernambuco 
(UFPE). Leciono comoprofessora formadora no Instituto Federal de 
Pernambuco (IFPE) e na Faculdade Pitágoras (João Pessoa/PB), onde 
tenho a oportunidade de transmitir minha experiência na área de 
tecnologia e educação. 
 
 
Max André de Azevêdo Silva 
 
Olá. Meu nome é Max Azevêdo Si lva. Sou formado em Licenciatura em 
Ciência da Computação, pela Universidade Federal da Paraíba, e 
mestrando em Ciência da Computação com ênfase em Engenharia de 
Software pela Universidade Federal da Paraíba. Possuo experiência na 
área de desenvolvimento de sistemas web, mobile e jogos eletrônicos. 
Atualmente atuo como Analista de Sistemas. 
 
 
A possibilidade de expor nossos conhecimentos adquiridos ao longo dos 
anos é fantástica! Por isso fomos convidados pela Editora Telesapiens a 
integrar seu elenco de autores independentes. Estamos muito felizes em 
poder ajudar você nesta fase de muito estudo e trabalho. Conte conosco! 
 
 
IZABELLY MORAIS E MAX AZEVEDO 
 
“ 
 
 
Iconográficos 
Olá. Meu nome é Manuela César de Arruda. Sou o responsável pelo 
projeto gráfico de seu material. Esses ícones irão aparecer em sua trilha 
de aprendizagem toda vez que: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
INTRODUÇÃO 
para o início do 
desenvolvimento de 
uma nova 
competência; 
DEFINIÇÃO 
houver necessidade de 
se apresentar um novo 
conceito; 
NOTA 
quando forem 
necessários 
observações ou 
complementações 
para o seu 
conhecimento; 
IMPORTANTE 
as observações 
escritas tiveram 
que ser priorizadas 
para você; 
EXPLICANDO 
MELHOR 
algo precisa ser 
melhor explicado ou 
detalhado; 
VOCÊ SABIA? 
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias; 
SAIBA MAIS 
textos, referências 
bibliográficas e links 
para aprofundamento 
do seu conhecimento; 
REFLITA 
se houver a necessidade 
de chamar a atenção 
sobre algo a ser refletido 
ou discutido sobre; 
ACESSE 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast; 
 
RESUMINDO 
quando for preciso se 
fazer um resumo 
acumulativo das 
últimas abordagens; 
ATIVIDADES 
quando alguma 
atividade de 
autoaprendizagem for 
aplicada; 
TESTANDO 
quando o 
desenvolvimento de 
uma competência for 
concluído e questões 
forem explicadas; 
 
 
Sumário 
1 FUNÇÕES ............................................................................................................... 6 
1.1 Conceito de função ............................................................................................... 6 
1.2 Declaração de uma função .................................................................................... 8 
Considerações Finais ................................................................................................ 12 
Atividades de Autoaprendizagem .............................................................................. 12 
Questionário Avaliativo ............................................................................................ 12 
Bibliografia .............................................................................................................. 13 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 6 
 
 
1 Funções 
 
INTRODUÇÃO: 
Até aqui você já deve ter utilizado várias funções, inúmeras vezes, para 
solucionar os mais diversos tipos de problemas, não é verdade? Mas, e se 
aparecesse um novo problema para o qual não houvesse uma função 
específica como solução? Pensando nisto, a maioria das linguagens de 
programação oferece o recurso da criação de funções externas à 
linguagem, também chamadas de funções internas ao programa. O termo 
“interna” ou “externa”, portanto, depende do referencial. 
 
 
1.1 Conceito de função 
 
Já que aprendemos como funcionam os procedimentos (ou sub-rotinas), 
ficou mais fácil entendermos o que vem a ser função. Podemos afirmar 
que se trata da mesma coisa, com uma diferença básica: os 
procedimentos não recebem parâmetros, mas não retornam nada. Já as 
funções retornam algo em função dos parâmetros recebidos. 
 
 
 
 
 
 
 
OBJETIVO: 
Ao término desta aula você será capaz de criar e utilizar funções externas à 
linguagem para solucionar problemas específicos. 
 
Funções são conjuntos de instruções que podem ser 
invocados a partir de pontos distintos de um algoritmo, 
cuja finalidade é retornar um valor como resultado do 
processamento dos parâmetros recebidos por elas. 
DEFINIÇÃO 
Lógica de Programação| Izabelly Morais e Max Azevedo | 7 
 
 
Para exemplificarmos, vamos imaginar que precisemos criar uma função 
que receba três parâmetros (também chamados de argumentos): 
Um número, uma cadeia de caracteres e um sinal lógico (VERDADEIRO ou 
FALSO). Claro que essas constantes também podem ser variáveis, a 
critério do programador. O primeiro argumento, o número, deve significar 
a quantidade de caracteres que deve ser extraída de uma cadeia de 
caracteres, informado como segundo parâmetro. Por fim, se o terceiro 
argumento for verdadeiro, essa parte da cadeia extraída deverá vir em 
maiúsculo, e, se for falso, em minúsculo. A figura a seguir traz alguns 
exemplos de parâmetros que entram na função e os respectivos retornos. 
 
 
Figura 1 - Diagrama de um sistema cadastral. Fonte: o autor. 
 
No exemplo ilustrado acima, temos vários programas que chamam uma 
mesma função, passando diferentes dados como parâmetros e obtendo, 
diferentes resultados como retorno. Mas, como esses parâmetros são 
passados? Como o retorno é comunicado? Veja o exemplo a seguir. 
 
ALGORITMO “PROGRAMA1” 
VAR PALAV: CARACTERE 
TAMANHO, OPC: INTEIRO 
PROGRAMA1 
FUNÇÃO1 (x, y, z) 
PROGRAMA2 
PROGRAMA3 
1, “palavra”, VERDADEIRO 
“P” 
1, “palavra”, 
FALSO 
“p” 
3, “palavra”, 
FALSO 
“pal” 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 8 
 
 
ESCREVA “Digite uma palavra, a quantidade de caracteres da esquerda 
para a direita A extrair, e o número 1 quiser ver em maiúsculo, ou 2 se 
minúsculo: ” 
LEIA PALAV, TAMANHO, OPC 
SE OPC = 1 ENTÃO 
 ESCREVA FUNÇÃO1(TAMANHO, PALAV, VERDADEIRO) 
SENÃO 
 ESCREVA FUNÇÃO1(TAMANHO, PALAV, FALSO) 
FIMSE 
FIMALGORITMO 
Exemplo 1 
Perceba que o algoritmo do exemplo 1 inseriu a função diretamente 
dentro da sintaxe do comando ESCREVA, o que significa dizer que esta 
função retorna uma cadeia de caracteres que pode ser impressa 
diretamente por este comando. 
Se assim o quiséssemos, poderíamos, ao invés de escrever, atribuir o 
resultado da FUNÇÃO1 diretamente a uma variável, ou inseri -la em um 
comando ou estrutura condicional. 
 
 
 
 
 
 
1.2 Declaração de uma função 
 
Assim como os procedimentos devem ser declarados logo no início do 
algoritmo, também as funções assim o devem. Em VisuALG, por exemplo, 
as funções devem ser declaradas e codificadas dentro do próprio 
programa que as invoca, logo no início do algoritmo, após a declaração 
das variáveis e antes da cláusula INÍCIO. 
A sintaxe da cláusula de declaração de função é a seguinte: 
FUNCAO <nome-de-função> [(<sequência-de-declarações-de-
parâmetros>)]: <tipo-de-dado> 
// Seção de Declarações Internas 
INICIO 
// Seção de Comandos 
FIMFUNCAO 
Se estivéssemos lidando com um procedimento, nada 
disto poderia ser feito, uma vez que uma sub-rotina não 
retorna nada. 
IMPORTANTE 
Lógica de Programação| Izabelly Morais e Max Azevedo | 9 
 
 
O <nome-de-função> obedece às mesmas regras de nomenclatura das 
variáveis. A <sequência-de-declarações-de-parâmetros> é uma sequência 
de cláusulas VAR, opcional, com a seguinte sintaxe: 
 [VAR] <sequência-de-parâmetros>: <tipo-de-dado> 
As variáveis que compõem os parâmetros a serem recebidosdevem ser 
separadas por ponto e vírgula. A presença (opcional) da palavra -chave 
VAR indica passagem de parâmetros por referência; caso contrário, a 
passagem será por valor. 
Por sua vez, <sequência-de-parâmetros> é uma sequência de nomes de 
parâmetros separados por vírgulas. 
O valor retornado pela função será do tipo especificado na sua declaração 
(logo após os dois pontos). Em alguma parte da função (de modo geral, 
no seu final), este valor deve ser retornado através do comando RETORNE. 
De modo análogo ao programa principal, a seção de declaraç ões internas 
começa com a palavra-chave VAR, e continua com a seguinte sintaxe: 
 <lista-de-variáveis> : <tipo-de-dado> 
Vamos a um exemplo? Que tal o mesmo que ilustramos na figura 
anterior? 
FUNCAO FUNCAO1 (X: INTEIRO, Y: CARACTERE, Z: LOGICO): INTEIRO 
INICIO 
SE Z ENTÃO 
 RETORNE MAIUSC(COPIA(Y; 1; X)) 
SENÃO 
 RETORNE MINUSC(COPIA(Y; 1; X)) 
FIMSE 
FIMFUNCAO 
Exemplo 2 
No programa principal, teríamos as seguintes adequações para comportar 
a função FUNCAO1: 
ALGORITMO “PROGRAMA1” 
VAR PALAV: CARACTERE 
TAMANHO, OPC: INTEIRO 
FUNCAO FUNCAO1 (X: INTEIRO, Y: CARACTERE, Z: LOGICO): INTEIRO 
INICIO 
SE Z ENTÃO 
 RETORNE MAIUSC(COPIA(Y; 1; X)) 
SENÃO 
 RETORNE MINUSC(COPIA(Y; 1; X)) 
FIMSE 
FIMFUNCAO 
INICIO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 10 
 
 
ESCREVA “Digite uma palavra, a quantidade de caracteres da esquerda 
para a direita A extrair, e o número 1 quiser ver em maiúsculo, ou 2 se 
minúsculo: ” 
LEIA PALAV, TAMANHO, OPC 
SE OPC = 1 ENTÃO 
 ESCREVA FUNÇÃO1(TAMANHO, PALAV, VERDADEIRO) 
SENÃO 
 ESCREVA FUNÇÃO1(TAMANHO, PALAV, FALSO) 
FIMSE 
FIMALGORITMO 
Exemplo 3 
 
Vamos adaptar este algoritmo para a sintaxe do VisuALG? 
 
 
 
 
 
 
 
 
Adaptando o código em VisuALG, teremos: 
 
 
Figura 2 - Exemplo 2 adaptado para as limitações do VisuALG. Fonte: o autor. 
O resultado é o seguinte: 
Mas testar este algoritmo no VisuALG, teremos que mexer 
um pouco na lógica, pois o VisuALG não aceita parâmetros 
de diferentes tipos em uma função. Então, para fazê-lo 
funcionar, o algoritmo da função FUNCAO1 irá receber um 
número no formato alfanumérico, uma palavra (assim 
como já estava antes) e não mais um terceiro parâmetro. 
IMPORTANTE 
Lógica de Programação| Izabelly Morais e Max Azevedo | 11 
 
 
 
Figura 3 - Resultado da execução do exemplo anterior. Fonte: o autor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 12 
 
 
Considerações Finais 
SAIBA MAIS: 
 
Acesse a apostila do IFCE, Iguatu/CE, que contém um manual 
completo do VisuALG, disponível pelo link: 
www.netsoft.inf.br/aulas/4_ECI_Introducao_a_Informatica/Visualg2_man
ual.pdf (Acesso em 24/10/2017). 
 
 
Atividades de Autoaprendizagem 
ATIVIDADES: 
Pronto para consolidar seus conhecimentos? Leia atentamente o 
enunciado de sua atividade de autoaprendizagem proposta para esta 
aula. Se você está fazendo o seu curso presencialmente, é só abrir o 
seu caderno de atividades. Se você estiver cursando na moda lidade de 
EAD (Educação a Distância), acesse a sua trilha de aprendizagem no seu 
ambiente virtual e realize a atividade de modo online. Você pode 
desenvolver esta atividade sozinho ou em parceria com seus colegas de 
turma. Dificuldades? Poste suas dúvidas no fórum de discussões em seu 
ambiente virtual de aprendizagem. Concluiu a sua atividade? Submeta o 
resultado em uma postagem diretamente em seu ambiente virtual de 
aprendizagem e boa sorte! 
 
 
Questionário Avaliativo 
TESTANDO: 
Chegou a hora de você provar que aprendeu tudo o que foi abordado ao 
longo desta aula. Para isto, leia e resolva atentamente as questões do 
seu caderno de atividades. Se você estiver fazendo este curso a 
distância, acesse o QUIZ (Banco de Questões) em seu ambiente virtual 
de aprendizagem. 
 
 
 
http://www.netsoft.inf.br/aulas/4_ECI_Introducao_a_Informatica/Visualg2_manual.pdf
http://www.netsoft.inf.br/aulas/4_ECI_Introducao_a_Informatica/Visualg2_manual.pdf
Lógica de Programação| Izabelly Morais e Max Azevedo | 13 
 
 
Bibliografia 
 
RODRIGUES, A. (2013). Manual do VisuALG. Iguatu: IFCE. Acesso em 24 de Out de 
2017, disponível em 
www.netsoft.inf.br/aulas/4_ECI_Introducao_a_Informatica/Visualg2_man
ual.pdf 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lógica de Programação| Izabelly Morais e Max Azevedo | 14

Mais conteúdos dessa disciplina