Buscar

ALGORITMOS E PROGRAMAÇÃO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 653 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 653 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 653 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

E-BOOK
ALGORITMOS E 
PROGRAMAÇÃO
Introdução a Lógica de Programação 
APRESENTAÇÃO
A base fundamental de um programa de computador são os algoritmos e a lógica de 
programação. Esses conceitos, além de serem bases da programação de computadores, 
desenvolvem habilidades, como raciocínio lógico, que podem ser utilizadas na resolução dos 
mais diversos problemas das mais diversas áreas. 
Nesta Unidade de Aprendizagem, você estudará a construção de um algoritmo, os conceitos 
básicos envolvidos e como funciona a execução de um programa de computador. 
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Conhecer o conceito de algoritmo: apresentação, exemplos e definição.•
Entender os conceitos de comandos, variáveis, expressões e instruções.•
Compreender as formas de execução de um programa: compilação e interpretação.•
DESAFIO
Acompanhe o seguinte caso de uso de um algoritmo:
Sua atividade é desenvolver um algoritmo que ajude na seguinte tarefa de pesquisa: qual sistema 
o celular usa? iOS ou Android? Todo dia a pesquisa deverá recomeçar, mas os valores do dia 
anterior deverão ser guardados.
Este desafio consiste em você escrever quais os passos necessários para realizar essa pesquisa. 
Você deverá escrever um algoritmo que ajude na coleta de dados e na análise deles: quantas 
pessoas foram entrevistadas, qual a quantidade de usuários de um sistema e de outro? Qual a 
idade média dos seus entrevistados?
Uma dica é escrever o algoritmo da forma mais detalhada possível. Lembre-se de que não existe 
certo e errado; o importante é atingir o objetivo. O foco desta atividade é um algoritmo, não um 
programa.
INFOGRÁFICO
Sabendo que um algoritmo nada mais é do que um conjunto de passos para se realizar uma 
tarefa, é importante compreender que não existe uma forma única de algoritmo, pois há várias 
formas de se cumprir um mesmo objetivo.
Acompanhe no infográfico como desenvolver um algoritmo.
CONTEÚDO DO LIVRO
Aprender a programar é uma das habilidades mais interessantes da computação. Para que esse 
aprendizado seja consistente, é importante compreender toda a lógica que envolve o 
desenvolvimento de um programa: lógica de programação, conceitos básicos e execução de um 
programa são tópicos que introduzirão você ao universo da programação.
Leia o capítulo Algoritmos e lógica de programação, da obra Algoritmos de programação, base 
teórica para esta Unidade de Aprendizagem.
Boa leitura.
ALGORITMOS DE 
PROGRAMAÇÃO
Marcela Santos
Introdução à lógica 
de programação
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 � Conhecer o conceito de algoritmo: apresentação, exemplos e definição.
 � Entender os conceitos de comandos, variáveis, expressões e instruções.
 � Compreender as formas de execução de um programa: compilação 
e interpretação.
Introdução
Já parou para pensar como é feito um jogo, um site da Internet ou um 
aplicativo do seu dispositivo móvel? Cada vez mais, usamos tecnologia 
desde o nosso trabalho até a nossa diversão. E que tal você aprender 
como os programas são desenvolvidos para poder criar seus próprios 
jogos, sites, etc.? A base fundamental de um programa de computador 
são os algoritmos e a lógica de programação. Esses conceitos, além de 
serem bases da programação de computadores, desenvolvem habilidades, 
como raciocínio lógico, que podem ser utilizadas na resolução dos mais 
diversos problemas nas mais diversas áreas.
Neste capítulo, você vai acompanhar a construção de um algoritmo, 
os conceitos básicos envolvidos e como funciona a execução de um 
programa de computador.
Algoritmo: apresentação, exemplos e definição
Um algoritmo nada mais é do que um conjunto de passos para a realização 
de uma determinada tarefa. O que é importante entendermos é que um algo-
ritmo não precisa ser necessariamente algo ligado à tecnologia. Na realidade, 
o tempo todo estamos criando algoritmos para realizarem diversas tarefas. 
Quer ver um exemplo?
Quando você vai sair de casa a caminho da faculdade, existe uma sequência 
de passos que você realiza, que tem uma ordem. As ordens das coisas que você 
precisa fazer para chegar à faculdade são escolhidas para te ajudar a realizar 
a tarefa: “ir para a faculdade”.
Outros exemplos:
 � Preparar um hambúrguer.
 � Fazer um avião de papel.
 � Trocar o pneu de um carro.
Exemplo — Preparar um hambúrguer
1. Cortar o pão e deixá-lo aberto com as partes de dentro voltadas para cima;
2. lavar a alface e o tomate;
3. fritar o hambúrguer;
4. colocar o hambúrguer sobre uma das partes do pão que está aberta;
5. colocar uma fatia de queijo, uma rodela de tomate e uma folha de alface sobre 
o hambúrguer;
6. fechar o pão com a outra parte que ficou sem nada sobre ela.
Pronto — sanduíche prontinho! Mas podemos fazer algumas perguntas 
sobre essa nossa aventura na cozinha:
 � Existe somente um jeito de fazer esse hambúrguer?
 � A ordem das atividades é importante?
Não existe uma única forma; o importante é que essas atividades sejam 
organizadas de tal forma que a tarefa “preparar um hambúrguer” seja realizada. 
Nesse momento, o importante é fazer, não importando se mais rápido, mais 
gostoso ou com mais recheio. Assim, a ordem é de extrema importância para 
que consigamos chegar ao objetivo final.
Afinal, o que isso tem a ver com computador? Bom, primeiro é preciso 
entender por que o uso de computador para resolução dos mais diversos pro-
blemas e das mais diversas tarefas tornou-se tão imprescindível. Para isso, 
vamos comparar o ser humano a um computador.
Introdução à lógica de programação2
O humano é um ser inteligente, capaz de realizar diversas tarefas, como, 
por exemplo, calcular o valor do desconto de um jogo que está prestes a 
comprar. Já um computador é uma máquina “burrinha”, que só executa o 
que mandamos. Em contrapartida, ele não se cansa. Imagina se você tivesse 
que calcular, durante o dia inteiro, o desconto da venda de uma loja? Poderia 
cansar-se e até cometer um erro, não é mesmo?
Então, é por isso que, desde quando foi criado até hoje, o papel fundamental 
do computador é ajudar o ser humano nas suas tarefas. Mas quem ensina o 
computador o que ele tem que fazer? Esse papel é do ser humano, que o faz 
por meio dos programas. 
Os programas de computador são conjuntos de instruções que o computa-
dor precisa realizar para poder concluir uma determinada tarefa. Então, um 
algoritmo, em computação, também é um conjunto de passos, só que o foco 
é desenvolver um programa de computador. 
Um algoritmo bastante famoso é o utilizado pelo Google, para realizar suas 
buscas. Ele foi desenvolvido a partir de 1995, pelos então estudantes Larry 
Page e Sergey Brin. Imagine que você tenha que realizar uma busca por nome 
em uma agenda telefônica — fica mais fácil se a agenda estiver organizada 
por nome, concorda? Então, os primeiros sistemas de busca ordenavam os 
sites dessa forma, sendo que o grande diferencial do Google foi utilizar um 
algoritmo que ordenasse os sites do mais acessado para os menos acessados. 
Dessa forma, a probabilidade do que o usuário estava procurando estar entre 
os primeiros é maior.
Os algoritmos estão em várias áreas — medicina, bolsa de valores, mo-
bilidade urbana. Seu uso está cada vez mais difundido, e aprender como 
escrever um algoritmo bem como torná-lo mais eficiente é uma habilidade 
muito importante para os profissionais das mais diversas áreas.
Algoritmo pode ser definido como uma sequência de passos que visam a atingir um 
objetivo definido (FORBELLONE; EBERSPÄCHER, 2005).
3Introdução à lógica de programação
Comandos, variáveis, expressões e instruções
No nosso exemplo do hambúrguer, falta pensarmos em uma coisa: saber 
como escrever e definir quais são os passos necessários. Bom, cada pessoa 
pode definir de um jeito, e isso poderia acontecer também ao escrevermos 
um algoritmo paraum programa de computador, o que tornaria o trabalho 
dos computadores muito mais complicado, pois cada pessoa poderia definir 
esses passos de uma forma. Em computação, costuma-se padronizar grande 
parte dos conceitos envolvidos, e a definição dos passos de um algoritmo 
também foi padronizada.
Por meio de comandos, podemos formar as instruções e as expressões. 
Assim, os comandos são os tijolos da nossa construção; com eles, o computador 
entende o que deve fazer. Escrever um texto na tela, por exemplo, pode ser a 
ação que será executada pelo comando “escrever <texto” que será escrito na tela.
Existem vários tipos de comandos: comandos para atribuição de valor, 
comandos para entrada e saída de dados, comandos para estruturas de seleção 
ou de repetição — vamos conhecer todos eles. Agora, você precisa saber 
que comando denota uma ação (ou um conjunto delas) que o computador irá 
executar, tem forma e segue algumas regrinhas.
Outra definição que usaremos ao longo de todo o nosso curso é a de 
variáveis. Durante a execução de um programa, dados são entregues ao 
computador, que, executando esse programa, modifica os dados e “responde” 
conforme o esperado. 
Exemplo — Operação de saque em um autoatendimento
1. Entrar com os dados de conta e senha; 
2. solicitar qual opção o cliente deseja realizar;
3. se for saque, solicitar o valor a ser sacado;
4. se existir saldo, entregar o dinheiro;
5. se não, mostrar a mensagem de “saldo indisponível” na tela; 
6. encerrar a operação.
Introdução à lógica de programação4
Esse valor que você solicitou é um dado que precisa ser armazenado na 
memória do computador. Essa região da memória do computador, onde guar-
damos, mesmo que temporariamente, o dado, chamamos de “variável”, e, como 
o próprio nome diz, pode sofrer mudança (variação) de valor.
Memória de um computador é o meio físico para armazenar dados temporariamente 
ou permanentemente. Para saber mais, consulte TANENBAUM, 2000.
Para podermos usar as variáveis, precisamos inicialmente criá-las. Em 
programação, a criação de uma variável é chamada de “declaração de uma 
variável”, que pode ser comparada ao ato de etiquetar pequenas gavetas para 
organizar diversos itens. A grande ideia por detrás da variável é que cada 
uma delas tem um nome e um tipo. Assim, somente os dados daquele tipo 
podem ser colocados na sua respectiva variável. Não daria para colocar um 
grampeador em uma gaveta etiquetada com canetas. Veremos mais detalhes 
sobre variável adiante.
Com as variáveis e os comandos, podemos formar as instruções e/ou 
expressões. Uma expressão é uma combinação de variáveis, comandos e 
operadores. Já uma instrução é uma operação única, que é executada pelo 
processador do computador. Assim, o programa de computador é formado por 
várias instruções. Em resumo, as instruções são formadas por comandos e/ou 
variáveis. Todas essas ferramentas são usadas para escrever um programa, 
utilizando o conceito de algoritmo. 
Representação de um algoritmo
Como foi visto, um algoritmo é um conjunto de passos para que uma tarefa seja 
realizada. Esses passos são organizados de forma lógica, a fim de se chegar 
ao objetivo final. Existem várias formas de se representar um algoritmo — até 
agora usamos o português para isso, mas existem representações gráficas: 
fluxograma e diagrama de Chapin. Vamos representar o algoritmo do saque, 
usando o fluxograma da Figura 1:
5Introdução à lógica de programação
Figura 1. Algoritmo do saque.
Fonte: Do autor.
INÍCIO
Solicitar dados
do usuário
Solicitar a opção
de operação
Se for
saque
Solicitar valor
a ser sacado
Saldo 
suficiente?
Mostrar mensagem
de saldo indisponível
Entregar o
valor solicitado
FIM
V
F V
As representações gráficas são mais fáceis de entender devido à sua própria 
natureza. A lógica envolvida fica mais clara, porém é preciso que se aprenda a 
padronização dos itens que podem ser usados. Por esse motivo, ao logo deste 
livro, usaremos o português para a representação dos algoritmos.
Para saber mais sobre a representação de algoritmos, consulte FORBELLONE; EBERS-
PÄCHER, 2005. 
Introdução à lógica de programação6
Execução de um programa: compilação e 
interpretação
Bom, já sabemos que um programa é um conjunto de instruções que são 
entregues ao computador para que ele realize determinada tarefa. Essa ação 
de realizar uma tarefa em computação chamamos de “execução de um pro-
grama”, e existem duas maneiras de um programa ser executado. Antes de 
passarmos para essa etapa, é importante dizer que os algoritmos, mesmo que 
padronizados, ainda não estão escritos em uma linguagem que o computador 
entenda. Existem várias linguagens que o computador entende: C, Java, Python 
são exemplos de linguagens de programação. Então, o processo de desenvolver 
um programa passa por estas etapas:
1. Entender o problema ou a tarefa que queremos que o programa execute.
2. Desenvolver um algoritmo.
3. Escrever o algoritmo em uma linguagem de programação — esse ar-
quivo com o algoritmo escrito em uma linguagem de programação é 
chamado de “código-fonte”.
4. Enviar o programa para que o processador o execute, compilando ou 
interpretando o código-fonte.
 ■ Compilar um arquivo é traduzir de uma linguagem para outra. As-
