Buscar

LTP_Prof_JONAS_2020_2

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 238 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 238 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 238 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

Linguagem e técnicas de 
programação ( LTP)
Prof. Ms. Jonas Silva
1
Professor Mestre Jonas
 Formado em Ciência da Computação
 Pós-graduado em Gerência de Projetos de TI
 Mestrado em Engenharia de Produção
 Na UNIP há 14 anos
 Analista de Sistemas Sênior 
2
3
PLANO DE ENSINO
CURSO: Tecnologia em Análise e Desenvolvimento de Sistemas
SÉRIE: 2º período (semestral)
DISCIPLINA: LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO
CARGA HORÁRIA SEMANAL: 06 horas/aula
CARGA HORÁRIA SEMESTRAL: 120 horas/aula
I - EMENTA
Algoritmos.
Estruturas fundamentais de algoritmos: sequência, tomada de
decisão e repetição. Estrutura de Dados.
Introdução à linguagem de programação.
A linguagem de programação C.
Fundamentos de programação estruturada.
Macros e Funções.
Vetores, Strings e Matrizes.
Estruturas e Uniões.
Ponteiros.
4
Funções de entrada e saída. 
Funções gráficas e textos. 
Filas, Pilhas, Listas encadeadas. 
Árvores de busca binária. 
Práticas laboratoriais.
V - Conteúdo Programático
Introdução
Teoria: Algoritmos
Conceitos básicos
Programas
Representação lógica
Regras
Fases
Tipos de Algoritmos
Laboratório: Introdução à linguagem C
Histórico
Regras da Linguagem
PLANO DE ENSINO
5
Introdução à programação
Teoria: Tipos de informações e entrada e saída
Tipos de Dados
Variáveis, constantes e operadores
Entrada e saída de informações
Programação sequencial
Laboratório: Linguagem C; 
Tipos de informações e entrada e saída 
Tipos de Dados
Variáveis, constantes e operadores
Entrada e saída de informações
Tomada de decisões
Teoria: Condicionais
Se então senão
Selecione caso
Laboratório: Condicionais
If else
Switch
PLANO DE ENSINO
6
Laços de repetiçãoTeoria: 
1. Repita até que e Enquanto faça
2. Para até passo
1. Laboratório:
1. while , do /while
2. for
1. Estrutura de dados
1. Teoria: 
1. Dados Homogêneos
2. Dados Heterogêneos;
3. Vetores, Strings e Matrizes
2. Laboratório
Vetores
PLANO DE ENSINO
7
PLANO DE ENSINO
1. Macros e Funções
1. Teoria:
1. Funções 
2. Procedimentos
2. Laboratório: funções
1. Programação
2. Bibliotecas
1. Funções gráficas e de texto
2. Estruturas e uniões
1. Teoria: Estruturas
2. Laboratório: Tipo Abstrato de dados
3. Alocação da memória
1. Ponteiros
2. Alocação dinâmica da memória
8
PLANO DE ENSINO
3. Utilização de arquivos, diretórios e discos
Listas Ligadas
4. Listas Ligadas
5. Pilha
6. Fila
7. Recursividade
8. Árvores
9
PLANO DE ENSINO
VIII – BIBLIOGRAFIA
BÁSICA
SCHILDT, H. C completo e total. São Paulo, 3.ed. Makron, 2010.
SOFFNER, R. Algoritmos e Programação em Linguagem C. Saraiva, 2013.
PEREIRA, S. L. Algoritmos e lógica de programação em C: uma abordagem
didática. São Paulo, Érica, 2010.
COMPLEMENTAR
ARAUJO, E. C. de. Algoritmos: fundamento e prática. 3.ed. São Paulo: Visual 
Books, 2007.
CELES, W.; CERQUEIRA, R.; RANGEL, J. L. Introdução a estruturas de dados: 
com técnicas de programação em C. Rio de Janeiro: Campus, 2004. 
MELO, A. C. V. de ; SILVA, F. S. C da. Princípios de linguagens de programação. 
São Paulo: Edgard Blucher, 2010. 
DEITEL, P.; DEITEL, H. C: como programar . 6. ed. São Paulo. Pearson 2011.
MIZRAHI, V. V. Treinamento em linguagem C. 2. ed. São Paulo, Pearson, 2008
10
Objetivo de Aprendizagem
 Nesta unidade será apresentado ao aluno a estrutura e 
a funcionalidade de uma linguagem de programação 
utilizando formas de representações de problemas com 
construções de algoritmos.
11
Aplicabilidade da Programação
• Presente em todas as áreas da computação:
• Hardware;
• Sistemas Operacionais;
• Análise de Sistemas;
• Banco de Dados;
• Desenvolvimento Web;
• Redes de Computadores;
• Etc.
12
SEQUÊNCIA LÓGICA:
 Estes pensamentos devem ser descritos como uma 
sequência de instruções, que devem ser seguidas em 
ordem para se cumprir uma determinada tarefa;
 Passos executados até se atingir um objetivo ou 
solução de um problema
13
 Cada um dos passos, cada uma das ações a tomar 
(obedecendo a sequência lógica) para ir resolvendo o 
problema, ou para ir executando a tarefa;
 Uma só instrução não resolve problemas.
INSTRUÇÃO:
14
 Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, 
“ligar fogão”, “pôr óleo na frigideira”, “pôr frigideira no 
fogo”, “fritar ovos batidos”, etc...
 Quanto às instruções isoladas:
 Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é 
suficiente para cumprir a tarefa “fazer omelete”
 Quanto à sequência lógica:
 Se executarmos “fritar ovos batidos” antes de “bater 
ovos”, ou pior, antes de “quebrar ovos”, não iremos 
cumprir a tarefa “fazer omelete”
EXEMPLO: para “fazer omelete”
15
ALGORITMO:
 Sequência finita de passos, seguindo uma 
sequência lógica que levam à execução de uma 
tarefa;
 Claro e preciso.
16
Exemplo de algoritmo
Quando uma dona de casa prepara um bolo, segue uma receita,
que nada mais é do que um algoritmo em que cada instrução é um
passo a ser seguido para que o prato fique pronto com sucesso:
1. Bata 4 claras em neve
2. Adicione 2 xícaras de açúcar
3. Adicione 2 colheres de farinha de trigo, 4 gemas, uma colher de
fermento e duas colheres de chocolate
4. Bata por 3 minutos
5. Unte uma assadeira com margarina e farinha de trigo
6. Coloque o bolo para assar por 20 minutos
17
Exercício
Sair pela manhã para sua atividade diária (trabalhar, ir pra aula, stc..)
Descreva as ações a serem executadas, para que ao final da
execução das mesmas o objetivo principal seja atingido
satisfatoriamente.
18
Solução possível
1. Acordar
2. Desligar o despertador
3. Levantar
4. Arrumar a cama
5. Separar roupas e sapatos
6. Ir ao banheiro (higiene pessoal)
7. Colocar roupas e sapatos
8. Ir à cozinha
9. Preparar o café da manhã
10. Tomar café
11. Pegar documentos, chaves e pasta
12. Sair
19
FASES para desenvolver o algoritmo:
 Determinar o problema.
 Dividir a solução nas três fases:
Exemplo:
 Problema: calcular a média de dois números
 Dados de entrada: os números, N1, N2
 Processamento: somar os dois números e 
dividir a soma por 2
 Dados de saída: Média
ENTRADA PROCESSAMENTO SAÍDA
Média = N1 + N2 
2
20
Algoritmo:
1. Receber o primeiro número
2. Receber o segundo número
3. Somar todos os números 
4. Dividir a soma por 2
5. Mostrar o resultado da divisão
21
 Formas de representação de algoritmos:
 Descrição Narrativa;
 Fluxograma;
 Pseudocódigo.
