Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Unidade 3
Conceitos de Programação
Aula 1
Introdução a Conceitos de Programação
Introdução a conceitos de programação
Introdução a conceitos de
programação
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Sejam bem-vindos à primeira vídeoaula desta unidade de
ensino! Vamos mergulhar no universo dos ambientes de
programação em “C”, explorando ferramentas como VS
Code, CodeBlocks entre outras.
 Nesta aula, vamos entender a importância de escolher o
ambiente de programação certo para o desenvolvimento em
“C”. Abordaremos detalhes sobre a configuração e uso
desses ambientes, além de discutir as vantagens e
desvantagens de cada um.
Abordaremos também os compiladores e interpretadores,
compreendendo suas funções e como influenciam no
processo de desenvolvimento de software na linguagem “C”.
Ao final desta aula, esperamos que você esteja mais
familiarizado com os ambientes de programação em “C” e
confiante para escolher a ferramenta mais adequada às suas
necessidades.
Aproveite esta oportunidade para expandir seus
conhecimentos sobre os ambientes existentes na
programação. A sua participação ativa é fundamental para
tornar essa experiência de aprendizado ainda mais
enriquecedora.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Clique aqui para acessar os slides da sua videoaula.
Bons estudos!
Ponto de Partida
Ponto de Partida
Olá, estudante! Seja bem-vindo à esta aula sobre
fundamentos da linguagem de programação “C”.
Neste momento, vamos dedicar um tempo para entender os
ambientes de desenvolvimento disponíveis para a linguagem
“C”, desde os mais populares, como o VS Code e o
CodeBlocks, até outras opções que podem ser úteis para
diferentes necessidades e preferências.
Além disso, abordaremos conteúdos como compiladores e
interpretadores. Vamos entender como essas ferramentas
são essenciais para traduzir nosso código em instruções
compreensíveis para o computador, e discutiremos as
diferenças fundamentais entre eles.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
https://content.cogna.com.br/content/dam/cogna/cms2/80473229-4cc2-45cc-9848-7ddaa0047132/45cc/0a8b0079-746f-552a-9fd7-d0f7f6c034ba.pdf
Por fim, vamos revisitar os conceitos básicos de linguagem
de programação, explorando os fundamentos que nos
permitirão construir programas sólidos em C. Desde
variáveis e tipos de dados até estruturas de controle, pois
este conteúdo é fundamental para continuar
desenvolvimento algoritmos e aprofundando em demais
conteúdos.
Para ilustrar a aprendizagem do conteúdo desta aula,
imagine que você foi incumbido de desenvolver um sistema
modular para gerenciar as vendas de uma loja de calçados.
O sistema precisa realizar operações como cadastrar
produtos, realizar vendas, administrar o estoque e emitir
relatórios de vendas.
O encerramento desta aula se dará com a aplicação desses
conceitos em um exemplo concreto, demonstrando como
esses conteúdos podem ser trabalhados de maneira eficaz.
Vamos Começar!
Vamos Começar!
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Compreender os elementos fundamentais da programação
torna-se imperativo para aqueles que desejam trilhar o
caminho da codificação eficiente e se tornar um
desenvolvedor de softwares robustos e eficazes. Nesta aula,
pois, discutiremos três deles: o ambiente de programação,
os compiladores e interpretadores, além dos conceitos
básicos da linguagem de programação, com foco especial na
linguagem C.
Ambiente de programação
O ambiente de programação refere-se ao conjunto de
ferramentas e recursos necessários para escrever, compilar
e executar o código. No caso da linguagem C, os
programadores geralmente usam ambientes integrados de
desenvolvimento (IDEs), como o Code::Blocks ou o Visual
Studio. Essas ferramentas oferecem uma interface amigável,
realce de sintaxe, depuração e outras funcionalidades que
facilitam o processo de escrita do código. Além dos IDEs, os
programadores também podem optar por ambientes de
linha de comando, utilizando compiladores como o GCC.
Escolher o ambiente certo, assim, depende das preferências
e requisitos específicos do projeto.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Imagine, a título de exemplo, que estamos usando o
Code::Blocks como para desenvolver um programa simples
em C. Podemos começar criando um programa "Hello World"
que exiba uma mensagem na tela. O IDE nos fornece uma
estrutura básica para começar, facilitando a escrita do
código e a compilação do programa.
Figura 1 | Hello World. Fonte: elaborada pelo autor.
A escolha do ambiente de programação é, portanto, crucial
para o desenvolvimento eficiente do software. Além dos IDEs
mencionados, como o Code::Blocks e o Visual Studio, é
importante explorar outras ferramentas, como o Visual
Studio Code, que oferece suporte à linguagem C com
extensões específicas. Editores de texto mais leves, como o
Atom e o Sublime Text, também são opções viáveis devido à
sua flexibilidade.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Ambientes de linha de comando
Ao optar por ambientes de linha de comando, os
programadores podem escolher entre diferentes
compiladores, como o GCC e o Clang. Estes proporcionam
maior controle sobre as opções de compilação e vinculação,
sendo uma abordagem mais manual e educativa.
 Para compreender melhor esse conceito, vamos expandir
nosso exemplo prático para incluir a entrada do usuário, a
manipulação de variáveis e estruturas de controle básicas.
Criaremos um programa em C que solicita ao usuário um
número, realiza uma operação simples e exibe o resultado, o
que permitirá um entendimento mais profundo das
capacidades da linguagem C desde o início.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 2 | Entrada e saída de dados em C. Fonte: elaborada
pelo autor.
Compiladores
Compiladores desempenham um papel importantíssimo na
programação em C. Eles traduzem o código-fonte escrito
pelo programador em linguagem de máquina, tornando-o
executável. O processo de compilação envolve várias etapas,
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
incluindo análise léxica, análise sintática, otimização de
código e geração de código objeto. No contexto da
linguagem C, o compilador traduz o código-fonte (.c) em um
arquivo objeto (.o), que é posteriormente ligado para formar
o executável final. O GCC (GNU Compiler Collection) é um
exemplo comum de compilador utilizado na linguagem C.
Além dele, temos o Makefile, ferramenta auxiliar para
automatizar o processo de compilação e vinculação,
especialmente útil em projetos mais complexos e extensos.
Observe a Figura 3, ela apresenta o compilador GCC em
ação. No exemplo podemos ver que para compilar o arquivo
em “C” com o nome de “media.c”, é necessário executar o
comando: (gcc media.c -o media), que pode ser visualizado
na Figura 3.
Figura 3 | Compilando um programa em “C”. Fonte:
elaborada pelo autor.
Após a compilação, vem o próximo passo que é a execução
do programa denominado “media”. Para isso, basta colocar o
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
comando: (./media), e seu programa vai começar a execução,
como pode ser observado na Figura 4.
Figura 4 | Executando um programa em “C”. Fonte:
elaborada pelo autor.
Interpretadores
Ao contrário dos compiladores, os interpretadores executam
o código fonte linha por linha, sem gerar um arquivo
executável separado. Embora a linguagem C seja geralmente
associada a compiladores, outras linguagens, como Python e
Javascript, frequentemente utilizam interpretadores. Em
algumas situações, o interpretador pode ser mais flexível,
permitindo a execução interativa de código. No entanto, a
execução de código interpretado pode ser mais lenta em
comparação ao código compilado. Cada abordagem tem
suas vantagens e desvantagens, e a escolha depende do
contexto e das necessidades específicas do projeto.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Conceitos básicos de linguagem
de programação
Na linguagem C, os conceitos básicos incluem variáveis, as
quais armazenam dados; operadores, que manipulam esses
dados; estruturasde controle (como condicionais e loops),
que controlam o fluxo do programa; funções, as quais
organizam o código em blocos reutilizáveis; e arrays, que
armazenam coleções de dados. Compreendê-los é, portanto,
fundamental para construir programas eficientes e
funcionais em C.
Variáveis e tipos de dados
 Em C, começamos com variáveis, que são espaços de