sim, quando compilamos um código-fonte, estamos transformando 
um arquivo escrito em uma linguagem de programação em uma 
linguagem que o processador pode executar, também chamada de 
linguagem de máquina. Exemplos de linguagens compiladas: C, 
C++, Erlang, Haskell.
 ■ Outras linguagens de programação são interpretadas, funcionando 
da seguinte forma: o código fonte é passado para o interpretador, 
que pega cada instrução escrita no código-fonte e a executa de forma 
direta, não realizando uma tradução de todo o código-fonte. Exemplos 
de linguagens interpretadas: Java, Python, Ruby, PHP.
 ■ A maior vantagem de uma linguagem compilada é a velocidade de 
execução. Como, nesse tipo de linguagem, o código-fonte é convertido 
diretamente em uma linguagem de máquina, a execução é mais rápida 
e eficiente quando comparada com uma linguagem interpretada 
especialmente em sistemas onde a complexidade é alta.
 ■ Já as linguagens interpretadas não precisam ser totalmente tradu-
zidas para um código de máquina, pois cada uma das instruções é 
executada diretamente pelo seu interpretador. Logo quando foram 
7Introdução à lógica de programação
inventadas essas linguagens, a velocidade do tempo de execução, 
quando comparadas com as linguagens compiladas, era, sem som-
bra de dúvidas, muito alta e a principal desvantagem quando feita 
essa comparação. Porém, com a invenção da tecnologia just-in-time 
(JIT), essa desvantagem continua existindo, mas bem menor. Essa 
técnica consiste em realizar uma tradução dinâmica, em tempo de 
execução e não antes da execução. Assim, a diferença de execução 
entre linguagens compiladas e interpretadas diminuiu.
 ■ Em contrapartida, um programa compilado precisa ser gerado para 