Algoritmos e Lógica de Programação
22
Algoritmos e Lógica de Programação
o Descrição Narrativa:
Caso 01 – Lavar o cabelo:
1. Molhar o cabelo;
2. Aplicar o xampú;
3. Massagear os cabelos;
4. Enxaguar.
23
Algoritmos e Lógica de Programação
o Descrição Narrativa
Exercício:
Caso 02 – Trocar uma
lâmpada queimada.
Caso 03 – Trocar o pneu
furado de um carro.
24
Solução caso 2
1. Pegar a escada e uma lâmpada nova
2. Desligar o interruptor
3. Posicionar a escada embaixo da lâmpada queimada
4. Subir na escada e tirar a lâmpada queimada
5. Colocar a lâmpada nova
6. Descer da escada e acender a lâmpada para teste
7. Guardar a escada
8. Jogar a lâmpada queimada no lixo
25
Solução caso 3
1. Parar o carro
2. Pegar no porta-malas: step, macaco, chave de rodas, 
triângulo
3. Sinalizar com o triângulo 
4. Soltar os parafusos, sem tirá-los totalmente
5. Posicionar o macaco e levantar o carro
6. Tirar os parafusos totalmente e a roda
7. Colocar o step e os parafusos (com a mão)
8. Baixar o carro
9. Apertar os parafusos bem com a chave de rodas
10. Guardar a roda, macaco, triângulo, chave porta-
malas.
11. Partir
26
Representação gráfica
Diagrama 
de Blocos
27
o Fluxograma
Representação gráfica, onde formas geométricas 
diferentes implicam ações distintas
Algoritmos e Lógica de Programação
28
Algoritmos e Lógica de Programação
Fluxograma
Principais Formas:
= Início e Fim do Fluxograma
= Fluxo de Dados
= Operação de Entrada de Dados
= Operação de Saída de Dados
= Operação de Atribuição (Processamento)
= Decisão
29
Algoritmos e Lógica de Programação
InícioMédia 
(N1+N2)/2
Média
Fim
N1, 
N2
Fluxograma
Exemplo:
30
Algoritmos e Lógica de Programação
Pseudocódigo ou Português Estruturado
Exemplo:
Algoritmo Soma
Var
n1, n2, S : Inteiro
Início
Escreva (“Entre com o primeiro valor: ”)
Leia (N1) 
Escreva (“Entre com o segundo valor: ”)
Leia (N2) 
S <- N1 + N2
Escreva (“Soma =“, S) 
Fim.
31
Algoritmos e Lógica de Programação
Pseudocódigo ou Português Estruturado
Representação de Algoritmo na forma Estruturada:
Algoritmo<nome_do_algoritmo>;
Var
<declaração_de_variáveis>;
Inicio
<corpo_do_algoritmo>;
Fim.
Onde :
Programa: É uma forma que indica o início da definição de um
algoritmo em forma de pseudocódigo.
<nome_do_algoritmo> : É um nome simbólico dado ao algoritmo
com a finalidade de distingui-lo dos demais.
<declaração_de_variávei> : Consiste no campo de declaração
das variáveis utilizadas no algoritmo.
Início e Fim : Palavras que delimitam o começo e o término do
conjunto de instruções do corpo do algoritmo.
32
Algoritmos e Lógica de Programação
Pseudocódigo ou Português Estruturado
Comandos de Entrada e Saída de Dados:
Entrada de Dados
Ex : Leia (X);
Leia (A, XPTO, Nota);
Saída de Dados
Ex : Escreva (Y);
Escreva (“Bom Dia”, Nome);
33
• Representa uma posição na memória, onde pode ser 
armazenado um dado;
• Possui um nome e um valor;
• Durante a execução do algoritmo, pode ter seu valor alterado.
Algoritmos e Lógica de Programação
Variável
34
Algoritmos e Lógica de Programação
Exemplo:
“Calcular a média de dois números”
PSEUDOCÓDIGO:
 Leia (N1)
 Leia (N2)
 MEDIA <- (N1+N2) / 2
 Escreva (MEDIA)