armazenamento para dados. As variáveis têm tipos, como
inteiros (int), números de ponto flutuante (float), caracteres
(char), entre outros.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 5 | Tipos de variáveis. Fonte: elaborada pelo autor.
Siga em Frente...
Siga em Frente...
Estruturas de controle
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
As estruturas de controle, como condicionais e loops, são
elementares. O if, else e switch permitem controlar o fluxo
do programa, enquanto for, while e do-while ajudam a
repetir ações.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 6 | If/else. Fonte: elaborada pelo autor.
Funções
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
 As funções são blocos de código que realizam tarefas
específicas. Elas promovem a modularidade e a reutilização
do código.
Figura 7 | Funções. Fonte: elaborada pelo autor.
Arrays e estruturas de dados
Arrays armazenam conjuntos de dados do mesmo tipo,
enquanto estruturas de dados mais complexas, como
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
structs, permitem agrupar diferentes tipos de dados sob um
único nome.
Figura 8 | Vetor. Fonte: elaborada pelo autor.
Ao percorrer esta aula, espero que você tenha adquirido
uma compreensão sólida dos elementos essenciais da
programação em linguagem C. Desde o ambiente de
programação até a aplicação prática de conceitos como
funções e modularização, cada aspecto contribui para a
formação de um programador habilidoso. Continuar
aplicando esses conhecimentos em projetos reais não
apenas fortalecerá suas habilidades em C, como também
preparará o terreno para aventuras futuras em outras
linguagens de programação.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Lembre-se de que a programação é uma habilidade que se
aprimora com a prática constante e a resolução de desafios
reais. Que sua jornada no mundo da programação em
linguagem C seja repleta de descobertas, conquistas e, acima
de tudo, diversão. Boa codificação!
Vamos Exercitar?
Vamos Exercitar?
Vamos retomar a situação apresentada no início da aula,
onde você foi incumbido de desenvolver um sistema
modular para gerenciar as vendas de uma loja de calçados.
O sistema precisa realizar operações como cadastrar
produtos, realizar vendas, administrar o estoque e emitir
relatórios de vendas. A modularização, neste caso, é crucial
para manter o código organizado e permitir futuras
expansões.
Vamos à resolução?
Módulo de cadastro de produtos
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Crie uma função cadastrarProduto que solicite ao
usuário informações como modelo, marca e preço do
calçado.
Armazene os dados em uma estrutura ou em variáveis,
simulando o cadastro do produto.
Módulo de vendas
Desenvolva uma função realizarVenda que, ao receber o
modelo do calçado, efetue a venda, atualizando o
estoque e registrando a operação.
Considere manter um histórico de vendas com
informações como data, cliente e valor total.
Módulo estoque
Implemente uma função gerenciarEstoque que permita
ao usuário consultar a quantidade disponível de
determinado modelo de calçado.
Simule a atualização do estoque conforme as vendas são
realizadas.
Módulo de relatórios
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Crie uma função emitirRelatorio que apresente
informações relevantes, como o total de vendas em um
período específico.
Considere utilizar estruturas de controle para filtrar os
dados necessários.
Na sequência, uma sugestão do desenvolvimento da
situação é apresentada. Considere um modelo de
aprendizado replicando-o e implementando alterações para
seu próprio aprendizado.
A ideia do método “main()” é apresentada com a inserção de
um menu de operações, dando a ideia do desenvolvimento
de funções para as ações de cadastro de produtos, venda,
consultado de estoque, emissão de relatório de vendas e
uma opção para sair do programa.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 9 | Venda de calçados. Fonte: elaborada pelo autor.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
O desenvolvimento desse sistema para a venda de calçados
é fundamental para garantir a eficiência e manutenção. A
estrutura modular possibilita a construção independente de
cada funcionalidade, simplificando a detecção e correção de
possíveis problemas. Além disso, proporciona escalabilidade
ao sistema, permitindo futuras adições sem comprometer a
estrutura existente. A utilização de funções específicas para
cada módulo promove um código mais organizado e
compreensível, evidenciando a importância da
modularização em projetos de software.
Saiba mais
Saiba mais
Para saber mais sobre os conceitos e aplicabilidade dos
algoritmos e suas propriedades, consulte os Capítulos 1 e 2
do livro Elementos de programação em C, de Pinheiro,
disponível no repositório da Biblioteca virtual.
PINHEIRO, F. de A. C. Capítulos 1 e 2. In: Elementos de
programação em C. Porto Alegre: Bookman, 2012, p. 1-30. 
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
https://integrada.minhabiblioteca.com.br/reader/books/9788540702035/pageid/10
https://integrada.minhabiblioteca.com.br/reader/books/9788540702035/pageid/10
https://integrada.minhabiblioteca.com.br/reader/books/9788540702035/pageid/10
https://integrada.minhabiblioteca.com.br/reader/books/9788540702035/pageid/10
https://integrada.minhabiblioteca.com.br/reader/books/9788540702035/pageid/10
Referências
Referências
CORMEN, T. et al. Algoritmos: teoria e prática. 3. ed. Rio de
Janeiro: LTC, 2022.
MANZANO, J. A. N. G.; OLIVEIRA, J. F. de. Estudo dirigido de
algoritmos. São Paulo: Érica, 2000.
MENÉNDEZ, A. Simplificando algoritmos. São Paulo: LTC,
2023.
SILVA, F. S. C. da; FINGER, M.; MELO, A. C. V. Lógica para
computação. 2. ed. São Paulo: Cengage Learning, 2017.
ZIVIANI, N. Projeto de algoritmos com implementações em
Pascal e C. 3. ed. São Paulo: Cengage Learning, 2011.
Aula 2
Introdução à Linguagem C
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Introdução à Linguagem C
Introdução à Linguagem C
Olá, estudante! Nesta videoaula  vamos dar continuidade à
nossa jornada de aprendizado, desta vez explorando os
fundamentos essenciais da programação através de temas
como entradas, saídas e operadores, linguagem de
programação em C e tipos de dados.
Em primeira instância, estudaremos as entradas e saídas em
um programa, como interagir com o usuário e processar
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
informações de maneira eficaz. Na sequência,
mergulharemos no universo da linguagem de programação
C, desbravando suas características e compreendendo como
ela se tornou uma ferramenta poderosa na construção de
softwares robustos.
Nesse trajeto, não poderíamos deixar de abordar os
conceitos de tipos de dados, constantes e variáveis,
elementos fundamentais na construção de algoritmos
eficientes. Entender como manipular e armazenar dados é
crucial para o desenvolvimento de soluções inovadoras.
Participe ativamente desta jornada, explorando cada
conceito com entusiasmo e engajamento. Aprofundar seus
conhecimentos nesses temas é o caminho para se tornar um
programador versátil e capacitado. Contamos com a sua
participação para fazer desta aula uma etapa valiosa em sua
jornada de aprendizado. Vamos juntos desvendar os
segredos por trás da programação e aprimorar suas
habilidades no mundo da computação.
Clique aqui para acessar os slides da sua videoaula.
Bons estudos!
Ponto de Partida
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
https://content.cogna.com.br/content/dam/cogna/cms2/80473229-4cc2-45cc-9848-7ddaa0047132/45cc/8bb9f867-ff0d-5fbc-8ada-3ac2581e4208.pdf
Ponto de Partida
Olá, estudante! Seja bem-vindo à esta jornadaatravés de
temas cruciais que ampliarão sua compreensão no vasto
universo da programação. Inicialmente, vamos explorar os
fundamentos das entradas, saídas e operadores,
entendendo não apenas o que são, mas também como esses
elementos são essenciais para a interação e processamento
de dados em um programa.
Em seguida, daremos um mergulho na fascinante linguagem
de programação C, desbravando suas características
introdutórias. Isso porque compreender os alicerces dessa
linguagem é primordial para se tornar proficiente no
desenvolvimento de softwares robustos e eficientes.
Nosso percurso incluirá, também, uma imersão nos tipos de
dados, constantes e variáveis, pilares indispensáveis na
construção de algoritmos eficazes. Aprender como
manipular e armazenar dados é, pois, capital para a criação
de soluções inovadoras.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
A introdução a funções e modularização fará parte desta
jornada, proporcionando uma percepção profunda de como
estruturar e organizar código de maneira produtiva e a
habilidade de lidar com projetos mais complexos.
Para ilustrar a aprendizagem desta aula, imagine que você
recebeu uma demanda para desenvolver um aplicativo que
será responsável pelo autoatendimento a usuários de um
banco digital. O sistema deve oferecer funcionalidades como
login, consulta de saldo, entre outras.
O encerramento desta aula se dará com a aplicação desses
conceitos em exemplos concretos, demonstrando como as
entradas, saídas, operadores, linguagem de programação C,
tipos de dados, constantes e variáveis se entrelaçam de
maneira poderosa. Bons estudos! 
Vamos Começar!
Vamos Começar!
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
A compreensão dos conceitos anteriormente mencionados
é, então, indispensável para estabelecer as bases
necessárias para a programação em C.
Nesse contexto, a manipulação de dados é uma peça
fundamental. As entradas representam a maneira como um
programa recebe informações do usuário ou de fontes
externas, enquanto as saídas são os resultados ou respostas
gerados pelo programa. Para conectar esses processos,
utilizamos operadores, que são símbolos ou palavras-chave
que executam operações específicas sobre os dados,
permitindo a construção de algoritmos complexos.
Quanto à linguagem de programação C, desenvolvida por
Dennis Ritchie nos anos 70, ela é conhecida por sua
eficiência e versatilidade. Amplamente utilizada em sistemas
operacionais, drivers de hardware e aplicativos de baixo
nível, C é apreciada por sua sintaxe clara e poderosa. Sua
abordagem procedural favorece o controle direto sobre a
memória, proporcionando aos programadores um nível de
otimização crucial em projetos de software.
Já os tipos de dados são categorias que especificam quais
valores uma variável pode armazenar. Constantes são
valores fixos que não podem ser alterados durante a
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
execução do programa, enquanto variáveis são espaços de
armazenamento nomeados que podem conter valores
mutáveis ao longo do tempo. A escolha adequada entre
constantes e variáveis é capital para a eficiência e clareza do
código, permitindo ao programador gerenciar dados de
forma eficaz e flexível.
Entradas, saídas de dados em C
Vamos começar entendendo a importância das entradas e
saídas em C. No contexto da programação, a entrada refere-
se às informações que o programa recebe do usuário ou de
outras fontes, enquanto a saída representa os resultados ou
mensagens exibidas para o usuário. Em C, utilizamos a
função scanf para receber entradas e printf para exibir
saídas. No entanto, é importante compreender a
necessidade de fornecer formatos corretos ao utilizar a
função scanf. Por exemplo, %d é usado para números
inteiros e %f para números de ponto flutuante. Essa atenção
aos detalhes garante uma interação fluida entre o usuário e
o programa.
A prática desses conceitos pode ser observada na Figura 1:
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 1 | Printf e scanf. Fonte: elaborada pelo autor.
Neste exemplo, o programa solicita ao usuário que insira um
número inteiro, armazena esse valor na variável número e,
em seguida, exibe a entrada do usuário de volta. Essa
interação forma a base para construir programas mais
dinâmicos e úteis.
Operadores aritméticos,
relacionais e lógicos em C
A compreensão abrangente dos operadores é essencial para
manipular dados e realizar operações em C. Os operadores
aritméticos (+, -, *, /, %), assim, são fundamentais para
realizar cálculos matemáticos. Por exemplo, podemos
calcular a soma de dois números como:
int resultado = 10 + 5;  // Aqui, o “resultado” será 15
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Já os operadores relacionais (==, !=, , =) são
empregados para comparar valores e são vitais em
estruturas de controle de fluxo, como o condicional if.
Considere o seguinte exemplo:
Figura 2 | Operadores relacionais. Fonte: elaborada pelo
autor.
Neste caso, o programa verifica se a condição (a 0) e (y indica que estamos utilizando
funções de entrada e saída padrão da biblioteca C.
Controle de fluxo
A linguagem de programação C permite o uso de estruturas
de controle de fluxo, como if, else, while, e for. Estas são
fundamentais para a tomada de decisões e repetição de
instruções.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 5 | Controle de fluxo em C. Fonte: elaborada pelo
autor.
Para ilustrar a utilização da linguagem C em um contexto
prático, vamos criar um programa simples que verifica a
possibilidade de voto com base na idade do usuário.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 6 | Verificação da possibilidade de voto. Fonte:
elaborada pelo autor.
Neste exemplo, o programa solicita ao usuário que insira sua
idade. Em seguida, utilizando uma estrutura condicional if,
verifica se a idade fornecida é igual ou superior a 16 anos, a
idade mínima para votar no Brasil. Dependendo do
resultado, o programa exibe uma mensagem indicando se o
usuário é elegível para votar ou não.
Esse programa simples mostra como a linguagem C pode ser
utilizadapara criar algoritmos que tomam decisões com
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
base em condições específicas. A estrutura de controle de
fluxo if é, portanto, uma ferramenta essencial para criar
lógica condicional em seus programas.
Tipos de dados: constantes e variáveis
Em C, os tipos de dados são essenciais para definir o tipo de
informação que uma variável pode armazenar. Os principais
tipos de dados incluem:
Inteiros (int): usados para armazenar números inteiros,
positivos ou negativos. Por exemplo:
int idade = 25;
Ponto flutuante (float, double): utilizados para armazenar
números decimais. O float tem uma precisão menor em
comparação ao double. Por exemplo:
float altura = 1.75;
Caracteres (char): armazena um único caractere. Por
exemplo:
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
char letra = 'A';
Lógicos (bool): representa valores booleanos true ou
false. Exemplo:
bool estaChovendo = 1;  // true
Para esse tipo de dado, deve ser usada a bibliioteca
stdbool.h. Para isso, basta acrescentar um "include" no início
do código
Outros tipos de dados: C oferece outros tipos de dados,
como short, long, e unsigned para variações nos tipos
primitivos mencionados.
Constantes
Constantes são valores fixos que não podem ser alterados
durante a execução do programa. Em C, existem dois tipos
principais de constantes:
Constantes literais: são valores específicos escritos
diretamente no código. Por exemplo:
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
int ano = 2022;
Constantes simbólicas (usando #define): são
identificadores associados a um valor constante. Por
exemplo:
#define PI 3.14
Variáveis
Variáveis são espaços de armazenamento com um nome
específico que representam valores modificáveis durante a
execução do programa. A declaração de uma variável
envolve a definição do tipo de dado que ela pode armazenar.
Exemplo:
int quantidade = 10;
As variáveis oferecem flexibilidade, permitindo a
manipulação e o armazenamento de dados dinâmicos
durante a execução do programa.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Em resumo, a linguagem C é uma ferramenta poderosa e
versátil para programação de sistemas e aplicações de baixo
nível. Sua sintaxe clara, combinada a um controle preciso
sobre a máquina, a torna uma escolha valiosa para
desenvolvedores.
Vamos Exercitar?
Vamos Exercitar?
Retomando o cenário apresentado no início da aula, você foi
designado para criar um sistema modular para o
autoatendimento no aplicativo de um banco digital. Este
sistema deve oferecer funcionalidades como login na conta
do usuário, consulta de saldo e realização de depósitos
bancários. A modularização desempenha um papel
fundamental para garantir a eficiência e manutenção deste
sistema, permitindo a construção independente de cada
funcionalidade e facilitando a detecção e correção de
possíveis problemas.
Módulo de login
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Crie uma função realizarLogin() que solicite ao usuário
seu nome de usuário e senha.
Verifique se as credenciais fornecidas estão corretas e
conceda acesso à conta do usuário.
Módulo de consulta de saldo
Desenvolva uma função consultarSaldo() que exiba o
saldo disponível na conta do usuário.
Acesse os dados do cliente e apresente o saldo
atualizado.
Módulo de depósitos bancários
Implemente uma função realizarDeposito() que permita
ao usuário realizar um depósito em sua conta.
Solicite o valor a ser depositado e atualize o saldo na
conta do usuário.
Na sequência, é apresentada uma sugestão para resolução
dessa atividade no formato de codificação em “C”:
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 7 | Resolução da atividade. Fonte: elaborada pelo
autor.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 8 | Resolução da atividade - cont. Fonte: elaborada
pelo autor.
O desenvolvimento deste sistema para o autoatendimento
no aplicativo de um banco digital é essencial para
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
proporcionar uma experiência eficiente e conveniente aos
clientes. A estrutura modular permite a adição de novas
funcionalidades sem comprometer a estrutura existente,
garantindo a escalabilidade do sistema. A utilização de
funções específicas para cada módulo promove um código
mais organizado e compreensível, destacando a importância
da modularização em projetos de software neste contexto
bancário digital.
Saiba mais
Saiba mais
Para compreender profundamente questões relacionadas a
valores de entrada e saída de informações, consulte o
Capítulo 1 do livro Algoritmos – Teoria e Prática, de Cormen,
disponível no repositório da Biblioteca virtual.
CORMEN, T. et al. Algoritmos: teoria e prática. 3. ed. Rio de
Janeiro: LTC, 2022, p. 1-3. 
Referências
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
https://integrada.minhabiblioteca.com.br/reader/books/9788595158092/epubcfi/6/16[%3Bvnd.vst.idref%3Dchapter01]!/4
https://integrada.minhabiblioteca.com.br/reader/books/9788595158092/epubcfi/6/16[%3Bvnd.vst.idref%3Dchapter01]!/4
Referências
CORMEN, T. et al. Algoritmos: teoria e prática. 3. ed. Rio de
Janeiro: LTC, 2022.
MANZANO, J. A. N. G.; OLIVEIRA, J. F. de. Estudo dirigido de
algoritmos. São Paulo: Érica, 2000.
MENÉNDEZ, A. Simplificando algoritmos. São Paulo: LTC,
2023.
SILVA, F. S. C. da; FINGER, M.; MELO, A. C. V. Lógica para
computação. 2. ed. São Paulo: Cengage Learning, 2017.
ZIVIANI, N. Projeto de algoritmos com implementações em
Pascal e C. 3. ed. São Paulo: Cengage Learning, 2011.
Aula 3
Estruturas Condicionais em Linguagem C
Estruturas condicionais em linguagem C
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Estruturas condicionais em
linguagem C
Olá, estudante! Nesta videoaula nos concentraremos nas
estruturas condicionais.
Vamos explicar como elas são fundamentais para controlar o
fluxo de execução de um programa. A estrutura condicional
simples permitirá que você tome decisões com base em uma
condição única, enquanto a estrutura condicional composta
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
expandirá suas habilidades, possibilitando a avaliação de
múltiplas condições.
Já com a estrutura condicional encadeada, você aprenderá a
lidar com situações mais complexas, nas quais as decisões
podem depender de uma série de condições inter-
relacionadas. Compreender essa técnica é, pois, crucial para
o desenvolvimento de algoritmos mais sofisticados.
Além disso, destacaremos a execução sequencial, que é a
base para a organização lógica de um programa. Em outras
palavras, entender como as instruções são executadas em
ordem sequencial é vital para garantir o funcionamento
adequado do código.
Portanto, participe ativamente desse aprendizado,
explorando cada conceito com entusiasmo e dedicação.
Aprofundar suas habilidades nessas áreas é essencial para
se tornar um programador completo e competente. 
Clique aqui para acessar os slides da sua videoaula.
Bons estudos!
Ponto de Partida
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
https://content.cogna.com.br/content/dam/cogna/cms2/80473229-4cc2-45cc-9848-7ddaa0047132/45cc/d844067b-8adb-5d7d-8338-985ca1e371b8.pdf
Ponto de Partida
Olá, estudante! Seja bem-vindo à esta aula sobre estruturas
condicionais, fundamentais para o controle lógico de um
programa.
Começaremos com a estrutura condicional simples, a qual
permite que você tome decisões com base em uma única
condição, fator primordial para controlar o fluxo do
programa de maneira eficiente. Em seguida, avançaremos
para a estrutura condicional composta, em que a avaliação
de múltiplas condições se torna possível, proporcionando
maior flexibilidade na tomada de decisões.
A estrutura condicional encadeada será o nosso próximo
destino, explorando situações mais complexas nas quais as
decisões dependem da inter-relação de diversas condições.
O domínio dessa técnica é, deste modo, essencial para o
desenvolvimento de algoritmos mais sofisticados e robustos.
Não podemos, do mesmo modo, subestimar a importância
da execução sequencial. Esta é abase para a organização
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
lógica de um programa, garantindo que as instruções sejam
executadas em ordem cronológica, e sua compreensão é
vital para o funcionamento adequado do código.
Como exemplo prático, você deverá desenvolver de um
algoritmo que irá classificar um triângulo em um
determinado tipo, sendo: isósceles, escaleno ou equilátero.
A aplicação prática dessas estruturas em exemplos
concretos encerrará esta aula, demonstrando como elas se
entrelaçam eficazmente para criar programas funcionais e
robustos.
Aproveite ao máximo este material e construa uma base
sólida para sua trajetória na área de algoritmos e lógica de
programação. Sua dedicação ao estudo desses conceitos
será importante para que você se torne um programador
habilidoso, capaz de enfrentar desafios mais complexos.
Bom aprendizado! 
Vamos Começar!
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Vamos Começar!
A linguagem de programação C, venerável em sua
simplicidade e poder, é um pilar fundamental no mundo da
computação. O C tem um papel determinante na construção
de sistemas operacionais, compiladores e uma miríade de
aplicações de software. Nesta aula, exploraremos as
estruturas condicionais em C, um elemento vital que
concede aos desenvolvedores o poder de tomada de
decisões em seus programas. Essas estruturas são a espinha
dorsal para a criação de algoritmos dinâmicos e adaptáveis,
tornando-se uma competência essencial para qualquer
programador em C.
O ponto de partida é a estrutura condicional simples, que
permite a execução de um bloco de código com base em
uma condição específica. À medida que avançamos,
entraremos na complexidade da estrutura condicional
composta, que expande as possibilidades, oferecendo
caminhos distintos a depender das condições.
Aprofundaremos nossos estudos com a estrutura
condicional encadeada, a qual proporciona a capacidade de
avaliar múltiplas condições sequencialmente. Além disso,
discutiremos a execução sequencial, não estritamente uma
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
estrutura condicional, mas um aspecto vital para a coerência
e lógica do fluxo do programa em C.
Ao compreender esses conceitos, os programadores se
equiparão com as ferramentas necessárias para criar
programas eficientes e inteligentes, aproveitando ao máximo
o potencial da linguagem C.
Estrutura condicional simples
A estrutura condicional simples é a base da tomada de
decisões em C. Ela permite a execução de um bloco de
código apenas se uma condição for verdadeira. Observe o
exemplo:
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 1 | Condicional simples. Fonte: elaborada pelo autor.
Aqui, a mensagem "Você é maior de idade" será exibida
apenas se a condição idade maior ou igual a 18 for
verdadeira.
Estrutura condicional composta
A estrutura condicional composta permite a execução de
diferentes blocos de código, dependendo de uma condição.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Vejamos a Figura 2:
Figura 2 | Condicional composta. Fonte: elaborada pelo
autor.
Neste exemplo, há dois blocos distintos de código, um para o
caso em que o número é positivo e outro para quando não é
positivo.
Siga em Frente...
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Siga em Frente...
Estrutura condicional encadeada
A estrutura condicional encadeada permite lidar com várias
condições em sequência. Cada bloco de código depende da
avaliação das condições anteriores. Observe:
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 3 | Condicional encadeada. Fonte: elaborada pelo
autor.
Na Figura 3, diferentes mensagens são exibidas com base na
faixa de nota em que o aluno se encontra.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Execução sequencial
A execução sequencial em programação refere-se à ordem
em que as instruções são executadas, seguindo um fluxo
linear de cima para baixo no código. Em C, como em muitas
outras linguagens, as instruções são processadas uma após
a outra, na ordem em que aparecem no código-fonte, sem
desvios automáticos, a menos que uma estrutura de
controle, como a condicional, seja utilizada para modificar
esse fluxo. Isso significa que a primeira instrução é
executada, seguida pela segunda, e assim por diante, até o
final do programa. O controle do programa é transferido de
uma instrução para a próxima de maneira linear, sem pulos
automáticos.
A execução sequencial é, pois, a essência do funcionamento
padrão de um programa e representa a forma mais básica
de controle de fluxo. Sua importância reside na
previsibilidade e na compreensão clara do fluxo de um
programa. Ela oferece uma estrutura lógica e fácil de seguir,
facilitando a leitura, manutenção e depuração do código. Ao
entender como as instruções são executadas
sequencialmente, os programadores podem antecipar o
comportamento de seus programas e identificar com
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
precisão onde e como as variáveis são modificadas ao longo
do tempo.
Em suma, é fundamental aprender a execução sequencial
como base para estruturas de controle mais avançadas,
como as estruturas condicionais e de repetição. Estas
introduzem desvios no fluxo sequencial, permitindo que os
programas tomem decisões ou repitam certas instruções
com base em condições específicas. Assim, a execução
sequencial não apenas fornece clareza no fluxo padrão do
programa, mas também serve como alicerce para a
construção de algoritmos mais complexos e dinâmicos.
A título de ilustração, imagine um programa que solicite ao
usuário dois números, some eles e, em seguida, exiba o
resultado.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 4 | Estrutura de uma execução sequencial. Fonte:
elaborada pelo autor.
Neste exemplo direto de execução sequencial, cada
instrução é executada em ordem:
1. Solicitamos ao usuário que insira o primeiro número.
2. Em seguida, solicitamos o segundo número.
3. Calculamos a soma dos dois números.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
4. Finalmente, exibimos o resultado da soma.
Cada passo, portanto, é concluído antes de passarmos para
o próximo. A execução sequencial, nesse sentido, é
determinante para a compreensão direta do fluxo do
programa, tornando-o mais legível e fácil de entender.
Em síntese, as estruturas condicionais em C representam a
espinha dorsal da capacidade de um programa fazer
escolhas inteligentes em tempo de execução. Seu
entendimento claro é crucial e permite que determinados
blocos de código sejam acionados com base em condições
específicas. Expandindo esse conhecimento para estruturas
condicionais compostas, os programadores podem criar
lógicas mais complexas, dando ao programa a capacidade de
se adaptar a uma variedade de circunstâncias.
A estrutura condicional encadeada eleva ainda mais essa
flexibilidade, possibilitando que diferentes cenários se
desdobrem sequencialmente e garantindo que cada
condição seja avaliada em ordem. Esse nível de controle é
essencial para a construção de softwares adaptáveis e
capazes de responder de maneira dinâmica a diferentes
entradas e variáveis. Em paralelo, a execução sequencial,
embora não seja uma estrutura condicional direta,
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
desempenha um papel importante na orquestração lógica de
um programa, estabelecendo a sequência de operações de
maneira clara e compreensível.
Ao dominar esses conceitos, os programadores não apenas
criam programas mais eficientes, mas também desenvolvem
a habilidade de construir soluções complexas de maneira
estruturada. A capacidade de tomar decisões informadas e
executar ações condicionais não só confere robustez ao
software, mas também constitui a base para a criação de
algoritmos inteligentes e adaptáveis. Assim, a compreensão
profunda das estruturas condicionais, aliada à execução
sequencial, aprimora a qualidade do código e capacita os
desenvolvedores a enfrentarem desafios de programação de
forma mais eficaz e criativa.
Vamos Exercitar?
Vamos Exercitar?Como apresentado no início da aula, você irá desenvolver
um sistema modular para classificar triângulos com base nas
medidas de seus três lados. Este sistema deve oferecer
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
funcionalidades como verificar se os lados formam um
triângulo válido e determinar o tipo de triângulo (equilátero,
isósceles ou escaleno).
Vamos à resolução?
Módulo de verificação de triângulo
Crie uma função verificarTriangulo() que receba como
entrada as medidas dos três lados e verifique se esses
valores formam um triângulo válido.
Utilize a propriedade de que a soma de dois lados de um
triângulo é sempre maior que o terceiro lado.
Módulo de classificação de triângulo
Desenvolva uma função classificarTriangulo() que, ao
receber as medidas dos três lados do triângulo válido,
determine se é equilátero (três lados iguais), isósceles
(dois lados iguais) ou escaleno (três lados diferentes).
Utilize estruturas de controle para comparar os valores
dos lados e determinar o tipo de triângulo.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Na sequência, será apresentadoa uma sugestão para
resolução dessa atividade no formato de codificação em “C”:
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 5 | Verificar triângulo. Fonte: elaborada pelo autor.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
O desenvolvimento deste sistema para a classificação de
triângulos é essencial para garantir a eficiência e
manutenção. A estrutura modular permite a adição de novas
funcionalidades sem comprometer a estrutura existente,
garantindo a escalabilidade do sistema. A utilização de
funções específicas para cada módulo promove um código
mais organizado e compreensível, destacando a importância
da modularização em projetos de software neste contexto
de geometria computacional.
Saiba mais
Saiba mais
Para saber mais sobre as estruturas condicionais e de
seleção, consulte o Capítulo 4 do livro Programação em C++,
de Aguilar, disponível no repositório da Biblioteca virtual.
AGUILAR, L. J. Capítulo 4. In: Programação em C++. São Paulo:
McGraw-Hill, 2008, p. 137-160.
Referências
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
https://integrada.minhabiblioteca.com.br/reader/books/9788580550269/pageid/164
https://integrada.minhabiblioteca.com.br/reader/books/9788580550269/pageid/164
https://integrada.minhabiblioteca.com.br/reader/books/9788580550269/pageid/164
https://integrada.minhabiblioteca.com.br/reader/books/9788580550269/pageid/164
Referências
AGUILAR, L. J. Programação em C ++. São Paulo: McGraw-Hill,
2008.
CORMEN, T. et al. Algoritmos: teoria e prática. 3. ed. Rio de
Janeiro: LTC, 2022.
MANZANO, J. A. N. G.; OLIVEIRA, J. F. de. Estudo dirigido de
algoritmos. São Paulo: Érica, 2000.
MENÉNDEZ, A. Simplificando algoritmos. São Paulo: LTC,
2023.
SILVA, F. S. C. da; FINGER, M.; MELO, A. C. V. Lógica para
computação. 2. ed. São Paulo: Cengage Learning, 2017.
ZIVIANI, N. Projeto de algoritmos com implementações em
Pascal e C. 3. ed. São Paulo: Cengage Learning, 2011.
Aula 4
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Operadores na Linguagem C
Operadores na linguagem C
Operadores na linguagem C
Olá, estudante! Nesta videoaula exploraremos alguns
conceitos essenciais na linguagem de programação C: as
atribuições múltiplas, os operadores aritméticos, a
conversão de tipos em atribuições e o prático operador de
atribuição. Mostraremos como atribuir valores a várias
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
variáveis de uma vez e dominar operações matemáticas
básicas. Aprenderemos, também, como converter tipos de
dados para ampliar as opções e tornar as tarefas de
atribuição mais concisas.
Ao entender esses conceitos, você ganhará ferramentas
poderosas para escrever códigos mais eficientes e se tornará
um programador mais versátil. 
Clique aqui para acessar os slides da sua videoaula.
Bons estudos!
Ponto de Partida
Ponto de Partida
Olá, estudante! Seja bem-vindo à esta aula, onde
abordaremos três tópicos essenciais que são os pilares da
programação: atribuições múltiplas, operadores aritméticos
e conversão de tipos em atribuições.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
https://content.cogna.com.br/content/dam/cogna/cms2/80473229-4cc2-45cc-9848-7ddaa0047132/45cc/92de1075-9c64-5adb-aa51-6b0b68cdcadd.pdf
Atribuições múltiplas: este conceito pode parecer
simples à primeira vista, mas é uma ferramenta
poderosa nas mãos de um programador habilidoso. A
capacidade de atribuir valores a múltiplas variáveis
simultaneamente pode economizar tempo e tornar o
código mais limpo e legível.
Operadores aritméticos: os operadores aritméticos são
as ferramentas que nos permitem realizar cálculos em
nossos programas. Desde as operações básicas de
adição, subtração, multiplicação e divisão até operações
mais complexas como exponenciação e resto da divisão,
os operadores aritméticos são essenciais para manipular
números em nossos programas.
Conversão de tipos em atribuições: às vezes, precisamos
converter um tipo de dado em outro para realizar certas
operações ou atender a requisitos específicos do
programa. A conversão de tipos em atribuições nos
permite fazer exatamente isso. Durante esta aula,
exploraremos como realizar conversões de tipos em
atribuições e entenderemos a importância desse
conceito ao lidar com diferentes tipos de dados em
nossos programas.
Para ilustrar o aprendizado desta aula, imagine que você
deverá  desenvolver um sistema modular para verificar se
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
determinado produto está corretamente com o mesmo peso
indicado no rótulo.
Explore, ao máximo, o material desta aula e pratique os
conteúdos abordados. Juntos, construiremos uma base
sólida para sua trajetória na área de algoritmos e lógica de
programação.
Ao final desta aula, você estará mais familiarizados com
esses conceitos fundamentais da programação. Estaremos
prontos para dar os primeiros passos em direção a uma
compreensão mais profunda da arte da codificação.
Portanto, vamos mergulhar de cabeça nestes conteúdos!
Preparem-se para desafiar suas mentes, expandir seus
horizontes e se tornarem mestres na arte de criar software.
O aprendizado começa agora!
Bons estudos!
Vamos Começar!
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Vamos Começar!
A linguagem de programação C permanece como uma pedra
angular na construção de sistemas e aplicativos, sendo
venerada por sua eficiência, simplicidade e controle direto
sobre o hardware. Desde a sua criação, o C tem se destacado
como a base para o desenvolvimento de inúmeras
aplicações críticas, desde sistemas operacionais até sistemas
embarcados. Sua influência é tão profunda que muitas
linguagens modernas ainda têm elementos inspirados em C.
Dentro deste vasto ecossistema, dois conceitos
fundamentais se destacam: as atribuições múltiplas e os
operadores aritméticos, que determinam a manipulação
eficaz de dados e variáveis.
No universo das atribuições múltiplas, C oferece uma
ferramenta poderosa que permite a inicialização simultânea
de várias variáveis com um único valor, simplificando o
código e melhorando sua clareza. Essa capacidade reduz a
quantidade de linhas de código necessárias, e promove uma
estrutura mais concisa e compreensível. Os operadores
aritméticos, por sua vez, fornecem os blocos de construção
essenciais para realizar operações matemáticas, desde
cálculos simples até algoritmos mais complexos. Sua
presença é vital para a manipulação eficiente de dados
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
numéricos, conferindo flexibilidade e precisão ao
desenvolvimento em C.
Entretanto, a riqueza dessa linguagem vai além de conceitos
isolados. A necessidade de conversão de tipos em
atribuições destaca-se como um aspecto crítico,
especialmente quando é necessário transferir dados entre
variáveis de diferentes tipos. A habilidade de realizar essa
conversão, seja de forma explícita ou implícita, é primordial
para garantir a coerência dos dados e o bom funcionamento
do código.Complementando esses conceitos, os operadores
de atribuição, incluindo suas formas combinadas, emergem
como recursos versáteis para a manipulação dinâmica de
variáveis, permitindo não apenas a atribuição de valores,
como também a realização de operações complexas de
forma eficiente. Assim, compreender profundamente esses
elementos é importante para desvendar todo o potencial
que a linguagem C oferece, capacitando os programadores a
criarem soluções robustas e efetivas.
Atribuições múltiplas e
operadores aritméticos
Em C, a capacidade de realizar atribuições múltiplas é uma
característica notável que oferece uma maneira eficiente de
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
inicializar várias variáveis com um único valor. Essa
funcionalidade simplifica o código e melhora
significativamente sua legibilidade, tornando-o mais conciso
e compreensível. Por meio dessa abordagem, é possível
reduzir a quantidade de linhas de código necessárias,
resultando em programas mais refinados e fáceis de manter.
Figura 1 | Atribuição de valores. Fonte: elaborada pelo autor.
Como podemos observar na Figura 1, as variáveis a, b e c
são, em uma única instrução, todas atribuídas ao valor 10, o
que economiza espaço no código-fonte e cria uma relação
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
explícita entre elas, facilitando a compreensão por outros
programadores e pelo próprio desenvolvedor em futuras
revisões.
Os operadores aritméticos em C têm, portanto, um papel
crucial na realização de cálculos matemáticos e na
manipulação de dados numéricos. Além dos operadores
básicos, como adição (+), subtração (-), multiplicação (*) e
divisão (/), há também o operador de módulo (%), que
retorna o resto da divisão entre dois números. A correta
compreensão da precedência desses operadores é
fundamental para garantir que as operações sejam
executadas na ordem desejada, permitindo a construção de
expressões matemáticas complexas de forma precisa.
Essa combinação de atribuições múltiplas e operadores
aritméticos não apenas agiliza o desenvolvimento, como
também contribui para a eficiência do código em C. Ao
empregar esses recursos, os programadores podem criar
algoritmos mais claros, concisos e eficientes, promovendo
uma abordagem eficaz na manipulação de variáveis e na
execução de operações matemáticas.
Conversão de tipos em
atribuições
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
ç
Em programação, a manipulação de dados muitas vezes
envolve a transferência de valores entre variáveis de
diferentes tipos. A conversão de tipos em atribuições é
determinante nesse contexto, permitindo que
programadores ajustem a representação dos dados
conforme necessário, garantam sua coerência e evitem
perdas de informação durante o processo. Em C, essa
conversão pode ser explícita ou implícita, dependendo da
situação e da compatibilidade entre os tipos envolvidos.
Figura 2 | Conversão explícita. Fonte: elaborada pelo autor.
No exemplo da Figura 2, uma conversão explícita é realizada
para transformar a variável inteiro de tipo int para float. Essa
abordagem é útil quando se deseja preservar a parte
decimal de um número durante a atribuição. A compreensão
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
detalhada das regras de conversão de tipos em C é, assim,
essencial para evitar comportamentos inesperados e
garantir a integridade dos dados ao longo do programa.
A conversão implícita de tipos também ocorre em situações
em que o compilador automaticamente ajusta os tipos para
realizar operações. Por exemplo:
Figura 3 | Conversão implícita. Fonte: elaborada pelo autor.
Neste caso, o valor inteiro é implicitamente convertido para
um número de ponto flutuante antes de realizar a adição. O
entendimento dessas nuances é, então, capital para
programadores que buscam escrever um código robusto e
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
preciso em C, assegurando que as conversões de tipos
ocorram de maneira adequada e sem perda de dados.
Siga em Frente...
Siga em Frente...
Operador de atribuição
O operador de atribuição (=) é o bloco fundamental na
alocação e modificação de valores em variáveis em C.
Simples em sua forma, esse operador desempenha um
papel central na construção de algoritmos, permitindo que
os desenvolvedores atribuam valores a variáveis de maneira
direta. Além disso, em C, existem operadores de atribuição
combinados, como +=, -= e *=, que possibilitam atribuir
valores e realizar operações simultâneas. Esses operadores
combinados contribuem para um código mais conciso e
legível, agregando eficiência e expressividade à linguagem.
Considere o seguinte exemplo:
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 4 | Incremento com operador de atribuição. Fonte:
elaborada pelo autor.
Na Figura 4, o operador combinado += incrementa o valor
atual da variável x por 3. Essa abordagem concisa é
especialmente útil em loops e em situações em que a
atualização de variáveis é uma parte recorrente do
algoritmo.
Em conjunto, as atribuições múltiplas, operadores
aritméticos e operadores de atribuição são instrumentos
elementares no arsenal do programador C. Esses conceitos
trabalham lado a lado para simplificar a inicialização e
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
manipulação de variáveis, bem como para realizar cálculos
matemáticos de maneira eficiente.
Conclusão
Em síntese, as atribuições múltiplas, os operadores
aritméticos e a conversão de tipos em atribuições formam a
tríade essencial para programadores que buscam explorar
todo o potencial da linguagem C. A capacidade de realizar
atribuições múltiplas, assim, oferece uma maneira eficiente
de inicializar variáveis, promovendo a concisão e a clareza do
código. Paralelamente, os operadores aritméticos são
ferramentas que possibilitam cálculos matemáticos precisos,
fornecendo os alicerces necessários para a manipulação
efetiva de dados numéricos.
A conversão de tipos em atribuições destaca-se como um
ponto crítico, garantindo a integridade dos dados ao
transferir valores entre variáveis de diferentes tipos. Seja por
meio de conversões explícitas ou implícitas, esse processo é
crucial para preservar a precisão dos dados e manter a
coerência em todo o programa.
Por fim, o operador de atribuição, junto com seus
equivalentes combinados, surge como o elemento
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
unificador, proporcionando a alocação e modificação de
valores em variáveis. Esses operadores não são apenas
instrumentos para atribuição de valores, mas também
facilitam a execução de operações simultâneas, contribuindo
para um código mais expressivo e poderoso.
Ao compreender profundamente esses três pilares, os
programadores C fortalecem sua habilidade na linguagem e
se equipam para enfrentar desafios complexos de
desenvolvimento. Esses conceitos, quando dominados em
conjunto, formam a base sólida para a construção de
algoritmos robustos e de fácil manutenção, permitindo que
os desenvolvedores alcancem todo o potencial da linguagem
C.
Vamos Exercitar?
Vamos Exercitar?
No início da aula você recebeu a missão de desenvolver um
sistema modular que será responsável por verificar se os
produtos estão com o mesmo peso de indicação no rótulo.
Este sistema será utilizado em uma linha de produção de
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
uma fábrica de alimentos, onde é essencial garantir a
precisão no peso dos produtos antes de serem embalados e
enviados aos clientes.
Vamos à resolução?
Módulo de verificação de peso
Crie uma função verificarPeso() que receba como
entrada o peso indicado no rótulo e o peso real do
produto.
Utilize operadores relacionais para comparar os dois
pesos e determinar se o produto está dentro das
especificações.
Módulo de classificação de produto
Desenvolva uma função classificarProduto() que, ao
receber o resultado da verificação de peso, determine se
o produto está "Dentro do Peso", "Abaixo do Peso" ou
"Acima do Peso".
Utilize estruturas de controle para definir as condições
de classificaçãocom base nos resultados da verificação.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Na sequência, é apresentada uma sugestão do
desenvolvimento da atividade:
Figura 5 | Verificação de peso de produtos. Fonte: elaborada
pelo autor.
O desenvolvimento deste sistema para a verificação de peso
de produtos é fundamental para garantir a qualidade e
conformidade dos produtos fabricados. A utilização de
operadores relacionais e estruturas de controle promove um
código mais claro e compreensível, destacando a
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
importância da modularização em projetos de software
neste contexto de produção industrial.
Saiba mais
Saiba mais
Para saber mais sobre conteúdos específicos abordados
nesta aula como: operadores aritméticos, operadores
relacionais e atribuição de valores, consulte o Capítulo 2 do
livro Algoritmos e Programação em Linguagem C – 1ª edição,
de Soffner, disponível no repositório da Biblioteca virtual.
SOFFNER, Renato. K. Capítulo 2. In: Algoritmos e
Programação em Linguagem C. São Paulo: Saraiva, 2013, p.
34-44.
Referências
Referências
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
https://integrada.minhabiblioteca.com.br/reader/books/9788502207530/pageid/31
https://integrada.minhabiblioteca.com.br/reader/books/9788502207530/pageid/31
https://integrada.minhabiblioteca.com.br/reader/books/9788502207530/pageid/31
https://integrada.minhabiblioteca.com.br/reader/books/9788502207530/pageid/31
https://integrada.minhabiblioteca.com.br/reader/books/9788502207530/pageid/31
CORMEN, T. et al. Algoritmos: teoria e prática. 3. ed. Rio de
Janeiro: LTC, 2022.
MANZANO, J. A. N. G.; OLIVEIRA, J. F. de. Estudo dirigido de
algoritmos. São Paulo: Érica, 2000.
MENÉNDEZ, A. Simplificando algoritmos. São Paulo: LTC,
2023.
SILVA, F. S. C. da; FINGER, M.; MELO, A. C. V. Lógica para
computação. 2. ed. São Paulo: Cengage Learning, 2017.
SOFFNER, R. K. Algoritmos e Programação em Linguagem C,
1. ed. São Paulo: Editora Saraiva, 2013.
ZIVIANI, N. Projeto de algoritmos com implementações em
Pascal e C. 3. ed. São Paulo: Cengage Learning, 2011.
Aula 5
Encerramento da Unidade
Videoaula de Encerramento
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Videoaula de Encerramento
Olá, estudante! Seja bem-vindo à nossa última videoaula da
Unidade, na qual abordaremos os conceitos de
programação. Vamos nos debruçar nas condicionais e nas
estruturas de um programa na linguagem C. Aproveite e
embarque em mais este aprendizado, consistente no cenário
de algoritmos. 
Clique aqui para acessar os slides da sua videoaula.
Bons aprendizado!
Ponto de Chegada
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
https://content.cogna.com.br/content/dam/cogna/cms2/80473229-4cc2-45cc-9848-7ddaa0047132/45cc/d4301793-553b-50ba-a4f5-565227c82efb.pdf
Ponto de Chegada
Olá, estudante! Para desenvolver a competência desta
Unidade, a saber, criar algoritmos contendo estruturas de
seleção, operadores e conversões de tipos de dados, nos
dedicamos ao estudo de conceitos fundamentais para a
área. Foram eles:
1. Ambiente de programação: conhecemos esses espaços
essenciais para criar e depurar código, proporcionando
uma experiência eficiente de desenvolvimento.
2. Compiladores e interpretadores: compreendemos a
diferença entre compiladores e interpretadores,
ferramentas cruciais que transformam nossos códigos
em programas executáveis.
3. Entradas, saídas e operadores: exploramos como
interagir com programas por meio de entradas e saídas,
e dominamos o uso de operadores para manipular
dados.
4. Introdução à linguagem C: iniciamos nossa jornada na
linguagem C, investigando sua sintaxe e estrutura,
preparando-nos para expressar lógica e soluções através
do código.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
5. Estrutura condicional simples e composta: aprendemos a
importância das estruturas condicionais, permitindo que
nossos programas tomem decisões com base em
condições específicas.
Esses conhecimentos adquiridos ao longo das aulas são um
trampolim para desafios mais avançados. Agora, após esta
importante jornada, você está equipado para explorar temas
mais complexos e aplicar suas habilidades em projetos
práticos. Continue, pratique, e verá seu domínio da
programação crescer. 
É Hora de Praticar!
É Hora de Praticar!
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Agora, convido você estudante, a trabalhar com o conteúdo
abordado nesta unidade de ensino. Para tanto, vamos
abordar um estudo de caso sobre Atendimento em
laboratório de revelação de fotos com o cenário descrito a
seguir.
Cliente: João da Silva
Data do atendimento: 15/09/2022
Abertura da ordem de serviço (OS):
Código da OS: 00123
Descrição do serviço: revelação de 50 fotos no tamanho
10x15cm
Produtos: papel fotográfico, revelador, fixador
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Valor: R$ 75,00
Forma de pagamento: cartão de crédito
Prazo de entrega: 3 dias úteis
Detalhamento do atendimento
João da Silva compareceu ao laboratório de revelação de
fotos com o objetivo de revelar 50 fotos tiradas em sua
viagem de férias. Foi aberta uma ordem de serviço (OS) com
o código 00123 para registrar o pedido. O serviço solicitado
consistia na revelação das fotos no tamanho 10x15cm,
utilizando papel fotográfico de alta qualidade e produtos
químicos específicos, como revelador e fixador.
O valor total do serviço foi calculado em R$ 75,00,
considerando o custo dos materiais utilizados e a mão de
obra. O cliente optou por realizar o pagamento por meio de
cartão de crédito, sendo realizado o devido registro da
transação.
Foi estabelecido um prazo de entrega de 3 dias úteis para
que as fotos fossem reveladas e estivessem prontas para
retirada. O cliente foi informado sobre o prazo e concordou
com as condições estabelecidas.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Reflita
A seguir, apresentamos duas questões de reflexão para
aprofundar nossa compreensão sobre esses temas:
1. Ambiente de programação
Diante da diversidade de ambientes de programação
disponíveis, considere o impacto direto que a escolha de
um deles pode ter em sua eficiência e produtividade
como desenvolvedor. 
Pense em como a familiaridade com uma determinada
IDE (Integrated Development Environment) pode
influenciar seu fluxo de trabalho e na importância de
explorar diferentes ambientes para encontrar aquele
que melhor se alinha ao seu estilo e necessidades. 
Como a escolha do ambiente pode afetar sua jornada de
aprendizado em programação C?
2. Operadores na linguagem C
Os operadores na linguagem C são ferramentas
poderosas para manipular dados e realizar operações
diversas. Ao pensar nesses operadores, reflita sobre a
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
importância de compreender não apenas a
funcionalidade básica deles, mas também como
combiná-los estrategicamente para alcançar soluções
mais complexas. 
Como a habilidade de dominar os operadores pode
influenciar sua capacidade de desenvolver algoritmos
eficientes? 
Considere a importância de explorar essas nuances para
fortalecer suas habilidades como programador em C.
Ao compreender o ambiente de programação e explorar os
operadores na linguagem C, você construirá seu caminho
para ser um ótimo programador. A escolha consciente do
ambiente e a maestria nos operadores ampliam suas
possibilidades, preparando-o para desafios mais complexos
e uma trajetória de aprendizado consistente. Continue
explorando e praticando para alcançar novos patamares em
sua jornada na programação C.
Dê o Play!
Clique aqui para acessar os slides do Dê o play!
Resolução do Estudo de Caso
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
https://content.cogna.com.br/content/dam/cogna/cms2/80473229-4cc2-45cc-9848-7ddaa0047132/45cc/3726bc6d-f213-51bc-960b-0564af4ced4d.pdf
Atendimento em laboratório de
revelação de fotos
Passo 1: definir o problema a ser resolvido e os objetivos
do algoritmo.
Passo 2: coletar os dados necessários para a resolução
do estudo de caso.
Passo 3: analisar e processaros dados obtidos para
identificar padrões ou relações relevantes.
Passo 4: escolher o algoritmo mais adequado para a
resolução do problema, levando em consideração a
complexidade e os tipos de dados.
Passo 5: implementar o algoritmo escolhido e realizar
testes para verificar sua eficácia.
Passo 6: avaliar os resultados obtidos e realizar ajustes
no algoritmo, se necessário.
Passo 7: documentar o algoritmo criado, incluindo
detalhes sobre sua implementação, funcionamento e
resultados.
Passo 8: apresentar a solução do estudo de caso,
destacando os benefícios e possíveis aplicações do
algoritmo desenvolvido.
Após analisar o estudo de caso, é possível concluir que a
empresa enfrentou desafios significativos, mas conseguiu
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
superá-los com sucesso. As estratégias implementadas
demonstraram ser eficazes na resolução dos problemas e na
melhoria dos resultados. Além disso, o estudo ressalta a
importância de adaptar-se às mudanças do mercado e de
buscar constantemente inovação. 
Assimile
Nesta linha do tempo, apresentamos, resumidamente, os
principais conceitos relacionados às estruturas de decisão, à
linguagem de programação C e aos operadores utilizados no
desenvolvimento de algoritmos.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Figura 1 | Conceitos de programação. Fonte: elaborada pelo
autor.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO
Referências
CORMEN, T. et al. Algoritmos: teoria e prática. 3. ed. Rio de
Janeiro: LTC, 2022.
MANZANO, J. A. N. G.; OLIVEIRA, J. F. de. Estudo dirigido de
algoritmos. São Paulo: Érica, 2000.
MENÉNDEZ, A. Simplificando algoritmos. São Paulo: LTC,
2023.
PINHEIRO, F. de A. C. Elementos de programação em C. Porto
Alegre: Bookman, 2012.
SILVA, F. S. C. da; FINGER, M.; MELO, A. C. V. Lógica para
computação. 2. ed. São Paulo: Cengage Learning, 2017.
ZIVIANI, N. Projeto de algoritmos com implementações em
Pascal e C. 3. ed. São Paulo: Cengage Learning, 2011.
WAZLAWICK, R. S. Introdução a algoritmos e programação
com Python: uma abordagem dirigida por testes. Rio de
Janeiro: LTC, 2018.
Disciplina
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO

Mais conteúdos dessa disciplina