cada plataforma que for rodar: Windows, Linux, Mac OS. Já um 
programa interpretado pode rodar em qualquer máquina, já que sua 
“interpretação” é feita em tempo de execução, sendo que a única 
necessidade é ter o interpretador na máquina onde esse programa 
será executado. 
Para saber mais sobre JIT, consulte:
https://goo.gl/GjiWhs
FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. Lógica de programação: a construção de 
algoritmos e estrutura de dados. São Paulo: Makron Books, 2005.
TANENBAUM, A. S. Sistemas operacionais. Porto Alegre: Bookman, 2000.
Introdução à lógica de programação8
DICA DO PROFESSOR
Existem várias linguagens de programação no mercado, mas há uma característica muito 
importante que precisa ser levada em consideração na hora da escolha.
No vídeo da Dica do Professor, você terá orientações sobre compiladores e interpretadores, 
ferramentas que nos auxiliam na tradução de um código-fonte.
Conteúdo interativo disponívelna plataforma de ensino!
EXERCÍCIOS
1) Um algoritmo pode ser considerado como um conjunto de passos para realizar 
determinada tarefa.
Imagine que você precisa fazer um avião de papel e propõe para um amigo que cada 
um escreva um algoritmo para realizar essa tarefa. Cada um escreve o seu; vocês 
constatam que eles são diferentes tanto na quantidade de passos como na própria 
descrição dos passos. Depois dessa fase, vocês trocam os algoritmos: você faz o avião 
com o algoritmo escrito pelo seu amigo e vice-versa. Seguindo cada passo, os dois 
conseguem fazer um avião de papel.
O que é possível afirmar sobre seus algoritmos?
A) Algo está errado, pois não é possível ter mais de um algoritmo para resolver a mesma 
tarefa.
B) Não existe algoritmo para fazer algo que não envolva tecnologia. Portanto, estes não são 
algoritmos.
C) Somente quem escreve um algoritmo pode interpretá-lo. Assim, cada um deveria ter feito 
o avião de papel com o seu próprio algoritmo.
D) Não é possível um ser humano escrever um algoritmo para fazer um avião de papel.
E) Os algoritmos escritos estão funcionando bem, visto que atingiram o objetivo: fazer um 
avião de papel.
2) Imagine um jogo de adivinhação de número. O número deve ser sorteado 
aleatoriamente, e o usuário adivinha um valor; se ele acertar, ganha o jogo. Caso 
contrário, o jogo avisa se você adivinhou um número muito grande ou muito 
pequeno. Um possível algoritmo para esse jogo pode ser visto a seguir:
Passo 1 – sortear um número;
Passo 2 – perguntar ao usuário qual número ele adivinhou;
Passo 3 – se for igual ao número sorteado, informar ao usuário que ele ganhou;
Passo 4 – ?
Passo 5 – ?
Escolha a opção que completa o algoritmo com os passos 4 e 5.
A) Passo 4 – se o número adivinhado for menor que o número sorteado, dar a dica para o 
usuário adivinhar um número menor; 
Passo 5 – se o número adivinhado for maior que o número sorteado, dar a dica para o 
usuário adivinhar um número maior.
B) Não é possível, pois é preciso saber o número sorteado para completar o algoritmo.
C) Passo 4 – se o número adivinhado for maior que o número sorteado, dar a dica para o 
usuário adivinhar um número menor; 
Passo 5 – se o número adivinhado for menor que o número sorteado, dar a dica para o 
usuário adivinhar um número maior. 
D) É impossível escrever um algoritmo para esse tipo de jogo de adivinhação.
E) Passo 4 – se o número adivinhado for menor que o número sorteado, dar a dica para o 
usuário adivinhar um número maior; 
Passo 5 – se o número adivinhado for maior que o número sorteado, dar a dica para o 
usuário adivinhar um número maior.
3) Uma variável é uma região de memória que serve para armazenar ________ que estão 
envolvidos(as) num programa. As variáveis são definidas com um ________ e um 
________.
Qual opção completa de forma correta essa afirmação?
A) Dados, nome e tipo.
B) Dados, nome e valor inicial.
C) Textos, tamanho e tipo.
D) Dados, valor inicial e tipo.
E) Letras, nome e tipo.
4) Um programa pode ser executado de duas formas: na primeira, o código-fonte é 
traduzido para a linguagem máquina e logo em seguida executado; na segunda, cada 
uma das instruções é executada de forma direta, sem a necessidade de tradução 
completa do código-fonte.
Em qual das alternativas estão essas duas formas de execução, respectivamente?
A) Interpretação e compilação.
B) Simplificação e execução dinâmica.
C) Compilação e tradução.
D) Compilação e interpretação.
E) Compilação e processamento.
5) Ao comparar o tempo de execução de uma tarefa por um programa de computador 
escrito em linguagem compilada com outro em linguagem interpretada, é possível 
afirmar que:
A) os programas interpretados são mais rápidos que os programas compilados.
B) não existe diferença entre o tempo de execução de programas compilados e interpretados.
C) os programas compilados são mais rápidos que os programas interpretados.
D) não é possível avaliar o tempo de execução de um programa somente sabendo como ele foi 
executado.
E) o tempo de execução de dois programas não pode ser mensurado para fins de análise.
NA PRÁTICA
Rafael é um estudante de medicina que estudou algoritmo e lógica de programação durante o 
ensino médio. Ele está em um dos vários estágios do seu curso e precisa analisar os sintomas de 
um paciente para chegar a um diagnóstico.
Usando seus conhecimentos de lógica de programação, Rafael desenvolve um algoritmo capaz 
de ajudá-lo.
Como Rafael está em estágio, ele tem o auxílio do seu professor, que gostou da ideia e o 
parabenizou pela ótima ferramenta de apoio para os estudantes, salientando que pode ser 
melhorada com o tempo e a experiência.
SAIBA MAIS
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do 
professor:
Comece a Programar: 3 Passos Iniciais
Para complementar seus estudos, assista ao vídeo, que mostra os três principais passos para 
começar a programar.
Conteúdo interativo disponível na plataforma de ensino!
CS Discoveries: Variables (tem legenda)
O vídeo que mostra o que é uma variável e como sua definição é importante no 
desenvolvimento de algoritmos.
Conteúdo interativo disponível na plataforma de ensino!
A Hora do Código
Esta página é uma iniciativa mundial que visa a levar o ensino de programação a crianças de 10 
a 16 anos de forma divertida. Acesse e confira os cursos disponíveis.
Conteúdo interativo disponível na plataforma de ensino!
Introdução à Algorítmos e Lógica de 
Programação
APRESENTAÇÃO
É sem dúvida muito importante a programação em qualquer área, como na Engenharia, por isso, 
é de supra necessidade compreender um pouco o mundo da programação. Nesta Unidade de 
Aprendizagem, além de aprender o universo da programação, vocês terão os conceitos e a 
oportunidade de compreender um pouco dessa área. Para isso, utilizaremos um software 
chamado MATLAB, uma ferramenta que auxiliará no desenvolvimento de algoritmos.
Nesta Unidade de Aprendizagem, você vai estudar o conceito de lógica, o que é um algoritmo e 
como está relacionado com a lógica. Também irá aprender a identificar e definir o que são tipos 
de dados, operadores aritméticos, operadores relacionais, operadores lógicos, expressões 
aritméticas, expressões relacionais e as regras de precedências entre os operadores.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Identificar os algoritmos e sua lógica de programação na solução de problemas, a 
representação e os tipos de dados na construção de algoritmos. 
•
Aplicar os algoritmos e sua lógica de programação na solução de problemas.•
Operar de forma correta os tipos de dados e suas relações.•
DESAFIO
O Desafio – A Torre de Hanói!
A Lenda: o problema das torres de Hanói foi proposto pelo matemático francês Edouard Lucas, 
em 1883. Lucas elaborou para seu “invento” uma lenda curiosa sobre uma torre muito grande. A 
“torre de Brama”, que foi criada no “início dos tempos”, com três hastes contendo 64 discos 
concêntricos (mesmo centro). O “criador” do universo também criou uma comunidade de 
monges cuja única atividade seria mover os discos da haste original (“A”) para uma de destino 
(“C”). O “criador” estabeleceu que o mundo acabaria quando os monges terminassem sua tarefa. 
Porém, os monges deveriam respeitar as três regras para a sua execução.
É interessante observar que o número mínimo de "movimentos" para conseguir transferir todos 
os discos da primeira estaca à terceira é 2n-1, sendo n o número de discos.
Logo: Para solucionar um Hanói de 3 discos, são necessários 23 -1 movimentos = 7 
movimentos.
Para solucionar um Hanói de 7 discos, são necessários 127 movimentos.
Para solucionar um Hanói de 15 discos, são necessários 32.767 movimentos.
Para solucionar um Hanói de 64 discos, como diz a lenda, são necessários 
18.446.744.073.709.551.615 movimentos.
Usando um pouco de lógica e a ferramenta Matlab, você precisa escreverum algoritmo que 
solucione esse desfio!
Acompanhe, na imagem a seguir, as orientações.
INFOGRÁFICO
Em programação, os tipos de estruturas de controle disponíveis mudam de linguagem para 
linguagem. Nessa visão, temos os fluxos de execução de algoritmos, o primeiro é a continuação 
da execução em uma instrução após a outra instrução, como na estrutura sequencial. O segundo 
é a execução de um bloco de código somente se uma condição é verdadeira, esta chamada de 
estrutura de seleção. O terceiro é a execução de um bloco de código enquanto uma condição é 
verdadeira, ou de forma a iterar uma coleção de dados, sendo esta chamada de estrutura de 
repetição.
Acompanhe, no Infográfico a seguir, como esse conceito pode se inter-relacionar com essas 
estruturas.
CONTEÚDO DO LIVRO
Neste capítulo, você verá sobre a introdução a algoritmos e à lógica de programação e alguns 
conceitos, como fluxo e execução, com a estrutura sequencial, estrutura de seleção e de 
repetição, além do conceito de lógica, o que são algoritmos, tipos de dados, operadores 
aritméticos, relacionais, lógicos, precedência entre os operadores e expressões.
Leia o capítulo Introdução a Algoritmos e Lógica de Programação do livro Algoritmos e 
programação que é base teórica desta Unidade de Aprendizagem.
Boa leitura.
ALGORITMO E 
PROGRAMAÇÃO
Jeferson Faleiro Leon
Introdução a algoritmos 
e lógica de programação
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
  Criar, reconhecer, interpretar e aplicar os algoritmos e sua lógica de 
programação na solução de problemas.
  Identificar, diferenciar e aplicar a representação e os tipos de dados 
na construção de algoritmos e na solução de problemas.
  Operar de forma correta os tipos de dados e suas relações.
Introdução
Neste capítulo, você estudará o conceito de lógica, verá o que é um 
algoritmo e como ele está relacionado com a lógica. Além disso, aprenderá 
a identificar e definir o que são tipos de dados, operadores aritméticos, 
operadores relacionais, operadores lógicos, expressões aritméticas e 
expressões relacionais.
Conceitos de lógica de programação
A lógica não tem uma defi nição específi ca: inicialmente, era ligada à ma-
temática (lógica formal) e, atualmente, está relacionada a todas as áreas do 
conhecimento humano.
Podemos relacionar a lógica 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. Como filosofia, ela procura 
saber por que pensamos assim e não de outro jeito; como arte ou técnica, 
ela nos ensina a usar corretamente as leis do pensamento (FORBELLONE; 
EBERSPACHER, 2005). 
Algoritmos
Para Forbellone e Ebersoacher (2005), algoritmo é um conjunto fi nito de 
regras, bem defi nidas, que nos levam à solução de um problema em um 
tempo fi nito. Segundo Berg e Figueiró (2002), algoritmo é a descrição de 
um conjunto de ações que, obedecidas, resultam numa sucessão fi nita de 
passos, atingindo o objetivo. 
Para que se tenha um algoritmo, é preciso:
a) que se tenha um número finito de passos;
b) que cada passo esteja precisamente definido, sem possíveis ambiguidades;
c) que existam zero ou mais entradas;
d) que existam uma ou mais saídas;
e) que exista uma condição de fim, sempre atingida em tempo finito, para 
quaisquer entradas.
Os algoritmos são criados e reconhecidos por sua lógica de programação. 
Segundo Forbellone e Eberspacher (2005), a lógica está relacionada à coerência 
e à racionalidade; lógica de programação é a racionalização dos processos 
formais da programação de computadores e algoritmo é a sequência de passos 
que visam atingir um objetivo bem definido.
Os algoritmos podem ser visualizados por meio de um fluxograma 
convencional ou por meio de um fluxograma do tipo Chapin. Forbellone 
e Eberspacher (2005) fornecem um exemplo básico da diferença entre 
ambos e destacam que há uma série de vantagens e desvantagens para cada 
um desses fluxogramas. Por exemplo, o fluxograma convencional é mais 
fácil de desenhar e é previsto em etapas, enquanto o fluxograma Chapin 
pode compactar as perguntas de F e V ou S e N em somente um bloco, 
sendo considerado mais técnico e formal. Na Figura 1, você pode observar 
essas diferenças.
Introdução a algoritmos e lógica de programação2
Figura 1. Fluxograma convencional e fluxograma Chapin.
Fonte: Forbellone e Eberspacher (2005).
Tipos de dados (primitivos)
Para entender os tipos primitivos, voltemos nossa atenção para um conceito 
muito importante: a informação. Antes disso, vamos entender o que é um 
3Introdução a algoritmos e lógica de programação
dado? Dados são códigos que constituem a matéria-prima da informação, ou 
seja, é a informação não tratada que ainda não apresenta relevância.
A informação é constituída pelos dados tratados – o resultado do processa-
mento de dados são as informações. As informações têm significado e podem 
contribuir no processo de tomada de decisões.
Os dados podem ser classificados conforme seu tipo e os principais serão 
descritos a seguir.
Tipos numéricos
  Inteiros: é um número que não possui casas decimais; por exemplo, a 
idade de uma pessoa ou uma quantidade de itens num estoque.
  Real: é um número que possui casas decimais, ou seja, é um número 
fracionário; por exemplo, a altura de uma pessoa ou o peso de um 
determinado produto.
Tipos alfanuméricos
  Literal ou String: são os textos, que podem conter letras, números e 