VARIÁVEIS:
mais clareza no pseudocódigo
VARIÁVEL
35
Pseudocódigo ou Português Estruturado
Uso de Variáveis
- O primeiro caractere do nome de uma variável não poderá
ser, em hipótese alguma, um número. Sempre deverá ser uma letra;
- O nome de uma variável não poderá possuir espaços em
branco;
- Não poderá ser nome de uma variável uma palavra
reservada;
- Não poderão ser utilizados outros caracteres a não ser
letras e números, com exceção do caractere underline “_”.
Algoritmos e Lógica de Programação
36
Tipos de Dados :
• inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem
casas decimais.
• real: define variáveis numéricas do tipo real, ou seja, com casas
decimais.
• caractere: define variáveis do tipo string, ou seja, cadeia de
caracteres.
• logico: define variáveis do tipo booleano, ou seja, com valor
VERDADEIRO ou FALSO.
Algoritmos e Lógica de Programação
37
Algoritmos e Lógica de Programação
Definição de variáveis
Todas as variáveis usadas em um algoritmos devem ser definidas antes de serem
utilizadas. Isto se faz necessário para permitir que o compilador reserve espaço
na memória para as mesmas.
Sintaxe: 
• VAR <Nome_da_variável> : <Tipo_da_variável>
• VAR <Lista_de_variáveis> : <Tipo_das_variáveis> 
– A palavra-chave VAR deverá estar presente sempre e será utilizada uma única
vez na definição de um conjunto de uma ou mais variáveis;
Exemplo de declaração:
Var x : inteiro;
y, soma : inteiro;
38
Atribui o valor da direita à variável da esquerda
MEDIA <- (N1+N2) / 2
(Lê-se media recebe N1+...)
Neste caso, estamos atribuindo o resultado da fórmula à 
variável média;
Outros Exemplos:
a <- 3;
a <- x;
Algoritmos e Lógica de Programação
Atribuição (<-)
39
Algoritmos e Lógica de Programação
Exercícios:
1) Faça um fluxograma que mostre na tela a frase 
“Olá Mundo”.
2) Faça um fluxograma que mostre a palavra “UNIP” na
tela.
3) Faça um fluxograma que leia um número do usuário, 
some 10 a esse número e mostre o resultado na tela.
40
Algoritmos e Lógica de Programação
Exercício 1 - Solução
41
Algoritmos e Lógica de Programação
Exercício 2 - Solução
42
Algoritmos e Lógica de Programação
Exercício 3 - Solução
43
Algoritmos e Lógica de Programação
Exercícios:
4) Faça um fluxograma e o algoritmo que mostre o nome do
usuário na tela.
5) Faça o fluxograma e o algoritmo que leia dois números do
usuário, mostre o resultado da soma dos dois números.
6) Faça um fluxograma que leia um número e mostre na tela
o número digitado multiplicado por 2, da seguinte forma:
Ex: Supondo que N contém o Nº digitado
N = 7 : 7 x 2 = 14
44
Algoritmos e Lógica de Programação
Exercício 4 - Solução
45
Algoritmos e Lógica de Programação
Exercício 5 - Solução
46
Algoritmos e Lógica de Programação
Exercício 6 - Solução
47
Algoritmos e Lógica de Programação
Operadores Aritméticos
48
Algoritmos e Lógica de Programação
Exemplos:
MEDIA = (N1+N2+N3+N4) / 4
Hierarquia dos Operadores Aritméticos
49
Algoritmos e Lógica de Programação
Métodos para Construção de Algoritmo:
• Ler atentamente o enunciado.
• Retirar do enunciado a relação das entradas de
dados.
• Retirar do enunciado a relação das saídas de
dados.
• Determinar o que deve ser feito para transformar as
entradas determinadas nas saídas especificadas.
• Construção do algoritmo.
50
Algoritmos e Lógica de Programação
Desvio Condicional Simples (SE…ENTÃO)
Um desvio condicional tem por finalidade tomar uma
decisão de acordo com o resultado de uma condição
(teste lógico), e então executar um bloco de códigos que
irá depender do resultado dessa condição.
O desvio condicional simples permite executar um bloco
de código caso o resultado do teste seja verdadeiro,
ignorando um resultado falso.
51
Algoritmos e Lógica de Programação
Desvio Condicional Simples (SE…ENTÃO)
52
Algoritmos e Lógica de Programação
Exemplo do uso do Desvio Condicional Simples
53
Algoritmos e Lógica de Programação
Operadores Relacionais
Os operadores relacionais são utilizados para comparar
String de caracteres (conjunto de caracteres) e
números.
Os valores a serem comparados podem ser caracteres,
números ou variáveis.
Estes operadores sempre retornam valores lógicos
(verdadeiro ou falso/ True ou False).
54
Algoritmos e Lógica de Programação
Operadores Relacionais
Descrição Símbolo
Igual a =
Diferente de <> ou #
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
55
Algoritmos e Lógica de Programação
Exercícios:
7) Faça o fluxograma e o algoritmo que leia um número inteiro e mostre na
tela “Positivo” ou “Negativo” (considere Zero positivo).
8) Faça o fluxograma e o algoritmo que leia dois números, em seguida mostre
o maior número lido para o usuário. (se forem iguais mostre um deles)
9) Faça o fluxograma e o algoritmo que leia o sexo:
(M – Masculino e F – Feminino)
Mostre na tela a descrição do sexo do usuário: Feminino ou Masculino
OBS: Lembre que o caractere dever ser comparado entre aspas simples.
10) Faça o fluxograma e o algoritmo que leia dois números inteiros, em
seguida os mostre em ordem crescente para o usuário na tela.
56
Algoritmos e Lógica de Programação
Exercício 7 - Solução
57
Algoritmos e Lógica de Programação
Exercício 8 - Solução
58
Algoritmos e Lógica de Programação
Opções de saídas
59
Algoritmos e Lógica de Programação
Exercício 9 - Solução
60
Exercício 10 - Solução
61
Algoritmos e Lógica de Programação
https://portugol-webstudio.cubos.io/ide
PORTUGAL WEBSTUDIO
Aula de aplicação prática do uso do Português Estruturado
62
Algoritmos e Lógica de Programação
funcao inicio()
INÍCIO {
VAR inteiro numero, multiplo
escreva("Digite um número: ")
leia(numero)
se (numero % 5 == 0) 
INÍCIO {
escreva("O número ", numero, " é multiplo de 5")
}
senao
{
escreva("O número ", numero, " não é multiplo de 5")
FIM_SE }
escreva("\n")
FIM }
63
Algoritmos e Lógica de Programação
1) Faça um fluxograma que mostre na tela a frase “Olá Mundo”.
64
Algoritmos e Lógica de Programação
2) Faça um fluxograma e o algoritmo que mostre
o nome do usuário na tela.
65
Algoritmos e Lógica de Programação
66
Algoritmos e Lógica de Programação
3) Faça um fluxograma que leia um número inteiro do
usuário, some 10 a esse número e mostre o resultado na
tela.
67
Algoritmos e Lógica de Programação
68
Algoritmos e Lógicade Programação
4) Faça o fluxograma e o algoritmo que leia o sexo:
(M – Masculino e F – Feminino)
Mostre na tela a descrição do sexo do usuário: Feminino ou
Masculino
OBS: Lembre que o caractere dever ser comparado entre
aspas simples.
69
Algoritmos e Lógica de Programação
70
Algoritmos e Lógica de Programação
5) Faça o fluxograma e o algoritmo que leia dois números
inteiros, em seguida os mostre em ordem crescente para o
usuário na tela.
71
Algoritmos e Lógica de Programação
72
Algoritmos e Lógica de Programação
Objetivos
• Introduzir o aluno à sintaxe de desenvolvimento da
linguagem C;
• Apresentar a estrutura básica de um programa em
C;
• Apresentar regras fundamentais de boa prática de
programação;
• Tornar o aluno apto a compreender e criar seus
próprios códigos em C;
LINGUAGEM DE PROGRAMAÇÃO C
73
Algoritmos e Lógica de Programação
Sobre a Linguagem C
• Surgiu na década de 70, criado por Dennis
Ritchie.
• Possui características tanto de “alto nível” quanto
de “baixo nível”.
• É considerada uma linguagem de “Médio Nível”
• Muitos programas foram desenvolvidos em C por
muito tempo.
• O C é uma linguagem ESTRUTURADA!
• O C é uma linguagem compilada
74
Algoritmos e Lógica de Programação
O C é “case sensitive”! 
• Isso quer dizer que a linguagem C, diferencia letras
maiúsculas e minúsculas, tanto para nome de funções,
variáveis e comandos da linguagem;
• Ao declararmos as seguintes variáveis:
int Soma, SOMA, SoMa, soma;
• Todas as variáveis acima serão diferentes para o C.
• Isto também se aplica aos comandos de sintaxe do C.
• Como, por exemplo, o “for” e “if” que se forem escritos em
maiúsculas o compilador não poderá interpretá-las
corretamente.
75
Algoritmos e Lógica de Programação
Estrutura do Código 
Devido ao fato do C ser uma linguagem estruturada, ou
seja, o compilador segue um fluxo linear de compilação,
devemos respeitar uma estrutura de código.
Vejamos abaixo:
1ª. Declaração das bibliotecas (cabeçalhos, headers). 
2ª. Declaração das variáveis globais. 
3ª. Declaração das funções extras. 
4ª. Função principal do programa.
76
Algoritmos e Lógica de Programação
Palavras Reservadas 
• Toda linguagem de programação possuí “palavras
reservadas”.
• Palavras reservadas não podem ser utilizadas a não
ser por seus propósitos originais, ou seja, executar uma
determinada ação.
77
Algoritmos e Lógica de Programação
Quando falamos de “boas práticas” podemos fazer
referência as “regras de etiqueta”.
Assim como na vida, um código de programação em
qualquer linguagem necessita de normas
organizacionais.
Estas normas, nem sempre são regras, mas são “dicas”
para manter seu código legível, que resultará em um
código fácil de entender e manter.
BOAS PRÁTICAS
78
Algoritmos e Lógica de Programação
Comentários Linguagem C
Como já falamos de boas práticas, seria impossível não
falar de “comentários em C”.
Comentários são blocos de texto que são ignorados pelos
compiladores.
No C teremos duas formas de comentários, são elas:
// Comentário de uma linha
/*
Bloco de comentário
*/
79
A linguagem C possuí 5 (cinco) tipos básicos de dados: 
char, int, float e double.
Tipos de Dados
Algoritmos e Lógica de Programação
Tipo Número 
de bits
Formato de 
leitura com 
scanf()
char 8 %C
int 16 %i
long int 32 %li
float 32 %f
double 64 %lf
80
Declaração de variável: 
<tipo_da_variável > <nome_da_variável> = <valor_inicial_da_variável>;
Exemplo: int Contador = 0;
Declaração de variáveis de um mesmo tipo: 
<tipo_da_variável> <nome_var1> = <valor1>, <nome_var2> = <valor2>;
Exemplo: float Sal_Bruto = 0, Sal_Liquido = 0;
Algoritmos e Lógica de Programação
Boas práticas! 
Ao nomear uma variável seja objetivo, use nomes fáceis de entender e se
necessário faça um comentário acima da variável explicando sua utilidade. Em
nomes compostos separe-os utilizando underline.
81
Algoritmos e Lógica de Programação
82
Algoritmos e Lógica de Programação
https://repl.it/repls/HalfBleakSdk
Link para o compilador C on line :
PRÁTICA:
83
Algoritmos e Lógica de Programação
PRÁTICA
1) Faça um Programa C que mostre a mensagem na tela
para o usuário: “ MEU PRIMEIRO PROGRAMA C.”
84
Algoritmos e Lógica de Programação
SOLUÇÃO EXERCÍCIO 1
85
Algoritmos e Lógica de Programação
PRÁTICA
2) Faça um Programa C que leia um número inteiro, e
mostre a mensagem na tela para o usuário:
Ex: “O número foi: 7”
86
Algoritmos e Lógica de Programação
SOLUÇÃO EXERCÍCIO 2
87
Algoritmos e Lógica de Programação
PRÁTICA
3) Faça um Programa C que leia um número, some 10 a
ele, e mostre o resultado para o usuário.
88
Algoritmos e Lógica de Programação
SOLUÇÃO EXERCÍCIO 3
89
Algoritmos e Lógica de Programação
4) Faça o fluxograma e o algoritmo que leia o sexo:
(M – Masculino e F – Feminino)
Mostre na tela a descrição do sexo do usuário:
Feminino ou Masculino
OBS: Lembre que o caractere dever ser comparado
entre aspas simples
PRÁTICA
90
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) 
{
char sx;
printf("Sexo(F - Feminino M - Masculino): ");
scanf("%c",&sx);
if(sx=='M')
printf("Maculino");
else
if(sx=='F')
printf("Feminino");
else
printf("Opção inválida");
return 0;
}
SOLUÇÃO EXERCÍCIO 4
91
Algoritmos e Lógica de Programação
IF…ELSE ANINHADOS (ENCADEADOS)
Seqüências de estruturas If-Else são usadas
para o teste de múltiplos casos
92
Algoritmos e Lógica de Programação
IF…ELSE ANINHADOS (ENCADEADOS)
Algoritmo Média aritmética com conceito
início
real: N1, N2, N3, N4,//notas bimestrais
MA; //média anual
leia (N1, N2, N3, N4); //entrada de dados
MA (N1 + N2 + N3 + N4)/4; //processamento
escreva(“Média anual = ”, MA);
se ( MA >= 9) 
então
início
escreva (“Conceito A”);
fim
senão
se ( MA >= 7) 
então
início
escreva (“Conceito B”);
fim
93
Algoritmos e Lógica de Programação
IF…ELSE ANINHADOS (ENCADEADOS)
senão
se ( MA >= 6) 
então
início
escreva (“Conceito C”);
fim;
senão
início
escreva (“Conceito D”);
fim;
fimse;
fimse;
fimse;
fimalgoritmo
94
Algoritmos e Lógica de Programação
EXERCÍCIO
1) Crie um algoritmo e o fluxograma que leia a nota de um aluno e mostre se ele
está aprovado (>= 6), em recuperação (< 6) ou reprovado (< 2).
95
Algoritmos e Lógica de Programação
96
Algoritmo "situacao-aluno“
Var nota : inteiro
inicio
escreva("Digite uma nota (de 0 a 100): ")
leia(nota)
se nota >= 60 entao
escreva("Aprovado!")
senao
se nota >= 20 entao
escreva("Recuperação!")
senao
escreva("Reprovado!")
fimse
fimse
fim
Algoritmos e Lógica de Programação
97
Algoritmos e Lógica de Programação
2) Escreva um programa que leia a idade de uma pessoa em
seguida ele deve mostrar na tela a idade e também as
seguintes mensagens, quando for o caso:
• Já pode votar (se tiver 16 anos ou mais)
• Já pode votar e solicitar a Carteira de Habilitação (se tiver
18 anos ou mais)
98
Algoritmos e Lógica de Programação
99
Algoritmos e Lógica de Programação
3) Escreva um fluxograma que liste na tela o nome e o
telefone se o usuário for do sexo feminino com idade acima
de 18 anos.
100
Algoritmos e Lógica de Programação
101
Algoritmos e Lógica de Programação
https://repl.it/repls/HalfBleakSdk
Link para o compilador C on line :
PRÁTICA:
102
Algoritmos e Lógica de Programação
PRÁTICA:
1) Escreva um programa que leia a idade de uma pessoa em
seguida ele deve mostrar na tela a idade e também as
seguintes mensagens, quando for o caso:
• Já pode votar (se tiver 16 anos ou mais)
• Já pode votar e solicitar a Carteira de Habilitação (se tiver
18 anos ou mais)
103
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) {
int idade;
printf("\nDigite a idade: ");
scanf("%i",&idade);
if (idade >= 18) 
printf("\nPode votar e solicitar a Habilitação");
else
if (idade >= 16) 
printf("\nPode votar.");
}
104
Algoritmos e Lógica de Programação
PRÁTICA:
2) Escreva um programa que leia o sexo (M/F) e a idade de
uma pessoa em seguida eledeve mostrar na tela as
seguintes mensagens, quando for o caso:
• Maior Idade – Mulher
• Menor Idade – Homem
• Maior Idade – Opção Inválida
105
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) {
char sx;
int id;
printf("\nSexo (M/F): ");
scanf("%c",&sx);
printf("\nIdade: ");
scanf("%i",&id);
if (id >= 18) 
printf("\nMaior Idade ");
else
printf("\nMenor Idade ");
if (sx== 'M')
printf("- Homem");
else
if (sx == 'F')
printf("- Mulher");
else
printf(" Opção inválida.");
}
106
Algoritmos e Lógica de Programação
PRÁTICA:
3) Crie um algoritmo e o fluxograma que leia a nota de um
aluno e mostre se ele está aprovado (>= 6), em
recuperação (< 6) ou reprovado (< 2).
107
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) {
int nota;
printf("\nDigite uma nota (de 0 a 10): ");
scanf("%i",&nota);
if (nota >= 6) 
printf("\nAprovado!");
else
if (nota >= 2) 
printf("\nRecuperação!");
else
printf("\nReprovado!");
}
108
Algoritmos e Lógica de Programação
PRÁTICA:
4) Desenvolva um programa em C que calcule a média
aritmética de 4 notas fornecidas. Mostre para o usuário a
média calculada e o conceito alcançado de acordo com as
regras a seguir:
- Conceito A – Média maior ou igual a 9
- Conceito B – Média maior ou igual a 7 e menor igual a 8
- Conceito C – Média maior ou igual a 6 e menor igual a 5
- Conceito D - Média menor que 5
109
#include <stdio.h>
#include <stdlib.h>
int main(void) {
float N1, N2, N3, N4; 
float MA; 
system("cls");
printf("\nDigite as notas\n"); 
printf("\nNota 1:");
scanf("%f",&N1); 
printf("\nNota 2:");
scanf("%f",&N2);
printf("\nNota 3:");
scanf("%f",&N3);
printf("\nNota 4:");
scanf("%f",&N4);
MA = (N1 + N2 + N3 + N4)/4; 
printf("\nMédia anual = %5.2f ", MA);
if ( MA >= 9) 
printf (" Conceito A");
else
if ( MA >= 7) 
printf(" Conceito B");
else
if (MA >= 5)
printf("Conceito C");
else
printf("conceito D");
return 0;
}
Algoritmos e Lógica de Programação
110
Algoritmos e Lógica de Programação
Condição Composta
• Uma Condição composta envolve diversas “condições”
conectadas por OPERADORES LÓGICOS.
Os símbolos dos OPERADORES LÓGICOS são:
• E - O resultado será verdadeiro somente se a avaliação de
todas as condições forem verdadeiras
• OU - O resultado será falso somente se a avaliação de todas
as condições forem falsos
• NÃO - Inverte o resultado da “expressão lógica” (ou condição)
111
Algoritmos e Lógica de Programação
COND 1 COND 2 COND 1 E COND2
V V V
V F F
F V F
F F F
OPERADOR LÓGICO E
112
Algoritmos e Lógica de Programação
113
Algoritmos e Lógica de Programação
COND 1 COND 2 COND 1 OU COND2
V V V
V F V
F V V
F F F
OPERADOR LÓGICO OU
114
Algoritmos e Lógica de Programação
115
Algoritmos e Lógica de Programação
COND 1 NÃO COND 1
V F
F V
OPER. LÓG. NÃO
NEGAÇÃO
116
Algoritmos e Lógica de Programação
EXERCÍCIO 1
Escreva um algoritmo que leia três idades, e mostre a
maior delas para o usuário.
117
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() 
{
inteiro id1,id2,id3
escreva("idade1:")
leia(id1)
escreva("idade2:")
leia(id2)
escreva("idade3:")
leia(id3)
se ((id1 >= id2) e (id1>=id3) )
escreva("\nMaior idade = ",id1,"\n") senao
se ((id2 >= id1) e (id2>=id3) )
escreva("\nMaior idade = ",id2,"\n") senao
se ((id3 >= id1) e (id3>=id2) )
escreva("\nMaior idade = ",id3,"\n")
}
}
118
Algoritmos e Lógica de Programação
2) Escreva um algoritmo que leia o sexo (M/F) e a idade
de uma pessoa em seguida ele deve mostrar na tela as
seguintes mensagens, quando for o caso:
• Maior Idade – Mulher
• Menor Idade – Homem
• Maior Idade – Opção Inválida
EXERCÍCIO 2
119
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() 
{
caracter sx
inteiro id
escreva("sexo:")
leia(sx)
escreva("Idade:")
leia(id)
se ((sx == 'F') e (id>=18) )
escreva("MULHER - MAIOR")
senao
se (sx == 'F')
escreva("MULHER - MENOR")
senao
se (id>=18)
escreva("HOMEM - MAIOR") 
senao
escreva("HOMEM - MENOR") }
}
120
Algoritmos e Lógica de Programação
EXERCÍCIO 3
Para receber um certo beneficio, uma pessoa precisa ter ao
menos 3 filhos, ou ter mais de 65 anos de idade. Crie um
algoritmo que leia a idade e o número de filhos de uma
pessoa, e verifique se essa pessoa tem direito ou não ao
beneficio.
121
Algoritmos e Lógica de Programação
122
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() 
{
inteiro id,fl
escreva("idade:")
leia(id)
escreva("Filhos:")
leia(fl)
se ((id >= 65) ou (fl>=3) )
escreva("Tem direito ao Benefício")
senao
escreva("NÃO Tem direito ao Benefício") 
}
}
123
Algoritmos e Lógica de Programação
https://repl.it/repls/HalfBleakSdk
Link para o compilador C on line :
PRÁTICA:
124
Algoritmos e Lógica de Programação
Operadores lógicos:
PORT. C
• E : representado por && 
• OU : representado por || 
• NEG : representado por !
125
Algoritmos e Lógica de Programação
%5.2f 
%5.3f 9.999
99.99
FORMATÇÃO TIPO FLOAT
126
Algoritmos e Lógica de Programação
PRÁTICA:
1) Faça um programa em C que encontre o dobro de um
número caso ele seja positivo e o seu triplo caso seja
negativo, mostre o resultado na tela.
127
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) 
{
int num, r;
printf("Digite um número:\n");
scanf("%i",&num);
if (num>=0)
r=2*num;
else
r=3*num*(-1);
printf("\n\n Resulado: %i",r);
return 0;
}
Resolução Questão 1:
128
Algoritmos e Lógica de Programação
2) Elabore um algoritmo que calcule o que deve ser pago por um produto,
considerando o preço normal de etiqueta e a escolha da condição de
pagamento. Utilize os códigos da tabela a seguir para ler qual a condição de
pagamento escolhida e efetuar o cálculo adequado.
1- À vista em dinheiro ou cheque, recebe 10% de desconto
2- À vista no cartão de crédito, recebe 15% de desconto
3- Em duas vezes, preço normal de etiqueta sem juros
4- Em duas vezes no cartão de crédito, preço normal de etiqueta mais juros
de 10%
129
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) {
int Fgto,vz;
float preco,vlr, par;
printf("Preço Etiqueta: R$ ");
scanf("%f",&preco);
printf("\n\nFORMAS DE PAGAMENTO\n\n");
printf("1- À vista em dinheiro ou cheque, recebe 10%% de desconto\n"); 
printf("2- À vista no cartão de crédito, recebe 15%% de desconto\n");
printf("3- Em duas vezes, preço normal de etiqueta sem juros\n"); 
printf("4- Em duas vezes no cartão de crédito, preço normal de etiqueta mais juros de 10%%\n");
printf("\n\nCódigo:");
scanf("%i",&Fgto);
vz = 1;
par = 0;
if (Fgto == 1)
vlr=preco-preco*0.10;
else
if (Fgto == 2)
vlr=preco-preco*0.15;
else
if (Fgto == 3) 
{
vlr=preco;
vz = 2;
par = vlr / vz;
}
else
if (Fgto == 4)
{
vlr=preco+preco*0.10;
vz = 2;
par = vlr / vz;
}
printf("\n\n Valor: R$ %6.2f \n",vlr);
if (vz>1)
printf("Parcela: R$ %5.2f em %i vezes.",par,vz);
return 0; }
130
Algoritmos e Lógica de Programação
3) Como maçãs custam R$ 0,30 cada se forem compradas
menos do que uma dúzia e, R$0,25 cada, se forem
compradas por menos uma dúzia. Escreva um programa
que leia o número de maçãs compradas, cálculo e escreva
o valor total da compra.
131
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) 
{
int qtd;
float vlr=0;
printf("\n\nValor unitário da laranja \npor quantidade comprada:\n");
printf("\nAcima de 12 unidades --> R$ 0,25\nAté onze unidades --> R$ 0,30");
printf("\n\nQuantidade a comprar: ");
scanf("%i",&qtd);
if (qtd < 12)
vlr = qtd * 0.30;
else
vlr = qtd * 0.25;
printf("\n\n+--------------------------------------+");
printf("\n| Valor total a pagar: R$ %5.2f |",vlr);
printf("\n+--------------------------------------+");
}
132
Algoritmos e Lógica de Programação
4) Criar um programa em linguagem C que leia um número
inteiro entre 1 e 7 e escreva o dia da semana
correspondente. Caso o usuário digite um número fora
desse intervalo, deverá aparecer uma mensagem
informando que não existe dia da semana com esse
número.
133
Algoritmos e Lógica de Programação#include <stdio.h>
int main(void) 
{
int dia;
float vlr=0;
printf("\n\nDia da Semana (1..7)\n");
printf("\nDigite o número do dia da semana: ");
scanf("%i",&dia);
printf("\n");
if (dia == 1)
printf("Domingo");
else
if (dia == 2)
printf("Segunda");
else
if (dia == 3)
printf("Terça");
else
if (dia == 4)
printf("Quarta");
else
if (dia == 5)
printf("Quinta");
else
if (dia == 6)
printf("Sexta");
else
if (dia == 7)
printf("Sábado");
}
134
Algoritmos e Lógica de Programação
5) Um hotel cobra R$ 300,00 por diária e mais uma taxa
adicional de serviços. Se a diária for menor que 15 a taxa e
de R$ 20,00. Se o número de diárias for igual a 15 a taxa é
de R$ 14,00 e se o número for maior que 15 a taxa é de R$
12,00. Considerando-se que para cada pessoa tenha-se um
registro contendo seu nome e o número de diárias. Faça um
algoritmo que imprima o nome e o total a pagar do hóspede.
135
Algoritmos e Lógica de Programação
O comando caso é utilizado para que seja possível escolher uma opção
dentre várias existentes, eliminando a necessidade de se usar diversos
Se ... Então encadeados.
Isso simplifica a codificação do algoritmo, e facilita sua depuração e
atualização.
Esse comando testa uma condição, e dependendo do resultado,
executará os códigos associados.
Comando Caso – Escolhas múltiplas
136
Algoritmos e Lógica de Programação
SELEÇÃO ENTRE DUAS OU MAIS SEQUÊNCIAS DE COMANDOS
Formas de Representação no Algoritmo
caso <valor da expressão>
igual <lista de valores 1> então <sequência de comandos 1> 
igual <lista de valores N> então <sequência de comandos N>
senão <sequência de comandos X>
fim-caso
……
137
Algoritmos e Lógica de Programação
EXEMPLO ( comando case ) : Dado o código da peça, determinar seu peso 
Algoritmo Determina_Peso
Início
caractere CODIGO;
real PESO;
Escreva (“Código da peça (P,M,G)”);
leia (CODIGO);
caso CODIGO
igual 'p' então
PESO=23.5;
escreva (“Peso é ”, PESO);
igual 'm' então
PESO=50.7;
escreva (“Peso é ”, PESO);
igual 'g' então
PESO=102.9;
escreva (“Peso é ”, PESO);
senão
escreva (“Código Invalido”);
fim-caso
Fim.
programa { 
funcao inicio() 
{ caracter CODIGO 
real PESO 
escreva("Codigo da peca (P,M,G)\n") 
leia (CODIGO) 
escolha (CODIGO) {
caso 'p' : PESO=23.5
escreva("\nPeso é ", PESO,"\n\n")
pare 
caso 'm': PESO=50.7
escreva("\nPeso é ", PESO,"\n\n")
pare
caso 'g': PESO=102.9 
escreva("\nPeso é ", PESO,"\n\n")
pare 
caso contrario: 
escreva("\nCódigo Invalido\n\n")
} 
}
}
Portugol Padrão Portugol Webstudio
138
Algoritmos e Lógica de Programação
Exercícios
1) Crie um programa que classifique a categoria de um atleta de 
acordo com sua idade, conforme as regras:
• De 8 a 10 anos – INFANTIL
• De 11 a 13 anos - JUVENIL 
• De 14 a 16 anos - JUNIOR
139
Algoritmos e Lógica de Programação
programa {
funcao inicio() {
inteiro idade
escreva("Idade:")
leia(idade)
escolha(idade) {
caso 8:
caso 9:
caso 10:
escreva("\ninfantil\n")
pare
caso 11:
caso 12:
caso 13:
escreva("\nJuvenil\n")
pare
caso 14:
caso 15:
caso 16:
escreva("\nJunior\n“)
pare
caso contrario:
escreva("\nIdade sem cartegoria.\n")
}
}
}
140
Algoritmos e Lógica de Programação
2) Uma empresa concederá um aumento de salário aos seus
funcionários, variável de acordo com o cargo, conforme a tabela
abaixo. Faça um algoritimo que leia o salário e o código do cargo de
um funcionário e calcule o seu novo salário. Se o cargo do
funcionário não estiver na tabela, ele deverá, então, receber 15% de
aumento. Mostre o salário antigo, o novo salário e a diferença entre
ambos.
Código %
310 5.0
456 7.5
885 10.0
141
Algoritmos e Lógica de Programação
programa {
funcao inicio() {
inteiro cargo
real sal, nv_sal, acrec
escreva("\nCargo: ")
leia(cargo)
escreva("\nSalário: ")
leia(sal)
escolha(cargo) {
caso 310:
acrec = sal * 0.05
nv_sal = sal + acrec
escreva("\nSal.Ant. = R$ ",sal," Sal.Nov. = R$ ",nv_sal," Aumento = R$ ",acrec,"\n\n")
pare
caso 456:
acrec = sal * 0.075
nv_sal = sal + acrec
escreva("\nSal.Ant. = R$ ",sal," Sal.Nov. = R$ ",nv_sal," Aumento = R$ ",acrec,"\n\n")
pare
caso 885:
acrec = sal * 0.1
nv_sal = sal + acrec
escreva("\nSal.Ant. = R$ ",sal," Sal.Nov. = R$ ",nv_sal," Aumento = R$ ",acrec,"\n\n")
pare
caso contrario:
acrec = sal * 0.15
nv_sal = sal + acrec
escreva("\nSal.Ant. = R$ ",sal," Sal.Nov. = R$ ",nv_sal," Aumento = R$ ",acrec,"\n\n")
}
}
}
142
Algoritmos e Lógica de Programação
3) Faça um algoritmo que leia uma letra e mostre uma das
mensagens de acordo com a mesma:
Letra = a -> “Vogal (a)”
Letra = m -> “Consoante (m)”
143
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() {
caracter letra
escreva("\nLetra: ")
leia(letra)
escolha(letra) {
caso 'a': escreva("\nVogal (a)\n")
pare
caso 'e': escreva("\nVogal (e)\n")
pare
caso 'i': escreva("\nVogal (i)\n")
pare
caso 'o': escreva("\nVogal (o)\n")
pare
caso 'u': escreva("\nVogal (u)\n")
pare
caso contrario:
escreva("\nConsoante (",letra,")\n")
}
}
}
144
Algoritmos e Lógica de Programação
4) Faça um algoritmo que simule uma calculadora com as operações
básicas: Adição, Multiplicação, Divisão, Subtração
145
Algoritmos e Lógica de Programação
programa {
funcao inicio() {
caracter oper
real res,x,y
escreva("\nCalculadora")
escreva("\nOperações: + * / -\n")
leia(x,oper,y)
escolha(oper) {
caso '+':res = x + y
escreva("\n",x," ",oper," ",y," = ",res,"\n\n")
pare
caso '*': res = x * y
escreva("\n",x," ",oper," ",y," = ",res,"\n\n")
pare
caso '/': res = x / y
escreva("\n",x," ",oper," ",y," = ",res,"\n\n")
pare
caso '-': res = x - y
escreva("\n",x," ",oper," ",y," = ",res,"\n\n")
pare
caso contrario:
escreva("\nOperação não disponível.\n\n")
}
}
}
146
Algoritmos e Lógica de Programação
O comando caso é utilizado para que seja possível escolher uma opção
dentre várias existentes, eliminando a necessidade de se usar diversos
Se ... Então encadeados.
Isso simplifica a codificação do algoritmo, e facilita sua depuração e
atualização.
Esse comando testa uma condição, e dependendo do resultado,
executará os códigos associados.
Comando Caso – Escolhas múltiplas
147
Algoritmos e Lógica de Programação
switch (variável) {
case <constante1> : <sequência de comandos 1> ; 
break;
….
case <constante N> : <sequência de comandos N>; 
break;
default sequência de comandos default;
}
Aula Prática
148
Algoritmos e Lógica de Programação
switch (variável) {
case <constante1> : <sequência de comandos 1> ; 
break;
….
case <constante N> : <sequência de comandos N>;
break;
default sequência de comandos default;
}
Se o comando break não for 
utilizado os demais cases 
continuam sendo avaliados.
A expressão é avaliada e então a 
sequência associada ao seu valor é 
executada.
Se o valor da expressão não se encontra 
em nenhuma das listas de valores, a 
sequência default será executada.
A opção default é 
facultativa
149
Algoritmos e Lógica de Programação
EXEMPLO ( comando case ) : Dado o código da peça, determinar seu peso 
programa { 
funcao inicio() 
{ caracter CODIGO 
real PESO 
escreva("Codigo da peca (P,M,G)\n") 
leia (CODIGO) 
escolha (CODIGO) {
caso 'p' : PESO=23.5
escreva("\nPeso é ", PESO,"\n\n")
pare 
caso 'm': PESO=50.7
escreva("\nPeso é ", PESO,"\n\n")
pare
caso 'g': PESO=102.9 
escreva("\nPeso é ", PESO,"\n\n")
pare 
caso contrario: 
escreva("\nCódigo Invalido\n\n")
} 
}
}
Portugol Webstudio Linguagem C
#include <stdio.h>
#include <stdlib.h>
int main()
{ char cod;
float peso;
printf("Codigo (p-m-g):");
scanf("%c",&cod);
switch(cod){
case 'p':
peso = 23.5;
break;
case 'm':
peso = 50.7;
break;
case 'g':
peso = 102.9;
break;
}
printf("\n\nPeso = %5.2f\n\n",peso);
return 0;
}
150
Algoritmos e Lógica de Programação
1) Uma empresa concederá um aumento de salário aos seus
funcionários, variável de acordo com o cargo, conforme a tabela
abaixo. Faça um algoritimo que leia o salárioe o código do cargo de
um funcionário e calcule o seu novo salário. Se o cargo do
funcionário não estiver na tabela, ele deverá, então, receber 15% de
aumento. Mostre o salário antigo, o novo salário e a diferença entre
ambos.
Código %
310 5.0
456 7.5
885 10.0
151
Algoritmos e Lógica de Programação
#include <stdio.h>
#include <stdlib.h>
int main()
{ int carg;
float sal,nv_sal,acre;
printf("\nCargo:");
scanf("%i",&carg);
printf("\nSalario:");
scanf("%f",&sal);
switch(carg){
case 310 :
acre = sal * 0.05;
nv_sal = sal + acre;
break;
case 456:
acre = sal * 0.075;
nv_sal = sal + acre;
break;
case 885:
acre = sal * 0.1;
nv_sal = sal + acre;
break;
default:
acre = sal * 0.15;
nv_sal = sal + acre;
break;
}
printf("\n\nSalario = R$ %5.2f",sal);
printf("\nAumento = R$ %5.2f",acre);
printf("\nNovo Salario = R$ %5.2f \n\n",nv_sal);
return 0;
}
152
Algoritmos e Lógica de Programação
2) Faça um algoritmo que simule uma calculadora com as operações
básicas: Adição, Multiplicação, Divisão, Subtração
153
Algoritmos e Lógica de Programação
#include <stdio.h>
#include <stdlib.h>
int main()
{ char op;
float x,y,re;
printf("\nCalculadora (+,-,*,/)\n");
printf("====================\n\n");
scanf("%f",&x);
scanf("%s",&op);
scanf("%f",&y);
switch(op){
case '+' :
re = x + y;
break;
case '-' :
re = x - y;
break;
case '*' :
re = x * y;
break;
case '/' :
re = x / y;
break;
default:
printf("Operação invalida.");
break;
}
printf("\n\n %5.2f %c %5.2f = %5.2f",x,op,y,re);
return 0;
}
154
Algoritmos e Lógica de Programação
3) Mostre o menu abaixo para o usuário e o permita
escolher um dos produtos de sua escolha. No final
mostre o total a pagar.
1 – Hamburguer R$ 18,00
2 – Batata Frita R$ 20,00
3 – Refri 300 ml R$ 12,00
155
Algoritmos e Lógica de Programação
#include <stdio.h>
#include <stdlib.h>
int main()
{ int op,qt;
float tot;
printf("\n\n * * * M E N U * * *\n");
printf(" ====================\n\n");
printf("1- Hamburguer R$ 18,00\n");
printf("2- Batata Frita R$ 20,00\n");
printf("3- Refri R$ 12,00\n");
printf("\nFaça seu pedido: ");
scanf("%i",&op);
if((op>=1) && (op<=3) )
{
printf("\nQuantidade: ");
scanf("%i",&qt);
}
tot = 0;
switch(op){
case 1 : 
tot = 18 * qt;
break;
case 2 :
tot = 20 * qt;
break;
case 3 :
tot = 12 * qt;
break;
default:
printf("Opção invalida.");
break;
}
if (tot>0)
printf("\nTotal a pagar = R$ %5.2f",tot);
return 0;
}
156
Algoritmos e Lógica de Programação
4) Em uma loja e CD´s existem apenas quatro tipos
de preços que estão associados a cores. Assim os
CD´s que ficam na loja não são marcados por preços
e sim por cores. Desenvolva o algoritmo que a partir
a entrada da cor o software mostre o preço. A loja
está atualmente com a seguinte tabela de preços.
Cor Preço 
Verde R$ 10,00 
Azul R$ 20,00 
Amarelo R$ 30,00 
Vermelho R$ 40,00
157
Algoritmos e Lógica de Programação
#include <stdio.h>
//#include <stdlib.h>
int main()
{ char cor;
float pr;
printf("\n\n Tabela Preco\n");
printf("=====================\n\n");
printf("E-Verde - R$ 10,00\nZ-Azul - R$”);
printf(“ 20,00\nA-Anarelo - R$ 30,00\nO-”);
printf(“Vermelho - R$ 40,00\n\n");
printf("Cor: ");
scanf("%s",&cor);
pr = 0;
switch(cor)
{
case 'e' :
case 'E' :
pr = 10 ;
break;
case 'z' :
case 'Z' :
pr = 20;
break;
case 'a' :
case 'A' :
pr = 30;
break;
case 'o' :
case 'O' :
pr = 40;
break;
default:
printf("\n\nOpcao invalida.");
}
if (pr > 0)
{
printf("\n\nCor %c -Preco = “);
printf(“R$ %5.2f\n\n",cor,pr);
}
return 0;
}
158
Algoritmos e Lógica de Programação
Utilizamos os comandos de repetição quando
desejamos que um determinado conjunto de
instruções ou comandos sejam executados um
número definido ou indefinido de vezes, ou enquanto
um determinado estado de coisas prevalecer ou até
que seja alcançado.
Comandos de Repetição
159
Algoritmos e Lógica de Programação
160
Algoritmos e Lógica de Programação
Laço de Repetição
161
Algoritmos e Lógica de Programação
programa 
{ 
funcao inicio() 
{
inteiro cont, idade
cont = 0
enquanto (cont < N)
{
escreva("\nDigite a idade:")
leia(idade)
cont = cont + 1
}
}
}
162
Algoritmos e Lógica de Programação
Exemplo:
Faça um algoritmo que leia 10 números inteiros, e no final
apresente o resultado da soma de todos para usuário.
163
Algoritmos e Lógica de Programação
164
Algoritmos e Lógica de Programação
Exercícios:
1) Faça um algoritmo que leia 10 números inteiros, e no
final apresente o último número lido para usuário.
165
Algoritmos e Lógica de Programação
166
Algoritmos e Lógica de Programação
Exercícios:
2) Faça um algoritmo que leia 10 números inteiros, e no
final apresente o maior número lido para usuário.
167
Algoritmos e Lógica de Programação
168
Algoritmos e Lógica de Programação
Exercícios:
3) Faça um algoritmo que leia o salário de 25 alunos da
sala, e no final apresente o salário médio para o usuário.
169
Algoritmos e Lógica de Programação
programa 
{ 
funcao inicio() {
inteiro cont
real sal, salM, tot
tot = 0.0
cont = 0
salM = 0.0
enquanto (cont < 25)
{
escreva("\nsalario: ")
leia(sal)
tot = tot + sal
cont = cont + 1
}
salM = tot / 25
escreva("\nSalario Medio = ",salM,"\n")
}
}
170
Algoritmos e Lógica de Programação
Exercícios:
4) Faça um algoritmo que leia o sexo de 40 alunos da
sala, e no final apresente a quantidade de Mulheres e a
quantidade Homens existentes.
171
Algoritmos e Lógica de Programação
programa { 
funcao inicio() {
inteiro cont,cm,cf
caracter sx
cont = 0
cm = 0
cf = 0
enquanto (cont < 3)
{
escreva("\nSexo(M-Masculino/F-Feminino): ")
leia(sx)
se (sx=='M' ou sx=='m')
cm = cm + 1
se (sx=='F' ou sx=='f')
cf = cf + 1
cont = cont + 1
}
escreva("\n Mulheres = ",cf," Homens = ",cm) }
}
172
Algoritmos e Lógica de Programação
Exercícios:
5) Faça um algoritmo que leia um número inteiro e mostre
na tela a tabuada do mesmo no formato a seguir:
Exemplo: Suponha que N = 5
5 x 1 = 5
5 x 2 = 10 OBS: Usar Laço de Repetição
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10= 50
173
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() 
{
inteiro cont,r,num
cont=1
r=0
escreva("\nNúmero: ")
leia(num)
enquanto (cont<=10)
{
r = num * cont
escreva("\n",num," X ",cont," = ",r)
cont = cont + 1
}
}
}
174
Algoritmos e Lógica de Programação
Aula Prática
Sintaxe:
while (condição)
{
// comandos a serem repetidos
// comandos a serem repetidos
}
// comandos após o laço 'while'
Comandos de Repetição:
Laço Enquanto (While)
175
Algoritmos e Lógica de Programação
LINGUAGEM C
#include <stdio.h>
int main(void) 
{
int cont, idade;
cont=0;
while (cont<10)
{
printf("Idade:");
scanf("%i",&idade);
cont = cont + 1;
}
return 0;
}
PORTUGOL
programa 
{ 
funcao inicio() 
{
inteiro cont, idade
cont = 0
enquanto (cont < N)
{
escreva("\nDigite a idade:")
leia(idade)
cont = cont + 1
}
}
}
176
Algoritmos e Lógica de Programação
Exercícios:
1) Faça um programa C que leia 10 números inteiros, e no final apresente
o último número lido para usuário.
177
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) 
{
int cont, num;
cont=0;
while (cont<10)
{
printf("Numero:");
scanf("%i",&num);
cont = cont + 1;
}
printf("Ultimo Numero:%i",num);
return 0;
}
178
Algoritmos e Lógica de Programação
Exercícios:
2) Faça um programa C que mostre na tela a sequência de números
inteiros de 1 a 20.
179
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) {
int cont;
cont=1;
while (cont<=20)
{
printf("\n%i",cont);
cont = cont + 1;
}
return 0;
}
180
Algoritmos e Lógica de Programação
Exercícios:
3) Faça um algoritmo que leia um número inteiro e mostre
na tela a tabuada do mesmo no formato a seguir:
Exemplo: Suponha que N = 5
5 x 1 = 5
5 x 2 = 10 OBS: Usar Laço de Repetição
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10= 50
181
Algoritmos e Lógica de Programação
#include <stdio.h>int main(void) 
{
int cont,n,r;
cont=1;
printf("\n\nNumero: ");
scanf("%i",&n);
while (cont<=10)
{
r = n * cont;
printf("\n%i X %i = %i",n,cont,r);
cont = cont + 1;
}
return 0;
}
182
Algoritmos e Lógica de Programação
Exercícios:
4) O Prefeito da pacata cidade de Cabrobó do Fundo deseja atualizar o
sistema eleitoral da cidade para a próxima eleição, adotando a votação
eletrônica. Para a isso sua empresa ganhou a licitação para desenvolver o
software da urna eletrônica, e você foi o Programador escolhido para criá-
lo. No final do dia de votação, quando a urna for finalizada o programa de
verá mostrar os totais de cada candidato, e também as quantidades de
Votos em Brancos e Nulos.
Candidatos:
1 – João Bafo de Onça
2 – Francisquim do Mercado
3 – Bode Zé
183
Algoritmos e Lógica de Programação
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int cont,voto=0,cb=0,cf=0,cz=0,cw=0,cn=0;
while (voto!=98765)
{
system("clear");
printf("\n\n1 - João Bafo de Onça\n2 - Francisquim do Mercado\n3 - Bode Zé\n4 - Banco\n5 - Nulo\n\nVoto: ");
scanf("%i",&voto);
switch(voto) {
case 1: {cb++;
break;}
case 2: {cf++;
break;}
case 3: {cz++;
break;}
case 4: {cw++;
break;}
case 5: {cn++;
break;} 
default: if (voto!=98765)
printf("Opção invalida.");
}
}
printf("\n\nJoão Bafo de Onça ==> %i\nFrancisquim do Mercado==> %i\nBode Zé ==> %i\nBranco ==> %i\nNulo ==> 
%i",cb,cf,cz,cw,cn);
return 0;}
184
Algoritmos e Lógica de Programação
Laço de repetição do tipo "para"
O laço de repetição com variável de controle facilita a construção de
algoritmos com número definido de repetições, pois possui um
contador (variável de controle) embutido no comando com o
incremento automático. Desta forma, um erro muito comum que se
comete ao esquecer de fazer o incremento do contador é evitado.
Toda vez que temos um problema cuja solução necessita de um
número determinado de repetições utilizamos um contador. O
contador deve ser inicializado antes do laço e deve ser incrementado
dentro do laço.
O laço com variável de controle possui três partes. A inicialização da
variável contadora, a definição do valor final do contador e a
definição do incremento. Estas três partes são escritas juntas, no
início do laço.
185
Algoritmos e Lógica de Programação
A sintaxe é respectivamente a palavra reservada para, abre
parênteses, a declaração de uma variável de controle, ponto e
virgula, a condição a ser testada, ponto e virgula, uma alteração
na variável de controle a ser feita a cada iteração, fecha
parênteses, e entre chaves as instruções do programa.
para (i = 0; i < 8; i++)
{
// Código executado enquanto a condição
// for satisfeita.
}
Inicializa a variável 
de controle.
Condição 
que limita o 
nº de voltas
Incremento 
da variável 
de controle
186
Algoritmos e Lógica de Programação
Laço de repetição do tipo "para"
Principais características:
• A variável de controle é do tipo inteiro
• Por padrão o incremento será uma unidade
• É possível utilizar a estrutura com passo diferente de +1
para (contador = 1; contador <= 10; contador+=2) 
{
resultado = numero * contador 
escreva (numero, " X ", contador, " = ", resultado , "\n")
}
• Os valores iniciais e finais são controlados pelo laço.
187
Algoritmos e Lógica de Programação
Exemplo:
Dado um número mostre a tabuada do mesmo na tela
no seguinte formato:
Supondo: N = 7
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10 = 70
188
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() 
{
inteiro numero, resultado, contador
escreva("Informe um número para ver sua tabuada: ")
leia(numero)
para (contador = 1; contador <= 10; contador++)
{
resultado = numero * contador
escreva (numero, " X ", contador, " = ", resultado , "\n")
}
}
}
189
Algoritmos e Lógica de Programação
Exercícios:
1) Construa um algoritmo que calcule a nota média alcançada
pelos alunos de uma sala.
190
Algoritmos e Lógica de Programação
programa {
funcao inicio() 
{
inteiro i,alunos
real nota, media, soma
escreva("\nNumero de alunos:")
leia(alunos)
soma = 0.0
para( i=1; i<=alunos; i++ ) 
{
escreva("\nnota",i,":")
leia(nota)
soma = soma + nota
}
media = soma / alunos
escreva("\n\nMédia = ",media,"\n\n")
}
}
191
Algoritmos e Lógica de Programação
2) Construa um algoritmo que leia um número inteiro e em
seguida mostre o resultado do número 2 elevado ao número
lido.
4
Ex: N = 4 calcular 2 = 2 x 2 x 2 x 2 = 16
192
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() 
{
inteiro ex,r,cv
escreva("\nExponenciação base 2")
escreva("\n\nExpoente(maior 0):")
leia(ex)
r = 1
para(cv=1;cv<=ex;cv++) 
{
r = r * 2
}
se (ex >= 0)
escreva("\n\nResultado = ",r,"\n")
senao
escreva("\n\nExpoente deve ser maior que zero.\n")
}
}
193
Algoritmos e Lógica de Programação
3) Faça um algoritmo que leia um par de números, em seguida
mostre a sequência de números inteiros existentes entre o
menor e o maior, e também a soma de todos eles.
194
Algoritmos e Lógica de Programação
programa {
funcao inicio()
{ inteiro me,ma,x,y,i,soma
i = 0
soma = 0
escreva("Numero1: ")
leia(x)
escreva("numero2: ")
leia(y)
se (x>y)
{
ma = x
me = y
}
senão
{
ma = y
me = x
}
se (ma > me)
{
escreva("\n\nSequência: ")
para (i = me; i <= ma-1; i++)
{
escreva(i,"-")
soma = soma + i
}
escreva("",i)
soma = soma + i
}
se (soma > 0)
escreva("\n\nSoma = ",soma,"\n\n")
}
}
195
Algoritmos e Lógica de Programação
4) Construa um algoritmo que leia dois números inteiros, base
e expoente. Em seguida mostre o resultado da base elevada
ao expoente lido.
3
Ex: ba = 2 calcular 2 = 2 x 2 x 2 = 8
ex = 3
196
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() 
{
inteiro ex,b,r,cv
escreva("\nExponenciação")
escreva("\n\nExpoente(maior 0): ")
leia(ex)
escreva("\nBase: ")
leia(b)
r = 1
para(cv=1;cv<=ex;cv++)
{
r = r * b
}
se (ex >= 0)
escreva("\nResultado = ",r,"\n")
senão
escreva("\nExpoente deve ser maior que zero.\n")
}
}
197
Algoritmos e Lógica de Programação
AULA PRÁTICA
Laço for()
Assim como o while o for é utilizado para criar estruturas
de repetição.
Sintaxe:
for ( inicializacao; condição; incremento ) 
{ 
bloco_de_comando
}
198
Algoritmos e Lógica de Programação
Exemplo: 
int count; 
for (count = 1; count <= 10; count++ ) 
{ 
printf(“%d “, count); 
}
199
Algoritmos e Lógica de Programação
Exercício:
1) Faça um programa em C que mostre na tela a sequência de
números inteiros de 1 a 50.
200
Algoritmos e Lógica de Programação
#include<stdio.h>
int main()
{ 
int num;
printf("\n\t Imprimir os números de 1 até 50 : \n");
for(num=1;num<=50;num++)
{
printf(" %d\n",num);
}
return 0;
}
201
Algoritmos e Lógica de Programação
Exercício:
2) Faça um programa em C que Leia várias idades e calcule a
média entre as idades e mostre na tela para o usuário.
202
Algoritmos e Lógica de Programação
#include<stdio.h>
int main()
{
int idades, soma_idades=0, qtde_idades, cont;
float media;
printf("Quantas idades serão utilizadas? ");
scanf ("%d", &qtde_idades);
for(cont=1;cont<=qtde_idades;cont++)
{
printf("Entre com a idade %d : ",cont);
scanf("%d", &idades);
soma_idades = soma_idades + idades;
}
media = soma_idades/qtde_idades;
printf ("\n A media de idades é de : %5.1f", media);
return 0;
}
203
Algoritmos e Lógica de Programação
Exercício:
3) Faça um programa em C utilizando a estrutura de
repetição for, que receba 10 números e conte quantos
deles estão no intervalo [10,20] e quantos deles estão
fora do intervalo, escrevendo estas informações.
Intervalo: [10,20] Números maiores ou iguais a10 e menores ou iguais a 20
204
Algoritmos e Lógica de Programação
#include<stdio.h>
int main()
{
int i,num,faz_parte,n_faz;
faz_parte =0; 
n_faz = 0; 
printf(" \n Digite os numeros para verificar \n");
for(i=0;i<10;i++)
{
scanf("%d",&num);
if(num>=10 && num<=20) 
{
faz_parte= faz_parte + 1; 
} 
else
n_faz= n_faz + 1;
}
printf(" \n %d numeros fazem partedo intervalo[10,20] \n",faz_parte); 
printf(" \n %d numeros nao fazem parte do intervalo[10,20]",n_faz);
return 0;
}
205
Algoritmos e Lógica de Programação
Exercício:
4) Faça um programa em C que mostre na tela a
sequência de números pares no intervalo de 0 a um
número, maior que zero, fornecido pelo usuário.
206
Algoritmos e Lógica de Programação
#include<stdio.h>
int main()
{
int i,f;
printf(" \n Mostra os nº pares \n\n");
printf("No intervalo de 0 a : ");
scanf("%i",&f);
printf("\n\n");
for(i=2;i<=f;i+=2)
{
printf("%i",i);
if (i < (f-1))
printf("-");
}
return 0;
}
207
Algoritmos e Lógica de Programação
5) Construa um programa C que leia dois números inteiros,
base e expoente. Em seguida mostre o resultado da base
elevada ao expoente lido.
208
Algoritmos e Lógica de Programação
#include<stdio.h>
int main()
{
int i,b,e,r;
printf(" \n Calcula Expoente de um Nº \n\n");
printf("Base: ");
scanf("%i",&b);
printf("\nExpoente: ");
scanf("%i",&e);
r = 1;
for(i=1;i<=e;i++)
{
r = r * b;
}
printf("\nResultado de %i elevado a %i = %i",b,e,r);
return 0;
}
209
Algoritmos e Lógica de Programação
Até o momento aprendemos a trabalhar com variáveis
simples que somente armazenam um valor por vez. Assim
corremos o risco de não conseguir resolver alguns tipos de
problemas, por exemplo aqueles em que é necessário
trabalhar com vários valores ao mesmo tempo.
Estrutura de Dados Homogênea
Variável Simples
NUM 55 NUM = 44 NUM 44
210
Algoritmos e Lógica de Programação
Estudaremos agora uma técnica de programação que permitirá
trabalhar como o agrupamento de várias informações dentro de
uma mesma variável, sendo sempre do mesmo tipo de dado, e
por esta razão é chamado de Estrutura de Dados
Homogênea.
A utilização deste tipo de estrutura de dados recebe diversos
nomes, como: variáveis indexadas, variáveis compostas,
variáveis subscritas, arranjos, vetores, matrizes, tabelas em
memória ou arrays (do inglês). São vários os nomes
encontrados, nós iremos tratar por vetores.
211
Algoritmos e Lógica de Programação
Matrizes de uma dimensão ou vetores
Uma matriz de uma dimensão ou vetor será representada por
seu nome e seu tamanho (dimensão) entre colchetes. Desta
forma seria um vetor nota[6], sendo seu nome nota, possuindo
um tamanho de 6. Isto significa que poderão ser armazenados
em nota até 6 elementos. Perceba que na utilização de
variáveis simples existe uma regra: uma variável somente
pode conter um valor por vez. No caso do vetor, poderão
armazenar mais de um valor por vez, pois são dimensionados
exatamente para este fim..
212
Algoritmos e Lógica de Programação
Desta forma podemos manipular uma quantidade maior de
informação com pouco trabalho de processamento. Devemos
apenas considerar que com relação à manipulação dos
elementos de um vetor, eles ocorrerão de forma
individualizada, pois não é possível efetuar a manipulação de
todos os elementos do conjunto ao mesmo tempo.
213
Algoritmos e Lógica de Programação
NOTA
0 1 2 3 4 5
Dados de um Vetor
Supondo o vetor: REAL: NOTA [6]
Índice, indica a posição 
de cada elemento.
Nome – comum para 
todos os elementos.
Valor (conteúdo) de cada 
elemento do vetor.
214
Algoritmos e Lógica de Programação
nota[0] = 4.0 
nota[1] = 6.0 
nota[2] = 5.0 
nota[3] = 3.0 
nota[4] = 7.5 
nota[5] = 4.0
Atribuição de valores a um vetor
NOTA 4,0 6,0 5,0 3,0 7,5 4,0
0 1 2 3 4 5
215
Algoritmos e Lógica de Programação
NOTA 4,0 6,0 5,0 3,0 7,5 4,0
0 1 2 3 4 5
Cálculo com valores de um vetor
NOTA[0] = NOTA[3] + NOTA[5]
NOTA 7,0 6,0 5,0 3,0 7,5 4,0
0 1 2 3 4 5
216
Algoritmos e Lógica de Programação
• Observe que o nome é um só.
• O que muda é a informação indicada dentro dos colchetes. A
esta informação dá-se o nome de índice, sendo este o
endereço em que o elemento está armazenado.
• É necessário que fique bem claro que o elemento é o conteúdo
do vetor, neste caso os valores das notas.
• No caso de nota[0] = 7.0, o número 0 é o índice; o endereço
onde cujo elemento é 7.0 está armazenado.
NOTA 7,0 6,0 5,0 3,0 7,5 4,0
0 1 2 3 4 5
217
Algoritmos e Lógica de Programação
Exemplo:
Construa um algoritmo que carregue um vetor inteiro com 5
números lidos. Em seguida mostre estes números na tela
para o usuário.
218
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() {
inteiro v[5], i 
para(i=0;i<5;i++)
{
escreva("Numero",i,":")
leia(v[i])
escreva("\n")
}
i=0
para(i=0;i<5;i++)
{
escreva(v[i]," - ")
}
}
}
219
Algoritmos e Lógica de Programação
Exercício 1:
Construa um algoritmo que carregue um vetor inteiro com 10
números lidos. Em seguida mostre o último e o primeiro para
o usuário.
220
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() 
{
inteiro vet[5], i
para(i=0;i<5;i++)
{
escreva("Numero",i+1,":")
leia(vet[i])
escreva("\n")
}
escreva(vet[0]," - ",vet[4])
}
}
221
Algoritmos e Lógica de Programação
Exercício 2:
Construa um algoritmo que carregue um vetor inteiro com 5
números lidos. Em seguida mostre a soma de todos para o
usuário.
222
Algoritmos e Lógica de Programação
programa {
funcao inicio() {
inteiro vetor[5], j, soma
soma = 0
para(j=0; j<5; j++)
{
escreva("Numero",j+1,":")
leia(vetor[j])
escreva("\n")
}
j = 0
para(j=0; j<5; j++)
{
soma = soma + vetor[j]
}
escreva("\nSoma = ",soma,"\n")
}
}
223
Algoritmos e Lógica de Programação
Exercício 3:
Construa um algoritmo que carregue um vetor inteiro com 10
números lidos. Em seguida mostre para o usuário os
mesmos em ordem inversa a de leitura.
224
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() 
{
inteiro vetor[5], j
// Laço para carregar o vetor
para(j=0;j<5;j++)
{
escreva("Numero",j+1,":")
leia(vetor[j])
escreva("\n")
}
// Laço mostrar os conteúdos em ordem inversa a leitura
para(j=4;j>=0;j--)
{
escreva(vetor[j],"-")
}
}
}
225
Algoritmos e Lógica de Programação
Exercício 4:
Construa um algoritmo que carregue um vetor inteiro com 10
números lidos. Depois do vetor carregado, procure no mesmo
o maior conteúdo e mostre para o usuário na tela.
226
Algoritmos e Lógica de Programação
programa 
{
funcao inicio() 
{
inteiro i,vet[10],ma
para(i=0;i<10;i++)
{
escreva("Numero",i+1,": ")
leia(vet[i])
}
ma = vet[0]
para(i=0;i<10;i++)
{
se(vet[i]>ma)
{
ma = vet[i]
}
}
escreva("\nMAIOR = ",ma,"\n")
}
}
227
Algoritmos e Lógica de Programação
AULA PRÁTICA – Linguagem C
VETORES
Os vetores, também denominados de arrays, são um conjunto
de variáveis do mesmo tipo que facilitam a manipulação dos
dados, pois permitem o acesso por meio de índices.
Ao declarar um vetor, é preciso informar o seu tamanho e o seu
tipo, por exemplo, um vetor do tipo int com tamanho 10, indica
que este vetor terá uma capacidade de armazenar até 10
valores do tipo inteiro. Se o vetor é do tipo float, então todas as
suas posições são do tipo float, assim, os vetores são estruturas
homogêneas.
228
Algoritmos e Lógica de Programação
tipoDado nomeVetor[tamanho];
Exemplos:
Int idade[10]; - Vetor idade do tipo int e tamanho 10. 
float notas[5]; - Vetor notas do tipo float com tamanho igual a 5
double preco[20]; - Vetor preco do tipo double com tamanho igual a 20
Veja a seguir a sintaxe para a declaração de um vetor:
229
Algoritmos e Lógica de Programação
Construa um programa C que carregue um vetor inteiro com
5 números lidos. Em seguida mostre estes números na tela
para o usuário.
Exercício 1:
230
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) 
{
int j, num[5];
for(j=0;j<5;j++)
{
printf("Número%i:",j+1);
scanf("%i",&num[j]);
}
for(j=0;j<5;j++)
{
printf("\nNúmero%i:%i",j+1,num[j]); 
}
return 0;
}
231
Algoritmos e Lógica de Programação
Construa um programa C que carregue um vetor inteiro com
10 números lidos. Em seguida mostre o último e o primeiro
para o usuário.
Exercício 2:
232
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) 
{
int j, num[10];
for(j=0;j<10;j++) // laço para carregar o vetor
{
printf("Número%i:",j+1);scanf("%i",&num[j]);
}
printf("\nPrimeiro: %i\nUltimo : %i",num[0],num[9]); 
return 0;
}
233
Algoritmos e Lógica de Programação
Construa um programa C que carregue um vetor inteiro com
7 números lidos. Em seguida mostre os números na ordem
inversa a de leitura para o usuário.
Exercício 3:
234
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) 
{
int j, num[7];
for(j=0;j<7;j++) // laço para carregar o vetor
{
printf("Número%i:",j+1);
scanf("%i",&num[j]);
}
printf("\nORDEM INVERSA:\n");
for(j=6;j>=0;j--) // laço para mostrar nº ordem inversa
{
printf("%i-",num[j]); 
}
return 0;
}
235
Algoritmos e Lógica de Programação
Construa um programa C que carregue um vetor inteiro com
10 números lidos. Depois do vetor carregado procure no
mesmo o maior número, e mostre para o usuário.
Exercício 4:
236
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) 
{
int j, num[10],ma;
for(j=0;j<10;j++) // laço para carregar o vetor
{
printf("Número%i:",j+1);
scanf("%i",&num[j]);
}
ma = num[0];
for(j=1;j<10;j++) // laço para procurar o maior nº
{
if(num[j]>ma)
{
ma = num[j];
} 
}
printf("\nMAIOR NÚMERO:%i\n",ma);
return 0;
}
237
Algoritmos e Lógica de Programação
Construa um programa C que carregue um vetor inteiro com
12 números lidos. Depois do vetor carregado percorra o
mesmo acumulando a soma total dos números e mostre para
o usuário.
Exercício 5:
238
Algoritmos e Lógica de Programação
#include <stdio.h>
int main(void) 
{
int j, num[12],soma;
for(j=0;j<12;j++) // laço para carregar o vetor
{
printf("Número%i:",j+1);
scanf("%i",&num[j]);
}
soma = 0;
for(j=0;j<12;j++) // laço para procurar o maior nº
{
soma = soma + num[j];
} 
printf("\nSOMA TOTAL:%i\n",soma);
return 0;
}

Outros materiais