caracteres especiais. Não são utilizados para cálculos.
Tipos lógicos 
  Booleano: é um dado que só pode conter 2 informações (verdadeiro 
ou falso).
Expressões
Expressões, no sentido matemático, são representações simbólicas de sequ-
ências de operações a serem feitas sobre determinados operandos visando a 
obtenção de um resultado. Necessitam-se de dois tipos de expressões para a 
elaboração de algoritmos: expressões aritméticas e expressões lógicas.
Introdução a algoritmos e lógica de programação4
Expressões aritméticas
Expressões aritméticas são aquelas cujos operadores são aritméticos e cujos 
operandos são constantes e/ou variáveis do tipo numérico (inteiro ou real).
Operadores aritméticos
Soma +
Divisão /
Quociente da divisão inteira Div
Radiciação //
Subtração -
Multiplicação ·
Resto da divisão inteira Mod
10 div 3 = 3 10 mod 3 = 1 3 div 5 = 0
25 div 5 = 5 25 mod 5 = 0 3 mod 5 = 3
5Introdução a algoritmos e lógica de programação
Funções matemáticas
Função Descrição Exemplo
sqr (x) Quadrado de x (x2) sqr (4) = 16
sqrt (x) Raiz quadrada de x ( ) sqrt (25) = 5
sen (x) Seno de x sen (90) = 1
cos (x) Cosseno de x cos (90) = 0
tg (x) Tangente de x tg (45) = 1
int (x) Parte inteira de x int (23,49) = 23
frac (x) Parte fracionária de x frac (23,49) = 49
pot (x,y) X na potência y (xy) pot (3, 2) = 9
abs (x) Valor absoluto de x abs ( -39) = 39
Sinal (x) Fornece o valor –1, +1 ou zero conforme o 
valor de x seja negativo, positivo pu nulo.
Sinal (-44) = -1
Precedência entre os operadores
Os operadores de mesma precedência na tabela são resolvidos da esquerda 
para a direita, na ordem que aparecerem na expressão.
Introdução a algoritmos e lógica de programação6
5 + 9 + 7 + 8 / 4
5 + 9 + 7 + 2 = 23
1 - 4 · 3 / 6 - 2 · 3
1 - 4 · 3 / 6 - 8
1 - 12 / 6 - 8
1 - 2 - 8 = -9
3 · 2 - 4 / 2 + abs (5 - 3 · 5) / 2
3 · 2 - 4 / 2 + abs (5 - 15) / 2
3 · 2 - 4 / 2 + abs (-10) / 2
3 · 2 - 4 / 2 + 10 / 2
9 - 4 / 2 + 10 / 2
9 - 2 + 5 = 12
Expressões lógicas
Expressões lógicas são aquelas cujos operadores são lógicos e/ou relacionais 
e cujos operandos são relações e/ou constantes e/ou variáveis de tipo lógico. 
O resultado de uma expressão lógica sempre é uma constante lógica (F - falso 
ou V - verdadeiro).
Operadores relacionais
= Igual < > Diferente
> Maior >= Maior ou igual
< Menor <= Menor ou igual
7Introdução a algoritmos e lógica de programação
2 · 4 = 24 / 3 = 8
V
2 + (8– 7) > = 3 · 6 - 15
2 + 1 > = 18 - 15
3 > = 3
V
Operadores lógicos
Símbolo Função
E Conjunção
Ou Disjunção (não-exclusiva)
Não Negação
O operador lógico E é utilizado quando dois ou mais relacionamentos lógicos 
de uma determinada condição necessitam ser verdadeiros. O operador lógico 
E faz com que somente seja executada uma determinada operação se todos as 
condições mencionadas forem simultaneamente verdadeiras, gerando, assim, 
um resultado lógico verdadeiro.
SE (NÚMERO > = 20) E (NÚMERO < = 90)
Então, escrever “Número válido no intervalo”
Se NÃO, escrever “Número inválido, não está no intervalo”
Fim-SE
Introdução a algoritmos e lógica de programação8
O operador lógico OU é utilizado quando pelo menos um dos relaciona-
mentos lógicos (quando houver mais de um relacionamento) de uma condição 
necessita ser verdadeiro. O operador lógico OU faz com que seja executada 
uma determinada operação se pelo menos uma das condições mencionadas 
gerar um resultado lógico verdadeiro.
SE (SEXO = ‘Masculino’) OU (SEXO = ‘Feminino’)
Então, escrever “O seu sexo é válido”
Se não, escrever “O seu sexo é inválido”
Fim-SE
O operador lógico NÃO é utilizado quando se necessita estabelecer que 
uma determinada condição dever ser não verdadeira ou deve ser não falsa. 
O operador lógico NÃO se caracteriza por inverter o estado lógico de uma 
condição, isto é, inverte o resultado lógico da condição.
Algoritmo prog1
Var
A, B, C, X: Inteiro
Início
Ler (X, A, B)
SE NÃO (X > 5)
Então C: = (A + B) · X
Se não C: = (A – B) · X
Fim-SE
Escrever (C)
Fim
9Introdução a algoritmos e lógica de programação
Tabelas verdade
Tabela verdade é o conjunto de todas as possibilidades combinatórias entre os 
valores de diversas variáveis lógicas, as quais se encontram em apenas duas 
situações, e um conjunto de operadores lógicos.
Operador E
A B A e B
V V V
V F F
F V F
F F F
Operador OU
A B A ou B
V V V
V F V
F V V
F F F
Operador NÃO
A A não B
V F
F V
Introdução a algoritmos e lógica de programação10
Prioridades
Entre operadores lógicos:
Entre todos os operadores:
BERG, A.; FIGUEIRÓ, J. Lógica de programação. 3. ed. Canoas: Ed. ULBRA, 2002.
FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de programação: a construção de 
algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson, 2005. 
Leituras recomendadas
CHAPRA, S. C. Métodos numéricos aplicados com MATLAB® para engenheiros e cientistas. 
3. ed. Porto Alegre: AMGH, 2013. 
OLIVEIRA, A. B.; BORATTI, I. C. Introdução à programação de algoritmos. Florianópolis: 
Visual Books, 2004. 
SOUZA, M. A. F. et al. Algoritmos e lógica de programação. 2. ed. São Paulo: Cengage, 
2012.
11Introdução a algoritmos e lógica de programação
 
DICA DO PROFESSOR
A importância de aprender programação passa pela compreensão de um problema, entender o 
que é um dado, uma informação, os tipos de dados (alfanuméricos, numéricos e boolenos), 
operadores (aritméticos, relacionais e lógicos) e expressões (aritméticas, relacionais e lógica).
Nesta Dica do professor, faço o convite para que você mergulhe nos estudos de algoritmos e 
 compreenda ainda mais o conteúdo que está estudando. 
Conteúdo interativo disponível na plataforma de ensino!
EXERCÍCIOS
1) O que são algoritmos?
A) Algoritmo é um conjunto finito de regras, bem definidas, que nos leva à solução de um 
problema em um tempo finito.
B) Algoritmo é um conjunto infinito de regras, bem definidas, que nos leva à solução de um 
problema em um tempo longo.
C) Algoritmo é um conjunto finito de regras, nada definida, que leva à solução de um 
problema em um tempo finito.
D) Algoritmo é a forma ambígua de escrever um programa de computador e que nos dá a 
ideia de um problema que o programador pensou em resolver.
E) Algoritmo é um elemento finito de regras, pouco definidas, que nos leva à solução de um 
problema em um tempo finito.
2) 
O fluxo de execução de um algoritmo consiste em estruturas. Quais são essas 
estruturas?
A) Sequencial, Aritmética e de Junção.
B) Sequencial, Seleção e Repetição.
C) Junção, de Seleção e de Repetição.
D) Repetição, de Artimética e de Seleção.
E) Aritmética, Seleção e Junção.
3) Existem alguns tipos de dados primitivos que podem ser números negativos, positivos 
ou nulos com e sem decimais, que apresentam letras e que apresentam valores de V 
ou F ou valores binários 0 ou 1. Quais são esses tipos primitivos de dados?
A) Lógicos ou booleanos, inteiros, estatísticos, probabilisticos.
B) Dados numéricos, dados científicos, lógicos, probabilísticos.
C) Dados de números Inteiros, reais, com caractere, lógicos ou booleanos.
D) Com caractere, simples, compostos, booleanos.
E) Dados de números inteiros, reais, compostos, booleanos.
As expressões são fórmulas matemáticas que auxiliam a obter um resultado 
numérico. Normalmente, são utilizadas para obter um resultado numérico para 
números inteiros e reais, ou para condições, ou para conjunções, disjunções e 
4) 
negações. Quais são essas expressões?
A) Exponenciais, Aritméticas, de Conjunção.
B) Aritméticas, Relacionais, Lógicas ou Booleanas.
C) Geométricas, de Razão, Exponenciais.
D) Geométricas, Relacionais, Lógicas ou Booleanas.
E) Lógicas ou Booleanas, de Razão, Geométricas.
5) Analise o seguinte trecho:
algoritmo "Modelo" 
var 
n: inteiro
inicio
escreval("Insira um número inteiro: ") 
leia(n) 
n = n * n; 
escreval("O ................... é : ",n)
fimalgoritmo
O que o irá acontecer com o valor lido, o que será mostrado como resultado?
A) O resultado é o QUADRADO do valor lido.
B) O resultado é o DOBRO do valor lido.
C) O resultado é a METADE do valor lido.
D) O resultado não é calculado, pois o tipo de dado não pode ser utilizado para fazer cálculos.
E) O resultado é o triplo do valor lido.
NA PRÁTICA
Vamos resolver um problema prático de um saltador de bungee jumping.
Se um saltador de bungee jumping vai pular de um penhasco, qual é a velocidade final no 
período de queda livre, a fim de que se possa determinar o comprimento e a resistência da corda.
Acompanhe, na imagem a seguir, como resolver esse problema.
SAIBA MAIS
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do 
professor:
Por que todos deveriam aprender a programar?
No link a seguir, você verá pessoas famosas falando sobre como programação é algo muito 
legal, e que mais escolas deveriam ensinar programação para seus alunos.
Conteúdo interativo disponível na plataforma de ensino!
Lógica e programação
No link a seguir, você terá acesso a um vídeo que apresenta uma introdução sobre o que é e por 
que a lógica é indispensável para quem deseja entrar no mundo da programação.
Conteúdo interativo disponível na plataforma de ensino!
Primeiro Algoritmo - Curso de Algoritmos
No link a seguir, você terá acesso a uma videoaula que aborda sobre algoritmos de uma forma 
simples e intuitiva.
Conteúdo interativo disponível na plataforma de ensino!
A linguagem C - Conceitos Básicos
APRESENTAÇÃO
Da mesma forma que existem vários idiomas no mundo, na computação existem várias 
linguagens de programação, as LPs. LP é uma linguagem na qual os programas são escritos e 
que faz uma tradução do algoritmo para uma linguagem que o computador entenda. 
Nesta Unidade de Aprendizagem, você vai conhecer a linguagem C, também conhecida como a 
linguagem das linguagens, pois é bastante difundida no meio acadêmico e usada para que você 
dê os primeiros passos no mundo da programação. Você vai entender como surgiu a linguagem 
por meio do histórico da linguagem C, compreender a estrutura básica da linguagem, conhecer 
vários ambientes de desenvolvimento e configurar o que melhor se adaptar às suas 
necessidades. 
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Reconhecer o histórico da linguagem C.•
Identificar a estrutura básica de um programa em C.•
Instalar ambientes de desenvolvimento da linguagem C.•DESAFIO
Assim, você precisa escolher um ambiente de desenvolvimento para a linguagem C e realizar a 
sua instalação. Você deve fazer uma pequena introdução do ambiente de desenvolvimento que 
foi escolhido, indicar qual sistema operacional utilizou e o passo a passo para a instalação, 
finalizando com um print da IDE.
INFOGRÁFICO
A linguagem de programação C é uma linguagem compilada: é preciso que o código-fonte passe 
por um programa chamado compilador. A saída desse processo é uma espécie de codificação 
que o computador entende.
Acompanhe no infográfico como esse processo acontece.
CONTEÚDO DO LIVRO
Para desenvolver programas, é preciso conhecimento de alguma linguagem de programação. 
Neste capítulo, você aprenderá um pouco mais sobre o que são essas linguagens e como elas 
funcionam, e entrará em contato com a linguagem C, uma das mais populares.
Leia o capítulo A linguagem C - Conceitos básicos, da obra Algorítmos de Programação, que 
serve de base teórica para esta Unidade de Aprendizagem.
Boa leitura.
ALGORÍTMOS DE 
PROGRAMAÇÃO 
Marcela Santos
A linguagem C – 
conceitos básicos
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
� Conhecer o histórico da linguagem C.
� Identificar a estrutura básica de um programa em C.
� Instalar e conhecer ambientes de desenvolvimento da linguagem C.
Introdução
Da mesma forma que existem vários idiomas no mundo, na computa-
ção, existem várias linguagens de programação, as LPs. Uma LP é uma 
linguagem na qual os programas são escritos e que faz uma tradução do 
algoritmo para uma linguagem que o computador entenda. 
Neste texto, você vai estudar sobre a linguagem C, também conhecida 
como a “linguagem das linguagens”, por ser bastante difundida no meio 
acadêmico e usada para que você dê os primeiros passos no mundo da 
programação. Você vai entender como surgiu a linguagem por meio do 
histórico da linguagem C, compreender a estrutura básica da linguagem, 
além de conhecer vários ambientes de desenvolvimento e configurar o 
que melhor adaptar-se às suas necessidades.
Histórico da linguagem C
Antes de começarmos a falar sobre C, que é a linguagem que usaremos, vamos 
entender o que é uma linguagem de programação. No capítulo Introdução 
à Lógica de Programação, falamos sobre Algoritmos e como o seu papel é 
importante no desenvolvimento de um programa. A Figura 1, a seguir, faz a 
representação de como um algoritmo ajuda na resolução de problemas.
Figura 1. Diagrama de como um algoritmo ajuda na resolução de problemas.
Problema Algoritmo
ProgramaSolução
Porém, se o algoritmo não está escrito em uma linguagem que o compu-
tador entenda, é preciso, então, fazer uma tradução da linguagem que nós, 
humanos, usamos para a que a máquina entenda. Essa tradução é feita por 
meio da utilização de uma linguagem de programação (LP). Existem várias 
linguagens de programação, com paradigmas e níveis de abstração diferentes.
Quando uma LP assemelha-se à linguagem falada ou escrita por um ser 
humano, ela é dita de alto nível, e, quando ela aproxima-se da linguagem de 
máquina, é dita de baixo nível. Da mesma forma que o Português, por exemplo, 
tem regras (sintaxe) para que seja compreendido por qualquer pessoa que fale 
esta língua, as LPs também têm um conjunto de regras com as quais é possível 
traduzir um algoritmo e gerar um programa.
Dito isso, podemos começar a falar da linguagem que vamos utilizar neste 
livro: a linguagem de programação C. A linguagem C é uma LP bastante 
popular, criada por volta de 1970, por Dennis Ritchie. 
A linguagem C foi desenvolvida nos laboratórios Bell, onde muitas de suas 
ideias iniciais surgiram de outra linguagem, a B, que tem como antecessoras as 
linguagens BCPL e CPL. CPL foi uma linguagem desenvolvida com o propósito 
de ser uma linguagem de alto e baixo níveis. A maior desvantagem da CPL foi 
que era muito pesada para o desenvolvimento de algumas aplicações. Em 1967, 
foi desenvolvida a Basic CPL – BCPL, que mantinha as características básicas 
da CPL. Ken Thompson, que trabalhava na Bell Labs, utilizou esse projeto para 
A linguagem C – conceitos básicos2
o desenvolvimento da linguagem B. Assim, B foi uma versão de BCPL escrita 
para o desenvolvimento de sistemas. Em 1972, Dennis Ritchie, trabalhando com 
Ken Thompson, desenvolveu uma linguagem também baseada na linguagem 
BCPL, mas que mantinha parte da especificação para acesso a hardware, ou 
seja, a parte das características de baixo nível da linguagem, conhecida como C.
A linguagem C é usada por programadores há muito tempo e poderosa no 
desenvolvimento dos mais diversos tipos de sistema, desde sistemas operacio-
nais, passando por compiladores, editores de texto, etc. Além da diversidade de 
sistemas, é importante ressaltar que C é uma linguagem que pode ser utilizada 
em máquinas com um alto poder de processamento, bem como em máquinas 
mais simples e com baixo poder de processamento.
Dentre as características de C, podemos destacar:
 � Portabilidade: os programas em C são compilados, gerando um único 
executável. Assim, é possível compilar um programa escrito em C para 
qualquer máquina, desde que exista compilador C para ela. Na prática, 
existem compiladores C para quase todos os computadores.
 � Poder e variedade dos operadores: é possível trabalhar com funções 
matemáticas, criação e manipulação de arquivos de Dos, dentre outras 
possibilidades. Isso tudo pode ser feito de forma simplificada, com 
adição de bibliotecas padronizadas, presentes na própria linguagem.
 � Sintaxe elegante, estruturada e flexível: indicada para quem está co-
meçando a programar.
 � Acesso facilitado à memória e a todo o hardware, quando preciso: 
assim, é possível ir de um programa simples até o desenvolvimento de 
um sistema operacional.
 � Uso de procedimentos e funções para desenvolver sistemas desacopla-
dos: sistemas desacoplados são sistemas onde é possível isolar pequenas 
partes para, por exemplo, encontrar erros sem causar nenhum dano ao 
restante do sistema.
Pela natureza de como foi desenvolvida, C também é chamada de lingua-
gem de Médio Nível, pois possui um conjunto de instruções necessárias para 
acesso ao hardware, como as linguagens de baixo nível (Assembly). Além 
disso, C pode ser simples e amigável, como uma linguagem de alto-nível 
deve ser. Uma linguagem de médio nível pode, em alguns casos, não prover 
as estruturas necessárias a uma linguagem de alto nível, mas certamente ela 
tem ferramentas que podem ser usadas como blocos para construção dessas 
estruturas necessárias.
3A linguagem C – conceitos básicos
A primeira versão de C foi criada por Dennis Ritchie, em 1972, nos laboratórios Bell, para 
ser incluída como um dos softwares a serem distribuídos juntamente com o sistema 
operacional Unix do computador PDP-11.
Estrutura básica da linguagem C
Neste ponto, você deve estar querendo saber como é escrito um programa que 
utiliza a linguagem C. A primeira coisa que temos que entender é o processo 
da criação desse programa. 
 � Com o algoritmo em mente, você deve traduzi-lo para C em um arquivo 
e salvá-lo com a extensão C. Por exemplo, imagine que eu escrevi meu 
primeiro programa em um arquivo que irei nomear de programa1; ao 
salvá-lo, esse arquivo precisa de um nome e de uma extensão; assim, 
esse arquivo ficaria como: programa1.c
 � A segunda parte é usar um compilador para gerar o programa. O com-
pilador nada mais é do que um programa que vai fazer toda a conversa 
e tradução do seu código-fonte para a linguagem mais baixa do sistema, 
a linguagem da máquina.
 � Pronto, agora seu programa foi criado. Basta somente executá-lo.
 � A Figura 2, a seguir, demonstra, por meio de um esquema, a criação 
de um programa compilado.
Figura 2. Como um programa compilado é criado?
A linguagem C – conceitos básicos4
Agora vamos entender a estrutura básica do nosso código-fonte, escrito em 
linguagem C. Mais à frente, veremos com o usodas ferramentas precisamos, 
mas, por hora, imagine que você abriu qualquer editor de texto da sua preferên-
cia e criou um arquivo novo, salvou-o com extensão C e, agora, chegou a hora 
de preenchê-lo com seu código em C, conforme exemplificado na Figura 3.
Figura 3. Primeiro programa em C.
Durante todo este livro, vamos explicar os códigos, usando os números 
das linhas na margem à esquerda dos códigos. Vamos a elas:
 � Falamos sobre uma das características do C, o uso de bibliotecas pa-
dronizadas. A linha 1 é o comando para adicionar a biblioteca padrão 
stdio.h no seu código-fonte. Uma das possibilidades que ela traz são 
comandos de entrada e saída de dados. 
 � Na linha 2, temos a declaração da função principal, que, em C, é cha-
mada de main, e a palavra int antes dela indica que deverá “devolver” 
algo do tipo inteiro. Depois de main, temos um par de parênteses vazio, 
indicando que ela não tem nenhum argumento.
 � Nas linhas 3 e 6, temos um par de chaves, entre as quais a magia 
acontece, onde todo o seu algoritmo, agora traduzido para C, ficará.
 � Na linha 4, temos um exemplo de instrução que escreve um texto na tela.
 � Por fim, na linha 5, temos o valor que a função main retorna, 0.
Sabemos que, a essa altura do livro, poucas dessas palavras parecem fami-
liares, mas calma: foi assim com todos os programadores profissionais — todo 
mundo, no início de aprendizado, passou por essa etapa. É preciso que neste 
início (principalmente) você estude e pratique como se estivesse aprendendo 
um novo idioma, como o inglês. Só assim tudo ficará mais familiar e, como 
os programadores dizem, “no sangue”.
5A linguagem C – conceitos básicos
No exemplo da Figura 4, o programa escreve algo na tela. Se você quiser 
escrever um programa, por exemplo, que soma 2 números, deverá substituir 
a linha 4 por toda a tradução do seu algoritmo. Então, a estrutura básica de 
um código C é a seguinte:
Figura 4. Estrutura básica de um programa em C.
Agora temos o código-fonte. Na próxima seção, vamos conhecer os am-
bientes para desenvolvimento e, assim, gerar o programa em C.
Ambientes de desenvolvimento com 
linguagem C
Existem dois caminhos a seguir em se tratando de desenvolvimento de pro-
gramas. Você pode usar um editor de texto e um compilador/interpretador da 
linguagem que escolher, ou um ambiente integrado de desenvolvido, também 
conhecido como IDE.
Muitas pessoas dizem que, no início dos estudos de programação, é me-
lhor usar um editor de texto, já que, em muitas vezes, uma IDE traz muita 
informação que ainda não é familiar ao estudante.
Neste livro, vamos dar a você sugestões de editores de texto e IDE, para que, 
assim, você possa fazer suas escolhas. Começando com os editores de texto:
 � Sublime Text, que pode ser usado em ambientes OS X, Windows ou 
Linux.
 � Atom, que também pode ser usado em OS X, Windows ou Linux.
 � Editores-padrão do seu sistema operacional.
A linguagem C – conceitos básicos6
Agora, as IDEs:
 � Dev-C++: ferramenta para desenvolvimento C e C++, para o ambiente 
Windows — essa ferramenta é bastante difundida no meio acadêmico.
 � Code::Blocks: ferramenta open-source, na qual se pode programar 
em C,C++ e Fortran. (existe versão para Windows, Linux e OS X) 
— uma das ferramentas mais flexíveis e com uma quantidade grande 
de plugins, o que pode ajudar durante o desenvolvimento de algum 
programa específico.
 � Visual Studio: ambiente de programação para o Windows e OS X — 
nessa IDE, é possível programar em várias linguagens, dentre elas a C.
 � Eclipse: uma das IDEs mais completas, na qual se pode programar 
(realizando a configuração adequada) em diversas linguagens — dis-
ponível para OS X, Windows ou Linux.
Alguns detalhes:
 � Se você escolher usar o editor de texto, é preciso instalar também o 
compilador C.
 � Se você escolher usar uma IDE, deve configurá-la para a linguagem 
C, no caso das IDEs que possuem uma vasta gama de possibilidade de 
linguagens de programação.
Escolhido o ambiente de programação, vamos criar nosso primeiro pro-
grama? Vamos usar aqui o editor de texto+compilador no ambiente Linux. No 
caso das IDEs, é preciso somente abrir um novo documento, “codar ”(termo 
da moda e moderninho pra programar!!!), e clicar no ícone responsável por 
compilar e/ou executar o programa. 
Como o editor simples foi o escolhido, é preciso, agora, ir para a linha de 
comando do Linux e digitar alguns comandos. É necessário acessar a pasta onde 
o arquivo.c esteja e, em seguida, basta digitar o seguinte: gcc nomedoarquivo.c 
-o nomedoprograma.
7A linguagem C – conceitos básicos
Linha de comando para compilação de um programa em C:
 � gcc — comando para executar o compilador C;
 � nomedoarquivo — o arquivo deve ter sido salvo com extensão C e é preciso estar 
na mesma pasta que ele;
 � -o — opção necessária para gerar o executável em C;
 � nomedoprograma — nome do programa que vai ser gerado; se não for digitado, 
o compilador gera um programa cujo nome será a.out.
Depois disso, e se tudo ocorreu bem, o compilador gera um programa com 
o nome nomedoprograma. Basta, agora, executá-lo — e você escreveu seu 
primeiro programa em C! Parabéns!
Além de IDEs, existem outras ferramentas para otimizar 
o desenvolvimento de software. Para maiores detalhes, 
acesse o link a seguir ou o código QR. 
https://goo.gl/79C11q
PINHEIRO, F. A. C. Elementos de programação em C. Porto Alegre: Bookman, 2012.
Leitura Recomendada
A linguagem C – conceitos básicos8
DICA DO PROFESSOR
O que é uma linguagem de programação? De que é formada uma linguagem de programação e 
quais os conceitos básicos da linguagem C?
Acompanhe o vídeo da Dica do Professor para receber orientações sobre esses conceitos e se 
familiarizar com a linguagem C.
Conteúdo interativo disponível na plataforma de ensino!
EXERCÍCIOS
1) Sobre a linguagem C, é correto afirmar que:
A) sua portabilidade se dá pelo fato de que pode-se rodar um programa executável em 
qualquer sistema operacional, sem precisar recompilar.
B) os programas escritos em C têm alto grau de segurança.
C) essa linguagem tem características que permitem o uso do paradigma de orientação a 
objetos.
D) não tem recursos de baixo nível, ou seja, de acesso direto ao hardware.
E) é uma das linguagens indicadas para se começar a estudar programação, pois é considerada 
simples e bem-estruturada.
O seguinte programa está escrito em linguagem C. Qual a função da linha 1? 2) 
 
A) Acrescentar a biblioteca padrão da linguagem C para que se possa fazer entrada e saída de 
dados.
B) Incluir um tipo de arquivo de dados no programa.
C) Essa instrução pode ser retirada de acordo com o que está se desejando escrever no 
programa.
D) Não pode ser usada se serão feitas entrada e saída de dados.
E) Permite que mais de um usuário utilize o código.
3) O que é uma linguagem de programação?
A) É a linguagem utilizada pelos programadores para realizar documentação sobre os 
programas que eles escrevem.
B) É a linguagem falada pelos humanos, mas, em vez de uma conversa entre humanos, trata-
se de uma conversa entre humanos e um computador.
C) É a linguagem utilizada para escrever programas de computadores.
D) É a linguagem na qual os algoritmos são escritos.
E) É a linguagem composta por 0 e 1 e impossível de ser utilizada por um ser humano.
4) Utilizando o editor e o compilador, quais os passos para que se tenha um programa 
em C pronto para execução?
A) Escrever o programa em um arquivo, salvar o arquivo com extensão C e executá-lo na 
linha de comando.
B) Escrever o programa em um arquivo com extensão txt, com a seguinte linha de comando: 
gcc -o nomedoprograma.txt nomedoexecutavel.
C) Escrever o programa em um arquivo, salvar o arquivo com extensão c e compilar com a 
seguinte linha de comando: gcc nomedoprograma.c -o nomedoexecutavel.
D) Não é possível desenvolver um programa em C somente com editor de texto e compilador.
E) Escrever o programa em um arquivo com qualquer extensãoe compilar com a seguinte 
linha de comando: gcc -o nomedoprograma nomedoexecutavel.
5) A linguagem C é uma linguagem:
A) de médio nível e compilada.
B) de alto nível e interpretada.
C) de baixo nível e compilada.
D) de baixo nível e interpretada.
E) Nenhuma das alternativas anteriores.
NA PRÁTICA
Taís está em seu primeiro dia de trabalho no setor de desenvolvimento de sistemas em uma 
empresa de alta tecnologia. Seu primeiro dia se dá junto com o primeiro dia de estágio de 
Felipe, o estagiário da equipe de apoio.
 
SAIBA MAIS
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do 
professor:
Linguagens mais Populares de 2017
Com tantas linguagens de programação no mercado, é interessante estar atento às linguagens de 
programação mais populares do ano para organizar os estudos. Neste video, você verá as 
linguagens de programação mais populares do ano de 2017.
Conteúdo interativo disponível na plataforma de ensino!
O que significa "COMPILAR" e quando você precisa fazer isso no Linux
O vídeo mostra como se dá o processo de compilação de um programa no sistema operacional 
Linux.
Conteúdo interativo disponível na plataforma de ensino!
Dia do Programador: alguns GRANDES Programadores da História
Quem foi a primeira pessoa a programar um computador? Quais foram as pessoas que 
começaram nesse universo incrível de programação? Neste vídeo, você vai conhecer alguns 
grandes programadores da história.
Conteúdo interativo disponível na plataforma de ensino!
O que eu preciso saber para virar engenheiro de software na Google?
A Google é uma das principais empresas de tecnologia e um dos grandes sonhos de emprego de 
muitos dos estudantes de computação. Quer saber o que você precisa fazer para se tornar um 
engenheiro de software da Google? Acesse o artigo e fique por dentro.
Conteúdo interativo disponível na plataforma de ensino!
Tipos de dados e Variáveis
APRESENTAÇÃO
Os dados que utilizamos nos programas de computadores precisam ser armazenados na memória 
do computador. A memória é como um grande arquivo cheio de gavetas e, para uma melhor 
organização, essas gavetas podem estar etiquetadas. Outro detalhe desse grande arquivo é que as 
gavetas podem ter tamanhos diferentes e, de acordo com o tamanho, guardam determinado tipo 
de objeto. Usando essa analogia, cada gaveta é uma variável que tem um nome (etiqueta) e um 
tamanho que representa o tipo de variável. 
Nesta Unidade de Aprendizagem, você vai compreender o que são variáveis e como definimos 
os tipos de dados que podemos armazenar nessas variáveis.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Identificar a diferença entre os tipos de dados.•
Realizar a inicialização e nomeação de variáveis.•
Aplicar a declaração de variáveis.•
DESAFIO
O seu desafio é escrever os tipos de dados numéricos e o seu range. Você deverá escrever isso 
de forma que os meteorologistas possam ajudá-lo a escolher o melhor tipo. Uma dica é, em vez 
de escrever a quantidade de bytes de cada tipo, mostrar qual o menor e o maior número que 
pode ser armazenado naquele tipo. Para entender melhor os tipos de dados em C e as faixas de 
valores, acesse: 
 
Conteúdo interativo disponível na plataforma de ensino!
INFOGRÁFICO
Acompanhe no infográfico a relação entre os tipos de dados e o espaço reservado na memória 
do computador.
CONTEÚDO DO LIVRO
Em programação, os dados são tão importantes quanto o próprio código. Sem dados, o programa 
não pode realizar nenhuma operação. Por isso, conhecer como armazenar esses dados, bem 
como que tipo de dados utilizamos, é uma das tarefas iniciais e de muita importância.
Leia o capítulo Tipos de Dados e Variáveis, da obra Algoritmos de Programação , que serve de 
base teórica para esta Unidade de Aprendizagem.
Boa leitura.
ALGORÍTMOS DE 
PROGRAMAÇÃO
Marcela Santos
Tipos de dados e variáveis
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
  Identificar a diferença entre os tipos de dados.
  Realizar a inicialização e nomeação de variáveis.
  Aplicar a declaração de variáveis.
Introdução
Os dados que utilizamos nos programas de computadores precisam ser 
armazenados na memória do computador. A memória é como um grande 
arquivo cheio de gavetas, e, para uma melhor organização, essas gavetas 
podem estar etiquetadas. Outro detalhe desse grande arquivo é que as 
gavetas podem ter tamanhos diferentes e, de acordo com eles, guardam 
determinado tipo de objeto. Usando essa analogia, cada gaveta é uma 
variável que tem um nome (etiqueta) e um tamanho que representa o 
seu tipo.
Neste capítulo, você vai compreender o que são variáveis e como 
definimos os tipos de dados que podemos armazenar nelas.
Diferença entre os tipos de dados
Um computador é uma máquina que processa dados. Ao escrevermos um 
programa, estamos, na verdade, realizando essa tarefa com os dados que o 
usuário entrega para a máquina. Por exemplo, quando queremos que um pro-
grama realize o cálculo da média entre duas notas, é preciso que, de alguma 
forma, o programa “receba” essas duas notas.
Os dados são os insumos que entregamos aos computadores para que eles 
realizarem a tarefa, utilizando, para isso, um programa computacional. Esses 
dados são armazenados em regiões de memória que chamamos de variáveis. 
Podemos pensar na memória do computador como um grande armário cheio 
de gavetas, as variáveis são as gavetas e, para uma melhor organização, cada 
uma possui uma etiqueta indicando o tipo de material que pode ser guardado 
nela: papel, envelopes, canetas.
As variáveis também possuem etiquetas que são os nomes das variáveis, e 
a classificação do que pode ser guardado em cada variável é dada pelos tipos 
de variáveis de uma determinada linguagem de programação.
Existem cinco tipos de dados em C, e cada um representa um tipo de 
informação. Os tipos são representados por uma palavra reservada da lin-
guagem, que são:
  int: números inteiros
  char: letras, caracteres, dados alfanuméricos
  float: números reais com precisão simples, ocupa 4 bytes na memória 
do computador
  double: números reais com precisão dupla, ocupa 8 bytes na memória 
do computador
  void:vazio
Além dos tipos, existem em C os modificadores de tipo:
  short: diminui o espaço em memória reservado para uma variável
  long: aumenta o espaço em memória reservado para uma variável
  unsigned: indica que a variável será guardada sem sinal
  signed: indica que a variável será armazenada com sinal
Como a ideia desse material é focar em algoritmos de programação, mas 
com nível básico, os modificadores não serão utilizados.
Tipos de dados e variáveis2
Inicializando e nomeando variáveis
Se retomarmos ao exemplo da gaveta, os nomes que estão escritos nas etiquetas 
identifi cam os elementos que estão na gaveta. Não é conveniente identifi car a 
etiqueta como caneta, sendo que o que está sendo guardado nela seja adesivos.
Uma palavra reservada de uma linguagem é uma palavra que faz parte da sintaxe e tem 
uma funcionalidade especificada na linguagem, não podendo ser usada para outro fim.
Com as variáveis, funciona da mesma forma. É conveniente colocar o 
nome das variáveis para ajudar na leitura de um código. Lembre-se de que 
você pode ter que reler o código para encontrar erros ou, até mesmo, outras 
pessoas precisem realizar a tarefa árdua de leitura de código alheio.
Escolha nomes que identifiquem as variáveis. Existem algumas regras que 
podem ajudar na hora de nomear uma variável:
  Evite começar com letra maiúscula e nunca use um número para co-
meçar uma variável.
  Não utilize caracteres especiais, como:, “, (,).
  Você não pode usar nenhuma palavra reservada como variável.
  Evite variáveis como a, b, n1,n2 , pois isso só tende a dificultar a 
leitura de código.
  Se a variável tem mais de uma palavra, a partir dasegunda, coloque a 
primeira letra da palavra em maiúscula, ou utilize underline. 
  Não coloque sinais de pontuação na sua variável.
Quando criamos um programa e utilizamos o conceito de variáveis, o 
compilador associa a uma região de memória o nome desta variável. A memória 
do computador é um recurso utilizado por todos os programas que estão sendo 
executados ou que pararam de ser executados em algum momento, ou seja, 
aquela região que agora é a variável do seu programa pode ter sido utilizada 
por outro programa, o que deixou alguma informação nessa parte da memória, 
como se fosse um lixo de dados.
3Tipos de dados e variáveis
O que podemos fazer, então, para evitar erros no nosso código devido a 
valores deixados na memória? Podemos limpar essa região de memória, e 
isso pode ser feito inicializando o valor de uma variável logo em seguida à 
declaração. A Figura 1 mostra a declaração e a inicialização de uma variável.
Figura 1. Declaração e inicialização de variáveis.
Declaração de variáveis
Quando um programa está sendo executado, signifi ca que ele está na memó-
ria do computador, onde armazenamos os dados nas variáveis. Precisamos 
solicitar que o computador reserve essa região de memória que possuirá um 
nome e um tipo.
O ato de solicitar essa região deve ser feito no programa e chama-se decla-
ração de variáveis. Em C, podemos declarar uma variável da seguinte forma:
Na linha 4, realizamos a declaração de uma variável; primeiramente, é 
preciso colocar o tipo da variável, seguida do nome dela, e, por fim, o ponto-
-e-vírgula que finaliza toda e qualquer linha em C. Na linha 5, inicializamos 
a variável idade com o valor 0, para que, assim, não corramos o risco de ter 
um valor indesejado armazenado nessa variável, sendo utilizado no nosso 
programa.
Vamos a outro exemplo. Imagine que você precise calcular a média de um 
aluno. O seu usuário precisa digitar duas notas e você precisa calcular a média. 
Vamos, nessa etapa, somente declarar e inicializar as variáveis necessárias.
Tipos de dados e variáveis4
Figura 2. Declaração simultânea de variáveis.
Observe que, na linha 4, declaramos na mesma linha 3 variáveis do tipo 
double, pois a média pode ser um número com vírgula. Essa é outra forma 
de declarar variáveis de mesmo tipo de forma simultânea. Nas linhas 5,6 e 
7, inicializamos essas variáveis para evitarmos quaisquer erros causados por 
“lixo” de dados presente na memória. A Figura 2 apresenta uma declaração 
simultânea de variáveis.
A definição do tipo das variáveis, do nome e de como você faz essas 
escolhas constitui uma etapa importante do desenvolvimento de programas. 
Faça essas escolhas com calma e analisando bem o que você utilizará e como.
PAES, R. B. Introdução à Programação com a Linguagem C. São Paulo: Novatec, 2016. 
296p.
PINHEIRO, F. A. C. Elementos de programação em C. Porto Alegre: Bookman, 2012. 548p.
Leituras recomendadas
5Tipos de dados e variáveis
Encerra aqui o trecho do livro disponibilizado para 
esta Unidade de Aprendizagem. Na Biblioteca Virtual 
da Instituição, você encontra a obra na íntegra.
Conteúdo:
DICA DO PROFESSOR
O que são variáveis e para que elas servem? Como definir os tipos de dados que serão utilizados 
em um programa? Acompanhe o vídeo da Dica do Professor e tenha orientações sobre esses 
conceitos e como a linguagem C trata essas questões.
Conteúdo interativo disponível na plataforma de ensino!
EXERCÍCIOS
1) Você precisa declarar uma variável "idade" do tipo inteiro. Qual a maneira correta 
de fazer isso em C?
A) int idade;
B) idade int;
C) inteiro idade;
D) Não é preciso declarar em C; o simples uso da variável faz ela passar a existir.
E) float idade;
2) Ao declarar uma variável que armazena um caractere, você escreveu a seguinte linha 
de código: char -nome; Ao compilar o programa, verificou que essa declaração gerou 
um erro de sintaxe. Qual a alternativa que indica esse erro? 
A) -nome é uma palavra reservada; por esse motivo, ocorreu o erro.
B) char não é um tipo existente em C.
C) Variáveis não devem começar com caracteres especiais como o hífen utilizado na 
declaração.
D) Durante a declaração, não é preciso o ponto e vírgula no final da linha de código.
E) Faltou inicializar a variável, pois, em C, não podemos usar uma variável sem antes 
inicializá-la.
3) Qual a maneira correta de declarar uma variável em C?
A) A declaração é feita primeiro colocando-se o tipo da variável, seguido do nome da variável 
e finalizando a instrução com ponto e vírgula. O tipo é dado por palavras reservadas da 
linguagem em que se está programando.
B) Não se declara variável em C.
C) A declaração é feita colocando-se o nome da variável, seguido do tipo de variável e 
finalizando a instrução com ponto e vírgula. O tipo é dado por palavras reservadas da 
linguagem em que se está programando.
D) A declaração é feita colocando-se o nome da variável, seguido do caractere especial : (dois 
pontos). Em seguida, coloca-se o tipo de variável e finaliza-se a instrução com ponto e 
vírgula. O tipo é dado por palavras reservadas da linguagem em que se está programando.
E) A declaração é feita colocando-se o tipo da variável, seguido do caracter especial : (dois 
pontos). Em seguida, coloca-se o nome da variável e finaliza-se a instrução com ponto e 
vírgula. O tipo é dado por palavras reservadas da linguagem em que se está programando.
Você precisa armazenar os seguintes dados: 
 
- Salário bruto; 
4) 
- Sexo, que será representado por F (Feminino), M (Masculino) ou N (prefiro não 
declarar); 
- Idade, em anos. 
 
Quais são os tipos dessas variáveis?
A) int, char e double.
B) double, char e double.
C) double, char e int.
D) int, char e int.
E) char, double e int.
5) Por que, em alguns casos, é interessante inicializar uma variável em C?
A) Porque o nome da variável pode já ter sido usado por algum programa.
B) Porque essa técnica é obrigatória em todo programa e todas as variáveis em C.
C) Porque é uma boa prática para um melhor entendimento do código-fonte.
D) Para não corrermos o risco de utilizar um valor armazenado anteriormente por outro 
programa naquele espaço de memória.
E) A inicialização de uma variável é desnecessária em C.
NA PRÁTICA
Fernando é estagiário do setor de recursos humanos de uma empresa e está desenvolvendo um 
programa em C para calcular salário bruto, salário líquido e descontos de funcionários da 
empresa onde ele trabalha. Além disso, ele gostaria de saber a quantidade de funcionários que se 
declaram do sexo masculino ou do sexo feminino e a quantidade de funcionários que não 
gostaria de declarar o seu sexo.
Como dados, ele tem a quantidade de horas trabalhadas, o nome do funcionário e o valor da 
hora. Além disso, ele obteve as porcentagens de desconto.
Porém, Fernando ficou confuso sobre quais aspectos precisa levar em consideração na escolha 
das variáveis para desenvolver esse programa e pediu ajuda a um colega da área de 
programação.
SAIBA MAIS
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do 
professor:
Lógica de Programação
Os algoritmos são formados por instruções e dados. Acompanhe no vídeo um resumo sobre 
tipos de dados, variáveis, constantes e instruções.
Conteúdo interativo disponível na plataforma de ensino!
Projeto torne-se um programador - Uso de variáveis
Se você quer se tornar um programador, um passo muito importante é entender o que é uma 
variável e como usá-la. Assista ao vídeo para entender como uma variável é armazenada e como 
se dá o uso dela.
Conteúdo interativo disponível na plataforma de ensino!
Declaração de Variáveis, Leitura e Escrita de Dados
Os algoritmos são formados por instruções e dados. Acompanhe no vídeo um resumo sobre 
tipos de dados, variáveis, constantes e instruções.
Conteúdo interativo disponível na plataforma de ensino!
Entrada e saída de dados
APRESENTAÇÃO
A tarefa de um programa de computador é receberdados por meio de instruções de entrada, 
processar essas informações de acordo com a lógica criada e traduzida para uma determinada 
linguagem de programação e entregar esses dados processados utilizando as instruções de saída 
de dados.
Nesta Unidade de Aprendizagem, você irá estudar uma parte importante do desenvolvimento de 
sistemas: as instruções necessárias para realizar a entrada e a saída de dados em um programa de 
computador.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Definir função.•
Aplicar as funções printf() e scanf().•
Desenvolver códigos de formatação.•
DESAFIO
A linguagem C é uma linguagem amplamente utilizada pela comunidade de desenvolvedores e 
uma linguagem de referência para cursos de ciência da computação em todo o mundo, 
juntamente com Python e Java. Procedural e estruturada, C provavelmente é uma das 
linguagens de programação mais conhecida no mundo.
Considere que você é funcionário do cinema de um shopping. Seu gerente pediu que 
desenvolvesse um programa em C para calcular o valor de ingressos do cinema e fornecer aos 
usuários. O programa deve apresentar ao usuário as opções de filme e o valor total dos 
ingressos, com custo de 12,50 reais cada. Além disso, o valor do ingresso deve ser facilmente 
modificado no código. 
As opções de filme são: 
Se o usuário escolher a opção 1: Vingadores 4 – da Marvel 
Se o usuário escolher a opção 2: Como Treinar o Seu Dragão 3 
Se o usuário escolher a opção 3: Dumbo 
Se o usuário escolher a opção 4: Shazam! 
Neste desafio demonstre como organizar o código para fazer a entrada de dados usando as 
funções printf e scanf. Ao final o usuário tem que ser informado sobre as opções escolhidas. 
INFOGRÁFICO
Uma função é um subprograma que só é executado quando chamado, evitando repetições, ou 
seja, podemos pegar esse trecho de código que irá se repetir e colocar dentro de um bloco - uma 
função.
Outra característica é que as funções ajudam a dividir um programa, deixando o código mais 
organizado. Cada função executa uma operação predetermina. Existem funções predefinidas 
como: printf () e scanf(), e as funções definidas pelo usuário.
Uma função pode ser pensada como uma caixa-preta, quando se utiliza uma função não é 
necessário "estar a par" de todo o código existente dentro dela, apenas saber o que precisa 
entregar para a função (se precisa) e o que ela vai entregar (se entregar).
Acompanhe no Infográfico como a caixa-preta funciona, arrastando a seta.
Conteúdo interativo disponível na plataforma de ensino!
CONTEÚDO DO LIVRO
Os computadores precisam de dados, que são processados pelos programas, para executar as 
suas tarefas. É preciso que nos programas existam instruções para que esses dados sejam 
inseridos e, além disso, instruções para que a resposta desse processamento seja mostrada. Essas 
instruções são as instruções de entrada e de saída.
Leia mais no capítulo Entrada e saída de dados, da obra Algoritmos de programação, que serve 
como base teórica para esta Unidade de Aprendizagem.
Boa leitura.
ALGORITMOS DE 
PROGRAMAÇÃO 
Marcela Santos
Entrada e saída de dados
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
� Descrever o conceito de função.
� Aplicar as funções printf() e scanf().
� Usar códigos de formatação.
Introdução
Os programas de computador são sistemas que processam dados. A tarefa 
de um programa de computador é receber dados por meio de instruções 
de entrada, processar essas informações de acordo com a lógica criada e 
traduzida para uma determinada linguagem de programação e entregar 
esses dados processados, utilizando as instruções de saída de dados.
Neste capítulo, você estudará uma parte importante no desenvol-
vimento de sistemas: as instruções necessárias para realizar a entrada e 
saída de dados em um programa de computador.
O conceito de função
Para explicar o conceito de função, vamos começar com o seguinte código:
Figura 1. Código-fonte: o conceito de função.
Na linha 4, temos o uso de uma função existente em C, a printf. Esta
função escreve na tela o texto existente em parênteses e entre aspas. Existe 
uma complexidade gigante para que seja escrito na tela do computador um 
valor e existam instruções específicas para isso.
Uma função é um conjunto de instruções que realizam uma determinada tarefa. Para 
que fique mais fácil o uso, elas têm nome. 
Seria preciso um conjunto dessas instruções todas as vezes em que essa 
operação fosse necessária em um programa. Para facilitar esse trabalho, em 
programação, existem dois conceitos muito importantes: biblioteca e funções.
Na vida real, também temos algo parecido. Imagine que você tenha que 
fazer café. Automaticamente nós já realizamos todas as tarefas que estão en-
volvidas: colocar água para ferver, colocar o pó do café, esperar a água ferver 
e despejar a água quente sobre o pó de café (essa é a maneira que eu faço café!)
Então todas as vezes que eu vou fazer café, mando essas informações 
automaticamente para o meu cérebro. Em programação, é a mesma coisa: uma 
função é um conjunto de instruções organizadas em bloco, que possuem um 
nome e, quando for preciso, é chamada por meio deste.
As funções podem ser criadas pelos programadores ou podem estar in-
cluídas nas bibliotecas de uma determinada biblioteca — e é aqui que entra 
o nosso segundo conceito: uma biblioteca de programação é um conjunto de
funções que já foram pré-definidas por outros programadores; você precisa
simplesmente adicionar a biblioteca ao seu programa e utilizar as funções.
Esse é o caso da função printf, presente na linha 4 do código apresentado 
na Figura 1. Agora, vamos aprender mais sobre essa e outra função, que são 
as funções básicas de entrada e saída na linguagem C.
Entrada e saída de dados2
As funções printf() e scanf()
Um computador é uma máquina que faz uso de programas e dados para realizar 
tarefas. Esses programas recebem esses dados, processam e entregam-nos 
como resposta a algum tipo de problema. Os programas são compostos de 
instruções que fazem esse processamento. Essas instruções podem ser funções 
de entrada e de saída, e é sobre elas que iremos tratar.
Vale a pena ressaltar que estamos tratando da linguagem de programação 
C, e essas funções sãos funções desta linguagem.
Para usar as funções scanf e printf, é preciso incluir a biblioteca stdio.h no código-fonte, 
por meio da linha
#include <stdio.h>
A função printf é a função de saída de dados no vídeo. Todas as funções 
têm uma sintaxe, que é uma regra que mostra como ela deve ser usada e qual 
o resultado esperado. A sintaxe de printf está representada na Figura 2, 
a seguir:
Figura 2. Sintaxe da função printf.
printf(”entrada de dados”);
aqui você digita o 
texto que deseja
apresentar na tela.
3Entrada e saída de dados
Essa é a forma mais básica para utilizarmos essa função, quando queremos 
simplesmente apresentar na tela uma mensagem de texto. Mas pode haver 
situações em que queremos apresentar o valor de uma variável. Quando isso 
for necessário, basta que, em vez do texto, coloquemos somente a variável 
sem as aspas. 
Mas ainda pode existir a situação em que queremos apresentar um texto 
e uma variável na mesma saída de dados. Para entendermos como isso pode 
ser feito, vamos analisar o seguinte código, na Figura 3:
Figura 3. O uso de printf com código de formatação.
Esse código mostra o ano que a pessoa nasceu, usando, para isso, uma 
variável que contém a idade da pessoa. Foram definidas 3 variáveis do tipo 
inteiro: idade, anoAtual e anoNascimento. 
As variáveis idade e anoAtual possuem valores iniciais, ou seja, não temos 
uma entrada de dados por parte do usuário que executa o programa criado 
com esse código-fonte. A variável anoNascimento é calculada usando-se dois 
operadores: o de atribuição e o de subtração — esses operadores serão vistos

Continue navegando