Buscar

aulas_programação

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 185 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 185 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 185 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

CCT0672 - Introdução à Programação
Aula 01: Introdução à Lógica de Programação
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Estrutura da disciplina
Unidade 1 - Introdução à lógica de programação
Unidade 2 - Estrutura Sequencial
Unidade 3 - Estrutura de Decisão
Unidade 4 - Estrutura de Repetição
Unidade 5 - Modularização
Unidade 6 - Estrutura de Dados Homogênea
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Estrutura da disciplina
Unidade 1 - Introdução à lógica de programação
Conceitos iniciais
O que é lógica?
O que é um algoritmo?
Exercícios para resolução
Dicas para se construir bons algoritmos
O que é um programa?
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
ANTES DE COMEÇAR
Façam:
- uma lista de etapas necessárias para se fazer um bolo
- um passo a passo para se fazer um suco
- uma sequência de passos para se trocar o pneu de um carro
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
ANTES DE COMEÇAR
Façam:
- uma lista de etapas necessárias para se fazer um bolo
1. Pegar todos os ingredientes
2. Misturar na batedeira
3. Acrescentar fermento em pó
4. Reservar
5. Untar a forma com manteiga e trigo
6. Despejar a massa do bolo na forma
7. Por no forno durante 1h
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
PERGUNTA-SE
1. Quais as dificuldades encontradas no desenvolvimento de cada um dos 
exercícios?
2. A sequência de passos funciona para qualquer situação?
3. A ordem das atividades foi feita na sua melhor sequência?
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
ALGUMAS DICAS PARA SE CONSTRUIR BONS ALGORITMOS
1. Utilizar frases curtas
2. Usar um verbo em cada frase (sempre no infinitivo)
3. Evite palavras ambíguas
4. Detalhar todas as etapas
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
O QUE É LÓGICA?
”A lógica é o ramo da filosofia que cuida das regras do bem pensar, ou 
do pensar correto, sendo, portanto, um instrumento do pensar”
É um conjunto de leis, princípios ou métodos que determinam um 
raciocínio coerente, induzindo a uma solução prática para um problema.
É o ato de pensar corretamente!
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
EXERCÍCIO II
Existem 3 garrafas, uma de 8 litros, outra de 5 e outra de 3 litros. 
Inicialmente a garrafa de 8 litros está cheia. Queremos colocar 4 litros na 
garrafa de 5 litros e deixar os outros 4 litros na garrafa de 8 litros
EXERCÍCIO I
Como medir exatamente 2 litros utilizando apenas um balde de 4 litros e 
outro de 3 litros? Nos baldes não há indicação da quantidade de água 
dentro deles, pode-se encher, esvaziar e a passar água de um para outro.
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
Balde de 4 litros Balde de 3 litros
4 0
1 3
0 3
3 0
3 3
4 2
0 2
EXERCÍCIO I
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
Balde de 4 litros Balde de 3 litros
4 0
1 3
0 3
3 0
3 3
4 2
0 2
EXERCÍCIO I
Encher o balde de 4L
Encher o balde de 3L
Secar o balde de 4L
Passar 3L para o de 4L
Encher o balde de 3L
Passar 1L para o de 4L
Sobra 2L no balde de 3L
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
Balde de 8 litros Balde de 5 litros Balde de 3 litros
8 0 0
0 5 3
3 5 0
3 2 3
6 2 0
6 0 2
1 5 2
1 4 3
4 4 0
EXERCÍCIO II
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
LÓGICA DE PROGRAMAÇÃO
É a técnica de desenvolver sequências lógicas para uma 
determinada tarefa (algoritmo)
PROGRAMA
É um algoritmo codificado em uma linguagem de programação, 
isto é, um conjunto de instruções/funções que representam 
tarefas que serão interpretadas e executadas por um computador
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
Algoritmos
• Uma sequência de passos (instruções) bem definidas
• Um algoritmo não representa necessariamente um programa de 
computador, mas os passos necessários para realização de um 
tarefa
• Podem haver repetição de passos, comparações ou necessitar de 
decisões
• Diferentes algoritmos podem realizar a mesma tarefa. Por exemplo, 
de quantas formas posso me vestir?
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
Etapas para construção de um algoritmo
• Entender o enunciado
• Identificar operações necessárias
• Organizar em sequência
• Refletir sobre a solução
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Conceitos de Lógica
Formas de representação de um algoritmo
Um algoritmo pode ser representado de diversas formas, respeitando-
se padrões para que sejam reconhecidos e utilizados por quem 
conhece esses padrões.
1. Linguagem natural
2. Fluxograma
3. Pseudocódigo
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Exercício
Linguagem Natural
Exemplo: uma sequência de passos para se trocar o pneu de um carro
1. Afrouxe um pouco os parafusos
2. Levante o carro
3. Retire os parafusos
4. Retire o pneu 
5. Coloque o pneu reserva
6. Aperte os parafusos
7. Abaixe o carro
8. Aperte os parafusos completamente
CCT0672 - Introdução à Programação
Aula 02: Formas de representação
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Estrutura da disciplina
Unidade 1 - Introdução à lógica de programação
Unidade 2 - Estrutura Sequencial
Unidade 3 - Estrutura de Decisão
Unidade 4 - Estrutura de Repetição
Unidade 5 - Modularização
Unidade 6 - Estrutura de Dados Homogênea
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Roteiro
Unidade 1 - Introdução à lógica de programação
Conceitos iniciais
O que é lógica?
O que é um algoritmo?
Exercícios para resolução
Dicas para se construir bons algoritmos
O que é um programa?
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Roteiro
Unidade 1 - Introdução à lógica de programação
Formas de representação de um algoritmo
 1. linguagem natural
 2. fluxograma
 3. pseudocódigo
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
Um algoritmo pode ser representado de diversas formas, respeitando-se 
padrões para que sejam reconhecidos e utilizados por quem conhece esses 
padrões.
1. Linguagem natural
2. Fluxograma
3. Pseudocódigo
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
1. Linguagem Natural
• Com base na linguagem natural do ser humano
• As palavras e termos usados dependem unicamente de quem escreve
• É preciso ter um cuidado ao utilizar as palavras, para evitar ambiguidade. 
Algumas dicas para construção:
- Utilizar frases curtas
- Usar somente um verbo em cada frase
 - Evitar palavras ambíguas
 - Detalhar todas as etapas
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
1. Linguagem Natural
Exemplo 1: passo a passo para fazer um bolo
1. Pegar todos os ingredientes
2. Misturar na batedeira
3. Acrescentar fermento em pó
4. Reservar
5. Ligar o forno em 180 graus
6. Untar a forma com manteiga e trigo
7. Despejar a massa do bolo na forma
8. Por no forno durante 1h
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
1. Linguagem Natural
Exemplo 2: sequência de passos para trocar um pneu
1. Afrouxe um pouco os parafusos
2. Levante o carro
3. Retire os parafusos
4. Retire o pneu 
5. Coloque o pneu reserva
6. Aperte os parafusos
7. Abaixe o carro
8. Aperte os parafusos completamente
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representaçãode um algoritmo
1. Linguagem Natural
Exemplo 3: sequência de passos para somar duas notas e mostrar a 
média
1. Ler duas notas
2. Somar as duas notas
3. Dividir o resultado da soma por 2
4. Mostrar o resultado (média)
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
2. Fluxograma
• É uma representação gráfica baseada em figuras e esquemas 
• Busca facilitar a visualização e o entendimento das etapas e processos
• As principais figuras utilizadas são:
Inicio/fim saída de dados
entrada de dados ponto de decisão
processamento seta direcional
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo Início
Afrouxar os parafusos da roda, um a um
Com o macaco, levante o carro
Termine de afrouxar os parafusos da roda e 
os retire
Pegue o macaco
Substitua o pneu
Coloque e aperte os parafusos
Com o macaco, abaixe o carro
Aperte os parafusos definitivamente
Fim
2. Fluxograma
Exemplo 4: 
sequência de passos 
para trocar um pneu
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
2. Fluxograma
Exemplo 5: 
sequência de passos para 
s o m a r d u a s n o t a s e 
mostrar a média
ler duas notas
somar o resultado
mostrar o resultado
dividir por dois
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
2. Fluxograma
Exemplo 6: 
ler dois números, A e B, 
informar qual deles é o 
maior
ler A e B
“A é maior!”
se (A > B)
“B é maior!”
V F
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
3. Pseudocódigo
• É uma forma de abstrair problemas existentes em formas anteriores
• Facilita o aprendizado da lógica de programação
• Utiliza notações padronizadas para representar cada etapa de um 
algoritmo, sem necessidade de conhecer a sintaxe de uma linguagem de 
programação
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
3. Pseudocódigo
inicio
 num1, num2, soma, sub : inteiro
 leia (num1, num2);
 soma <- num1 + num2;
 sub <- num1 – num2;
 escreva(soma);
 escreva(sub);
fim
Exemplo 7: 
a l g o r i t m o l e r d o i s 
números e apresentar o 
resultado da soma e da 
subtração entre esses 
dois números.
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
3. Pseudocódigo
inicio
 num1, num2, soma : inteiro
 media : real
 leia (num1, num2);
 soma <- num1 + num2;
 media <- soma / 2;
 se (media > 7) então
 escreva(“Aprovado”);
 fimse
fim
Exemplo 8: 
algoritmo ler duas notas, 
calcular a média e exibir 
“Aprovado” se a média 
for maior do que 7
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Formas de representação de um algoritmo
As formas de representação de um a lgor i tmo acabam sendo 
representações formais de cada forma anterior!
Linguagem Natural Fluxograma Pseudocódigo
ler dois números
somar os números
verificar se é maior que 7 >>
mostrar o resultado
 
>>
 inicio
 inteiro: num1, num2;
 leia (num1, num2)
 soma = num1 + num2
 se (soma > 7) então
 escreva (soma)
 fimse
 fim
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Exercícios
Faça os algoritmos abaixo na forma de fluxograma e pseudocódigo
1. Entrar com dois números reais e imprimir a média aritmética com a 
mensagem “média” antes do resultado 
2. Entrar com um número e imprimir a seguinte saída: o número, o 
quadrado do número e, a raiz quadrada desse número
3. Entrar com dois números e dizer se eles são iguais ou diferentes
4. Entrar com um número e imprimir se ele é positivo, negativo ou nulo
5. Entrar com um número e exibir uma mensagem se ele for múltiplo de 3
6. Ler dois números, A e B e imprimir uma mensagem informando se A é 
múltiplo de B
CCT0672 - Introdução à Programação
Aula 03: Manipulação de dados
Introdução à Programação
AULA 03: Entrada e Saida
Estrutura da disciplina
Unidade 1 - Introdução à lógica de programação
Unidade 2 - Estrutura Sequencial
Unidade 3 - Estrutura de Decisão
Unidade 4 - Estrutura de Repetição
Unidade 5 - Modularização
Unidade 6 - Estrutura de Dados Homogênea
Introdução à Programação
AULA 03: Entrada e Saida
Roteiro
Unidade 1 - Introdução à lógica de programação
Conceitos iniciais
O que é lógica?
O que é um algoritmo?
Exercícios para resolução
Dicas para se construir bons algoritmos
O que é um programa?
Introdução à Programação
AULA 03: Entrada e Saida
Roteiro
Unidade 1 - Introdução à lógica de programação
Formas de representação de um algoritmo
 1. linguagem natural
 2. fluxograma
 3. pseudocódigo
Manipulação de dados
 1. Tipos de dados
 2. Variáveis e constantes
 3. Operadores aritméticos
 4. Operadores relacionais
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Tipos de Dados
inteiro Todo e qualquer valor numérico pertencente ao conjunto dos 
números inteiros (positivo, negativo, nulo)
Ex: 27, 0, -10
real Todo e qualquer valor numérico pertencente ao conjunto dos 
números reais (inteiros e fracionários)
Ex: 27, 0, -15, 7.5
caractere
(alfanumérico)
Sequência contendo letras, números e símbolos especiais
Ex: “BETA”, “12376-8”
lógico
(booleano)
Todo e qualquer dado que pode apenas assumir dois valores, 
verdadeiro ou falso
Introdução à Programação
AULA 03: Entrada e Saida
Exercícios
Indique com um X quais os tipos de dados abaixo são do tipo real:
a. ( ) 376
b. ( ) - 2.35
c. ( ) false
d. ( ) “1.85”
e. ( ) - 554
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Tipos de Dados
TIPO DESCRIÇÃO C
inteiro números inteiros int
real números inteiros e fracionários float
caractere
(alfanumérico)
um ou mais caracteres char
lógico
(booleano)
verdadeiro ou falso Bool
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Variáveis e Constantes
• Para que possamos utilizar uma variável, precisamos primeiro declará-la
• É nesse momento que o computador reserva um espaço de memória 
necessário para a variável
• Define-se o tipo seguido do nome da variável
tipo <nome_da_variavel>
int numero;
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Variáveis e Constantes
• Para criar o nome das variáveis é preciso se atentar para algumas regras
• É formado por um ou mais caracteres (letras ou números)
• O primeiro deve ser uma letra
• Não é permitido o uso de caracteres especiais, tais como: 
 “”, \, /, -, +, *, %, $, #, @, !, ‘, (, ), =
• Letras maiúsculas e minúsculas são consideradas diferentes!
 Ex: nota é diferente de NOTA
Introdução à Programação
AULA 03: Entrada e Saida
Exercícios
Assinale com um X os identificadores válidos:
a. ( ) M(1)
b. ( ) “NOTA”
c. ( ) NOTA1
d. ( ) A3
e. ( ) #BTM
f. ( ) salario-liquido
g. ( ) salario_liquido
h. ( ) f1GHT7
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Variáveis e Constantes
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Tipos de Dados
TIPO BITS INTERVALO
char 8 -128 a 127
int 16 -32768 a 32767
float 32 3,4E-38 a 3,4E+38
double 64 1,7E-308 a 1,7E+308
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Tipos de Dados
O tipo de uma variável deve ser muito bem pensado, pois, tem impacto 
direto no banco de dados de uma aplicação já que mexe com áreas de 
memória e alocação de espaço!
Exemplo
• Em 21 de dezembro de 2012, a música “Gangnam Style”, tornou-se o 
vídeo mais visto do Youtube, atingindo a marca de 1 bilhão de 
visualizações.
 Resultado: Foi preciso alterar o tipo da variável que guardava o valor da
 quantidadede visitas no site
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Tipos de Dados
Para saber mais!
As falha numéricas que podem causar desastres
https://www.bbc.com/portuguese/noticias/2015/05/150513_vert_fut_bug_digital_
ml
Erros de cálculo na engenharia
https://www.aedb.br/seget/arquivos/artigos18/23226187.pdf
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Palavras reservadas
auto 
break 
case 
char 
const 
continue 
default 
do 
double 
else 
enum 
extern 
float 
for 
goto 
if 
int 
long 
register 
return 
short 
signed 
sizeof 
static 
struct 
switch 
typedef 
union 
unsigned 
void 
volatile 
while
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Operadores aritméticos
• Os computadores podem ser encarados como máquinas capazes de 
realizar uma quantidade imensa de operações por segundo. 
• Para se realizar qualquer tipo de cálculo precisamos utilizar sinais 
gráficos e expressões (aritméticas, relacionais ou lógicas)
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Operadores aritméticos
OPERADOR C OPERADOR C
soma + resto da divisão %
subtração - quociente /
multiplicação * incremento ++
divisão / decremento --
potência ** ou função pot()
raiz quadrada função sqrt()
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Operadores aritméticos
PRIORIDADES
N a r e s o l u ç ã o d e e x p r e s s õ e s 
aritméticas, as operações e funções 
matemáticas obedecem a uma 
h i e rarq u i a p ara a s u a co r reta 
resolução.
Introdução à Programação
AULA 03: Entrada e Saida
Exercícios
Supondo que A, B e Y são variáveis do tipo numérico, quais os resultados 
fornecidos por cada uma das seguintes funções, onde A = 6, B = 7, X = 2.5 
e Y = -4
a. ( ) ((B * X - A) + A)
b. ( ) (((A - B) * Y) + X)
c. ( ) ((A - Y) mod A)
d. ( ) (((A + B * 2) div 2) ** 2 mod 10) – abs(X * 3 – A * 4 + 5.75)
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Operadores relacionais
Utilizados para realizar comparações entre dois valores do mesmo tipo
OPERADOR C
igual a ==
maior que >
menor que <
diferente de != ou <>
maior ou igual a >=
menor ou igual a <=
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Operadores relacionais
O resultado obtido dessa relação é um valor lógico (V ou F)
Exemplo
6 * 3 = 48 / 3
18 = 16
F
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Operadores lógicos
Utilizados para realizar comparações entre dois valores quaisquer, tendo 
como resultado um valor lógico (V ou F)
OPERADOR C
negação (não) !
conjunção (e) &&
disjunção (ou) ||
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Operadores lógicos
Para um melhor entendimento e visualização das possíveis relações, 
fazemos uso da Tabela Verdade, que contém o conjunto de todas as 
possibilidades lógicas das situações e seus valores
A B A e B A ou B não A não B
V V V V F F
V F F V F V
F V F V V F
F F F F V V
Introdução à Programação
AULA 03: Entrada e Saida
Manipulação de dados
Operadores lógicos
PRIORIDADES
Introdução à Programação
AULA 03: Entrada e Saida
Exercícios
Seja A = 1.5, B = 4, C = 6, NOME = “ANA”, COR = “VERDE” e TESTE = V. 
Determine os resultados obtidos em cada uma das seguintes expressões.
a. NOME = “ANA” e A = 1 ou C = 6 e COR = “VERMELHO”
b. NOME = "PEDRO" ou COR = "VERDE" e B >= C – A
c. NOME = "ANA" e A = 1.5 ou C = 6 e COR = "BRANCO
CCT0672 - Introdução à Programação
Aula 04: Estrutura Sequencial
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Estrutura da disciplina
Unidade 1 - Introdução à lógica de programação
Unidade 2 - Estrutura Sequencial
Unidade 3 - Estrutura de Decisão
Unidade 4 - Estrutura de Repetição
Unidade 5 - Modularização
Unidade 6 - Estrutura de Dados Homogênea
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Roteiro
Unidade 1 - Introdução à lógica de programação
Unidade 2 - Estrutura Sequencial
Estrutura básica de um programa
 Leitura de dados
 Atribuição ou processamento
 Saída de dados
Caracteres de controle
Formatação de campos
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Estrutura sequencial
Características
Estrutura básica de um programa
• É possível visualizar que nosso algoritmo/sistema precisará obter dados 
de algum lugar, processar esses dados e fornecê-los processados para 
algum lugar
 Para a entrada de dados é necessário que as variáveis a serem utilizadas 
 estejam corretamente declaradas!
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Estrutura sequencial
Características
Estrutura básica de um programa
• Após a declaração, é possível realizar a leitura de dados
• Com os dados lidos, é possível realizar o devido processamento
• Para então exibir os dados para o usuário na tela
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Estrutura sequencial
Estrutura básica
PSEUDOCÓDIGO C
inicio 
 inteiro: nota1, nota2, soma, media;
 leia (nota1, nota2);
 soma <- nota1 + nota2;
 media <- soma / 2;
 escreva (media);
fim
#include<stdio.h>
int main () {
 int nota1, nota2, soma;
 float media;
 scanf(“%d %d”, nota1, nota2);
 soma = nota1 + nota2;
 media = soma / 2;
 printf(“%f”, media);
 return 0;
}
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Estrutura sequencial
Estrutura básica
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Estrutura sequencial
Entrada de dados
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Estrutura sequencial
Entrada de dados
ESPECIFICADOR REPRESENTA
%c um único caractere
%d número inteiro decimal
%f número real de precisão simples
%s cadeia de caracteres (string)
%% sinal de porcentagem
ESPECIFICADORES DE FORMATO
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Estrutura sequencial
Saída de dados
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Estrutura sequencial
Caracteres de controle
CARACTERE EFEITO
\a soa o alarme
\b o cursor retrocede uma coluna
\f alimenta a página da impressora
\n o cursor retrocede a primeira coluna
\r sinal de porcentagem
\” exibe uma aspa
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Estrutura sequencial
Formatação de campos
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Exercícios
Nos itens abaixo, acompanhe a execução do algoritmo mostrando os 
valores das variáveis após cada instrução.
a. A 5
 B A + 3
 C A + B
 D A + B – C
a. X 10
 Y X div 4
 Z (X - Y) * 2
 X X + Y - Z
Introdução à Programação
AULA 02: Linguagens e estrutura de um programa
Exercícios
Para as questões a seguir construa o algoritmo necessário.
1. Ler dois valores e imprimir o quadrado da diferença do primeiro valor 
pelo segundo
2. Construa um algoritmo que calcule a média aritmética entre 3 notas 
fornecidas pelo usuário
3. Ler dois valores e imprimir o quadrado diferença do primeiro valor pelo 
segundo
4. Ler uma temperatura em fahreinheit e apresentá-la convertida em 
graus celsius. A fórmula de conversão é: C (F - 32) * (5 / 9)
CCT0672 - Introdução à Programação
Aula 05: Estrutura de decisão
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura da disciplina
Unidade 1 - Introdução à lógica de programação
Unidade 2 - Estrutura Sequencial
Unidade 3 - Estrutura de Decisão
Unidade 4 - Estrutura de Repetição
Unidade 5 - Modularização
Unidade 6 - Estrutura de Dados Homogênea
Introdução à Programação
AULA 4: Estruturas de decisão
Roteiro
Unidade 1 - Introdução àlógica de programação
Unidade 2 - Estrutura Sequencial
Unidade 3 - Estrutura de Decisão
Características
Formato
Representação
Tipos
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
Características
• Utilizada quando o nosso processamento depende de uma decisão a ser 
tomada
• essa estrutura de decisão divide o fluxo de execução do código
- se a condição for verdadeira, faz uma coisa
- se a condição for falsa, faz outra
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
Chegou a hora da decisão, vamos fazer nossas escolhas!
Vamos apresentar a estrutura de decisão:
SE condição
ENTÃO faça isso se condição for Verdadeira
SENÃO ou faça isso se a condição for Falsa
Formato
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
SE fizer sol ENTÃO vou a praia
SE NÃO chover ENTÃO vou a praia
SE chover ENTÃO vou ao cinema SENÃO vou a praia
SE NÃO chover E eu acordar cedo ENTÃO vou a praia
SE chover OU eu acordar tarde ENTÃO vou ao cinema
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
if (condição) {
<bloco de comandos> // true
} else {
<bloco de comandos> // false
}
FLUXOGRAMA
Representação
se (condição) então 
<bloco de comandos> // V
senão 
<bloco de comandos> // F
fimse
PSEUDOCÓDIGO
LINGUAGEM C
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
Representação
Exemplo 1: 
faça um algoritmo que 
verifique se um número 
é par ou ímpar
FLUXOGRAMA
NUM
“PAR” “IMPAR!”
V F
(NUM % 2 == 0) ?
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
inicio
 inteiro: num;
 leia (num);
 se (num mod 2 == 0) então
 escreva (“Par”);
 senão
 escreva (“Impar”);
 fimse
fim 
Representação
Exemplo 1: 
faça um algoritmo que 
verifique se um número 
é par ou ímpar
PSEUDOCÓDIGO
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
#include<stdio.h>
int main() {
 int num;
 scanf(“%d”, &num);
 if (num % 2 == 0) {
 printf (“%d é par”, num);
 } else {
 printf (“%d é impar”, num);
 }
 return 0;
}
Representação
Exemplo 1: 
faça um algoritmo que 
verifique se um número 
é par ou ímpar
LINGUAGEM C
Introdução à Programação
AULA 4: Estruturas de decisão
Exercícios
1. Faça um algoritmo que leia dois números, faça a soma entre eles, 
compare o resultado com o número 20 e imprima se a “soma é menor 
ou igual a 20” ou “a soma é maior que 20”
2. Construa um programa em C que leia o salário bruto de uma pessoa. 
Se o salário for maior do que R$ 2.000,00, então o desconto do IR será 
de 20%, caso contrário não haverá desconto. Mostre o salário liquido.
3. Construa um programa em C que leia duas notas de um aluno, calcule 
a média e mostre se o aluno foi ou não aprovado (média maior ou 
igual a 5 para aprovação).
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
Tipos
• Simples
• Composta 
• Aninhado
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
Tipos
1. Simples
2. Composta 
3. Aninhado
#include<stdio.h>
int main() {
 int num;
 scanf(“%d”, &num);
 if (num > 0) {
 printf (“é positivo”);
 } 
 return 0;
}
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
Tipos
1. Simples
2. Composta 
3. Aninhado
#include<stdio.h>
int main() {
 int num;
 scanf(“%d”, &num);
 if (num % 2 == 0) {
 printf (“%d é par”, num);
 } else {
 printf (“%d é impar”, num);
 }
 return 0;
}
Introdução à Programação
AULA 4: Estruturas de decisão
Estrutura de decisão
Tipos
1. Simples
2. Composta 
3. Aninhado
#include<stdio.h>
int main() {
 int num;
 scanf(“%d”, &num);
 if (num > 0) {
 printf (“é positivo”);
 } else if (num < 0) {
 printf (“é negativo”);
 } else {
 printf (“é nulo”);
 }
 return 0;
}
CCT0672 - Introdução à Programação
Aula 06: Estrutura de Decisão (switch-case)
Introdução à Programação
AULA 6: Seleção
Estrutura da disciplina
Unidade 1 - Introdução à lógica de programação
Unidade 2 - Estrutura Sequencial
Unidade 3 - Estrutura de Decisão
Unidade 4 - Estrutura de Repetição
Unidade 5 - Modularização
Unidade 6 - Estrutura de Dados Homogênea
Introdução à Programação
AULA 6: Seleção
Roteiro
Unidade 1 - Introdução à lógica de programação
Unidade 2 - Estrutura Sequencial
Unidade 3 - Estrutura de Decisão
Características
Formato
Representação
Tipos
Instrução escolha (switch – case)
Introdução à Programação
AULA 6: Seleção
Estrutura de decisão (switch-case)
Motivação
• Quando temos uma única variável podendo assumir diversos valores 
diferentes, em que, para cada valor, teremos uma ação associada, 
geralmente pensamos na utilização de diversos ifs aninhados
• Essa escrita deixa o código poluído, difícil de dar manutenção
• Gera erros simples, porém difíceis de serem detectados
Introdução à Programação
AULA 6: Seleção
Estrutura de decisão (switch-case)
Quando temos muitas 
condições encadeadas, a 
complexidade do código 
é aumentada!
Usando i f an inhados 
acaba ficando custoso, 
em termos de processo.
MotivaçãoMotivação
Introdução à Programação
AULA 6: Seleção
Estrutura de decisão (switch-case)
Motivação
• Para resolver essa situação, utilizamos a estrutura condicional múltipla 
(switch-case)
• Permite estruturar melhor e de maneira mais eficiente problemas como 
o apresentado anteriormente
• Permite a elaboração de condicionais mutuamente exclusivas, ou seja, 
uma estrutura que seleciona e executa apenas uma condição por vez
Introdução à Programação
AULA 6: Seleção
Expressão
bloco de código 1
bloco de código 2
bloco de código 3
bloco de código N
Case 1
Case 2
Case 3
Default
Motivação: muitas 
condições encadeadas
Introdução à Programação
AULA 6: Seleção
Estrutura de decisão (switch-case)
#include<stdio.h>
int main() {
 int num;
 scanf(“%d”, &num);
 switch (num) {
 case 1: printf (“domingo”);
 break;
 case 2: printf (“segunda”);
 break;
 case 3: printf(“terça”);
 break;
 case 4: printf(“quarta”);
 break;
 
 
 case 5: printf (“quinta”);
 break;
 case 6: printf (“sexta”);
 break;
 case 7: printf (“sábado”);
 break;
 default: printf(“Erro”);
 break;
 }
 return 0;
}
Introdução à Programação
AULA 6: Seleção
Estrutura de decisão (switch-case)
#include<stdio.h>
int main() {
 int num;
 scanf(“%d”, &num);
 switch (num) {
 case 1: printf (“domingo”);
 break;
 case 2: printf (“segunda”);
 break;
 case 3: printf(“terça”);
 break;
 case 4: printf(“quarta”);
 break;
 
 
 case 5: printf (“quinta”);
 break;
 case 6: printf (“sexta”);
 break;
 case 7: printf (“sábado”);
 break;
 default: printf(“Erro”);
 break;
 }
 return 0;
}
Case: só valida igualdade!
Introdução à Programação
AULA 6: Seleção
Estrutura de decisão (switch-case)
#include<stdio.h>
int main() {
 int num;
 scanf(“%d”, &num);
 switch (num) {
 case 1: printf (“domingo”);
 break;
 case 2: printf (“segunda”);
 break;
 case 3: printf(“terça”);
 break;
 case 4: printf(“quarta”);
 break;
 
 
 case 5: printf (“quinta”);
 break;
 case 6: printf (“sexta”);
 break;
 case 7: printf (“sábado”);
 break;
 default: printf(“Erro”);
 break;
 }
 return 0;
}
Comando break: impede que os demais “case” sejam executadas 
e a execução é desviada para o o comando após o final do switch
CCT0672 - Introdução à Programação
Aula 07: Condições compostas
Introdução à Programação
AULA 7: Condições compostas
Operadores lógicos
&& AND (E) 
|| OR (OU)
 ! NOT (NÃO)
1 Verdadeiro
0  FalsoA B A && B
0 0 0
0 1 0
1 0 0
1 1 1
A B A || B
0 0 0
0 1 1
1 0 1
1 1 1
A !A
1 0
1 0
Introdução à Programação
AULA 7: Condições compostas
Exemplificando
Problema: definir o tipo do triângulo
Entrada: lados a, b, c
Saída: tipo de triângulo
Condições:
1) Para ser um triângulo: 
a < b + c
b < a+ c
c < a + b
2) Para ser um triângulo equilátero: a = b, b = c e c = a.
3) Para ser um isósceles: a=b ou a=c ou b=c
4) Para ser escaleno: a!=b, b!=c (lembre-se que “!=” é 
o símbolo para “diferente de”)
Equilátero Isósceles Escaleno
Introdução à Programação
AULA 7: Condições compostas
Exemplificando
Verificar se é um triângulo
if ((a<b+c) && (b<a+c) && (c<a+b)) {
//verifica o tipo
} else {
printf ("Os dados não formam um triangulo");
}
É um triângulo
Não é um triângulo
Introdução à Programação
AULA 7: Condições compostas
Exemplificando
Verificar se é um triângulo equilátero
if ((a<b+c) && (b<a+c) && (c<a+b)){
if ((a==b) && (b==c) {
printf ("Triangulo equilatero“);
} else {
 
}
} else {
printf ("Os dados não formam um triangulo");
}
É um triângulo
Não é equilátero
Introdução à Programação
AULA 7: Condições compostas
Exemplificando
Verificar se é um triângulo equilátero
if ((a<b+c) && (b<a+c) && (c<a+b)){
if ((a==b) && (b==c){
printf ("Triangulo equilatero“);
} 
else {
if ((a==b) || (a==c) || (c==b)) {
printf (“Triangulo isosceles”);
}
else {
printf ("Triangulo escaleno“);
}
}
}
else {
printf ("Os dados nao formam um triangulo");
}
É um triângulo
É isósceles
Não é isósceles 
nem equilátero
Atenção para 
abertura e 
fechamento das 
chaves!
CCT0672 - Introdução à Programação
Aula 08: Estruturas de Repetição
Introdução à Programação
AULA 8: Estruturas de Repetição
Estrutura da disciplina
Unidade 1 - Introdução à lógica de programação
Unidade 2 - Estrutura Sequencial
Unidade 3 - Estrutura de Decisão
Unidade 4 - Estrutura de Repetição
Unidade 5 - Modularização
Unidade 6 - Estrutura de Dados Homogênea
Introdução à Programação
AULA 8: Estruturas de Repetição
Roteiro
Unidade 1 - Introdução à lógica de programação
Unidade 2 - Estrutura Sequencial
Unidade 3 - Estrutura de Decisão
Unidade 4 - Estrutura de Repetição
Motivação
Problemas
For, While, Do-While
Comparação
Introdução à Programação
AULA 8: Estruturas de Repetição
Estrutura de repetição
Motivação
include<stdio.h>
int main() {
int fat = 6;
fat = fat * 5;
fat = fat * 4;
fat = fat * 3;
fat = fat * 2;
fat = fat * 1;
printf("Fatorial de 6 = %d”, fat);;
return 0;
}
Como calcular o fatorial de 6?
Imagine se fosse o fatorial 
de 100 ?!?!?!?
Introdução à Programação
AULA 8: Estruturas de Repetição
Estrutura de repetição
Motivação
• Como entrar com as notas de 35 alunos de uma turma?
• Como continuar comprando em uma loja enquanto o valor da soma for 
menor que R$200,00 ?
• Como exibir um menu de funções até que seja digitado o número 9?
São problemas parecidos mas não são iguais!
Em comum: um conjunto de operações que se repetem
Introdução à Programação
AULA 8: Estruturas de Repetição
Estrutura de repetição
Motivação
• Como entrar com as notas de 35 alunos de uma turma?
- número conhecido de repetições
• Como continuar comprando em uma loja enquanto o valor da soma for 
menor que R$200,00?
- enquanto uma condição for verdadeira
• Como exibir um menu de funções até que seja digitado o número 9?
- até que uma condição seja verdadeira
São problemas parecidos mas não são iguais!
Introdução à Programação
AULA 8: Estruturas de Repetição
Comando for
int main () {
 int cont, num;
 printf ("Numero: ”);
 scanf (“%d”, &num);
 for (cont=1;cont<10;cont++) {
 printf (“%d x %d =”,num,cont);
 printf (“%d\n”, num*cont);
 }
 return 0;
}
for (inicial ; condição ; incremento)
{
bloco de comando
}
Nº conhecido de repetições
Introdução à Programação
AULA 8: Estruturas de Repetição
Comando while
int main () {
 int cont,num;
 printf(“Numero: ”);
 scanf(“%d”, &num);
 cont = 1; // inicialização
 while (cont < 10) {
 printf (“%d x %d =”,num,cont);
 printf (“%d\n”, num*cont);
 cont++;
 }
 return 0;
}
while (condição verdadeira)
{
bloco de comando
}
Enquanto uma condição 
for verdadeira
Introdução à Programação
AULA 8: Estruturas de Repetição
Comando do/while
int main () {
 int cont,num;
 printf(“Numero: ”);
 scanf(“%d”, &num);
 cont = 1; // inicialização
 do {
 printf (“%d x %d =”,num,cont);
 printf (“%d\n”, num*cont);
 cont++;
 } while (cont < 10);
 return 0;
}
do
{
bloco de comando
} while (condição verdadeira);
Até que uma condição 
se torne verdadeira 
Introdução à Programação
AULA 8: Estruturas de Repetição
Estrutura de repetição
Comparação
Na tabela a seguir é possível visualizar um resumo sobre as três estruturas.
ESTRUTURA CONDIÇÃO (LOCAL) EXECUÇÕES CONDIÇÃO (EXISTIR)
WHILE início indefinido condição verdadeira
DO-WHILE fim mínimo 1 condição falsa
FOR início de acordo com o problema valor inicial <= valor final
Introdução à Programação
AULA 8: Estruturas de Repetição
Exercícios
1. Faça um programa para exibir a tabuada de um número qualquer 
informado pelo usuário. Use as três estruturas de repetição
2. Faça um algoritmo que imprima todos os números pares no intervalo 
de 1 a 100
3. Faça um algoritmo para ler 10 notas de um aluno, calcular a média e 
verificar se está aprovado ou não, considerando a média igual a 7
4. Faça um algoritmo que leia uma quantidade indefinida de números 
fornecidos pelo usuário e apresente a soma de todos os números lidos. 
O programa para de executar quando o usuário digitar um número 
menor do que 0
5. Faça um programa que leia dois números fornecidos pelo usuário e 
escreva todos os números existentes no intervalo do menor para o 
maior.
CCT0672 - Introdução à Programação
Aula 09: Estratégias de repetição
Introdução à Programação
AULA 9: Estratégias de repetição
Estratégias de repetição
for ( ; ; )  loop infinito
for ( ; x>0; )  x é inicializado antes do for e seu valor é alterado dentro do bloco
for ( x=0; x< 10; )  o valor de x é alterado dentro do bloco
for ( x=0; x < 1000; x++);  “temporizador”
Casos particulares : for
Introdução à Programação
AULA 9: Estratégias de repetição
Estratégias de repetição
while (1)  loop infinito
while (x)  permance em execução enquanto x for diferente de 0 ou de NULL
while ( x == 1);  loop infinito também
while ( x = 1);  outro loop infinito
Casos particulares : while
Introdução à Programação
AULA 9: Estratégias de repetição
Estratégias de repetição
do ... while (1);  loop infinito
do ... while (x);  permance em execução enquanto x for diferente de 0 ou de NULL
do ... while ( x == 1) ;  o valor de x pode ser alterado no bloco. OK.
do ... while ( x = 1)  loop infinito; será sempre verdadeiro
Casos particulares : do-while
Introdução à Programação
AULA 9: Estratégias de repetição
Repetição controlada por contador
#include <stdio.h>
int main(){
int x;
for (x=1; x<=10; x++)
printf(“%d”, x);
return 0;
}
for(inicialização ; condição ; incremento) <comandos>
Conta de 1 a 10
Introdução à Programação
AULA 9: Estratégias de repetição
Repetição controlada por contador
#include <stdio.h>
int main(){
int x;
for (x=1; x<=10; x++)
printf(“%d”, x);
printf(“Lançar!”);
return 0;
}
for(inicialização ; condição ; incremento) <comandos>
Conta de 10 a 1
Introdução à Programação
AULA 9: Estratégias de repetição
1 #include <iostream>
 using namespace std;
2
3 int main(int argc, char** argv) {
4 int numero;
5 int contador=1;
6 int resultado;
7 
8 cout<<"Qual a 
tabuada?"<<endl;
9 cin>>numero;
10 
11 while (contador<=10){
12 resultado = 
numero*contador;
13 cout<<numero<<" * 
"<<contador<<" = 
"<<resultado;
14 contador = contador+1;
15 }
16 cout<<"*** FIM ***";
17 return 0;
18 } 
while (<condição>) {
<bloco de comandos>
}
Introdução à Programação
AULA 9: Estratégias de repetição
Repetiçãocom limite do contador determinado pelo usuário
Introdução à Programação
AULA 9: Estratégias de repetição
1 #include <iostream>
using namespace std;
2
3 int main(int argc, char** argv) {
4 int numero;
5 int contador;
6 int resultado;
7 char resposta ='s';
8 
9 while (resposta=='s'){
10 contador = 1;
11 cout<<"Qual a tabuada? "<<endl;
12 cin>>numero;
13 
14 while (contador<=10){
15 resultado = numero*contador;
16 cout<<numero<<" * "<<contador<<" = 
"<<resultado;
17 contador = contador+1;
18 }
19 
20 cout<<"Deseja continuar (s/n)?"<<endl;
21 cin>>resposta;
22 }
23 cout<<"*** FIM ***";
24 return 0;
25 } 
Um loop dentro de outro
Repetição controlada pelo 
resultado de uma operação
CCT0001 - Introdução à Programação
Aula 10: Estratégias de repetição
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
Qual estrutura de repetição usar?
Vamos fazer um programa que leia as opções de um menu:
1- INCLUIR
2- EXCLUIR
3- CONSULTAR
9- SAIR
PRECISAREMOS DE:
Uma variável inteira para receber a opção
Um comando para ler a variável opção
Um loop que ficará em execução enquanto a variável opção 
for diferente de 9
Uma seleção múltipla para executar o que cada opção indica
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
O BÁSICO NÃO MUDA: switch (opcao) {
 case 1: printf(“VAI INCLUIR\n“);
 break;
 case 2: printf(“VAI EXCLUIR\n“);
 break;
 case 3: printf(“VAI CONSULTAR”);
 break;
 case 9: break;
 default: printf(“INVALIDA\n”);
 } 
 return 0;
}
#include<stdio.h>
int main () {
 int opcao;
 printf(“MENU\n”);
 printf(“1-INCLUIR\n”);
 printf(“2-EXLUIR\n”);
 printf(“3-CONSULTAR\n”);
 printf(“9-SAIR\n”);
 scanf(“%d”, &opcao);
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
O BÁSICO NÃO MUDA: switch (opcao) {
 case 1: printf(“VAI INCLUIR\n“);
 break;
 case 2: printf(“VAI EXCLUIR\n“);
 break;
 case 3: printf(“VAI CONSULTAR”);
 break;
 case 9: break;
 default: printf(“INVALIDA\n”);
 } 
 return 0;
}
#include<stdio.h>
int main () {
 int opcao;
 printf(“MENU\n”);
 printf(“1-INCLUIR\n”);
 printf(“2-EXLUIR\n”);
 printf(“3-CONSULTAR\n”);
 printf(“9-SAIR\n”);
 scanf(“%d”, &opcao);
... MAS A CADA EXECUÇÃO O PROGRAMA PARA...
QUAL ESTRUTURA DE REPETIÇÃO USAR PARA QUE 
ISSO NÃO ACONTEÇA ???!
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
PODEMOS USAR O FOR switch (opcao) {
 case 1: printf(“INCLUIR\n“);
 break;
 case 2: printf(“EXCLUIR\n“);
 break;
 case 3: printf(“CONSULTAR”);
 break;
 case 9: break;
 default: printf(“INVALIDA\n”);
 } 
 } 
 return 0;
}
#include<stdio.h>
int main () {
 int opcao;
 for (opcao=1; opcao!=9;) {
 printf(“MENU\n”);
 printf(“1-INCLUIR\n”);
 printf(“2-EXLUIR\n”);
 printf(“3-CONSULTAR\n”);
 printf(“9-SAIR\n”);
 scanf(“%d”, &opcao);
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
PODEMOS USAR DO-WHILE switch (opcao) {
 case 1: printf(“INCLUIR\n“);
 break;
 case 2: printf(“EXCLUIR\n“);
 break;
 case 3: printf(“CONSULTAR”);
 break;
 case 9: break;
 default: printf(“INVALIDA\n”);
 } 
 } while (opcao != 9); 
 return 0;
}
#include<stdio.h>
int main () {
 int opcao;
 do {
 printf(“MENU\n”);
 printf(“1-INCLUIR\n”);
 printf(“2-EXLUIR\n”);
 printf(“3-CONSULTAR\n”);
 printf(“9-SAIR\n”);
 scanf(“%d”, &opcao);
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
1. Se você souber quantas vezes vai repetir um ou mais comandos quando estiver 
construindo um algoritmo, qual seria a estrutura mais simples para ser usada?
a) Estrutura do while.
b) Estrutura do for. 
c) Estrutura do do ... while.
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
1. Se você souber quantas vezes vai repetir um ou mais comandos quando estiver 
construindo um algoritmo, qual seria a estrutura mais simples para ser usada?
a) Estrutura do while.
b) Estrutura do for. 
c) Estrutura do do ... while.
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
2. Qualquer uma das três estruturas de repetição, na linguagem C++, pode simular 
qualquer outra estrutura.
a) Verdade
b) Falso.
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
2. Qualquer uma das três estruturas de repetição, na linguagem C++, pode simular 
qualquer outra estrutura.
a) Verdade.
b) Falso.
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
3. Cada estrutura possui uma “vocação”. Identifique qual a melhor estrutura para:
a) Contar 10 repetições
b) Executar um bloco de comandos pelo menos uma vez até que o usuário 
não queira mais continuar
c) Só iniciar a execução de um bloco se existir uma condição inicial válida 
fornecida pelo usuário
Introdução à Programação
AULA 10: Estratégias de repetição
Qual utilizar?
3. Cada estrutura possui uma “vocação”. Identifique qual a melhor estrutura para:
Contar 10 repetições
For
Executar um bloco de comandos pelo menos uma vez até que o usuário não 
queira mais continuar
do/while
Só iniciar a execução de um bloco se existir uma condição inicial válida 
fornecida pelo usuário
while
CCT0001 - Introdução à Programação
Aula 11: Estruturas homogêneas
Introdução à Programação
AULA 11: Estruturas homogêneas
• Matriz é um arranjo de elementos dispostos em linhas e colunas
• Toda matriz tem uma letra maiúscula como nome e, de forma subscrita, 
sua dimensão, isto é, o número de linhas (m) e de colunas (n) separadas 
pela letra “x” minúscula
• Cada elemento é representado pela letra minúscula correspondente ao 
nome da matriz e, de forma subscrita, sua posição linha (m) / coluna (n)
Revisão de Matemática
Introdução à Programação
AULA 11: Estruturas homogêneas
Matrizes unidimensionais
Revisão de Matemática
Introdução à Programação
AULA 11: Estruturas homogêneas
Conceitos
A estrutura homogênea é formada por elementos do mesmo tipo
Podemos dizer que uma matriz é um conjunto de variáveis, todas com o mesmo 
nome e só diferenciadas pela posição que ocupam nesse conjunto. Ou seja, 
uma coleção de variáveis do mesmo tipo
Como já vimos, quando uma matriz tem somente uma dimensão, chamamos de 
vetor, como na Matemática, ou array ou matriz unidimensional
Na linguagem C++, assim como em outras linguagens, essa dimensão que 
localiza a posição de uma variável vem entre um par de colchetes
Introdução à Programação
AULA 11: Estruturas homogêneas
Declaração
Alguns exemplos de declaração em C++
Linguagem C++
/* declarar um vetor para armazenar 15 idades */
Int idades[15];
/*declarar um vetor para armazenar 100 notas*/
Float notas[100];
/*declarar um vetor para armazenar o sexo de 30 pessoas*/
Char sexo[30];
Introdução à Programação
AULA 11: Estruturas homogêneas
Declaração
Na linguagem C++, uma string é um vetor de caracteres terminado com um 
caracter nulo cujo valor inteiro é igual a zero (código ASCII igual a 0). O 
terminador nulo também pode ser escrito usando a convenção de barra 
invertida do C++ como sendo '\0'.
 Como precisamos reservar uma posição para o terminador, sempre iremos 
declarar o tamanho necessário mais um.
 Observe o armazenamento da variável universidade declarada com tamanho 8:
Universidade
E S T A C I O \0
0 1 2 3 4 5 6 7
Introdução à Programação
AULA 11: Estruturas homogêneas
Construindo um vetor
Programa que armazena valores inteiros em um vetor de 6 posições e gera um 
vetor com o dobro de cada elemento
1 #include <iostream>
2 using namespacestd;
3
4 int main(int argc, char** argv) {
5 int i, vetor [6], dobro [6];
6
7 for (i=0;i <6;i++){
8
9 cout<<"Qual o valor de vetor[”<<i<<“]? "<<endl;
10 cin>>vetor[i];
11 dobro[i]= vetor[i]*2;
11 }
12 for (i=0;i <6;i++){ 
13 cout<<“dobro[“<<i<<“] = “<< dobro[i]<<endl;
14 }
15 system (“pause”);
16 return 0;
17 }
Ambos valores ficam armazenados
Introdução à Programação
AULA 11: Estruturas homogêneas
Um tipo especial: string
int main ()
{
 char nome[5];
 cout << "ler um caractere:"; 
 cin >> nome[0]; //ler um caractere: A
 cout << nome [0] << "\n"; //A
 cout << "ler um nome:";
 cin >> nome[5]; //ler um nome: amor
 cout << nome[5]<<"\n"; //amor
 system ("pause");
}
Introdução à Programação
AULA 11: Estruturas homogêneas
Um tipo especial: string
int main ()
{
 char nome[5];
 cout << "CARACTERE 1:";
 cin >> nome[0];  O
 cout << "CARACTERE 2:";
 cin >> nome[1];  L
 cout << "CARACTERE 3:";
 cin >> nome[2];  A
 cout << nome [5] << "\n";  ???????
system ("pause");
}
TODA STRING DEVE TERMINAR COM \0
Introdução à Programação
AULA 11: Estruturas homogêneas
Um tipo especial: string
int main ()
{
 char nome[5];
 cout << "CARACTERE 1:";
 cin >> nome[0];  O
 cout << "CARACTERE 2:";
 cin >> nome[1];  L
 cout << "CARACTERE 3:";
 cin >> nome[2];  A
 nome[3] = ‘\0’;
 cout << nome [5] << "\n";  OLA
TODA STRING DEVE TERMINAR COM \0
Introdução à Programação
AULA 11: Estruturas homogêneas
Exemplificando
Construa um algoritmo (e implemente em C++) que permita a entrada da 
matrícula, do salário base e a classificação de vários funcionários. Para cada 
funcionário deverão ser impressos a matrícula e seu novo salário. A 
entrada de dados termina quando se digita uma matricula não positiva.
Uma empresa classifica seus funcionários de acordo com um índice de 
produtividade: (1) Excelente, (2) Bom e (3) Regular. Cada nível acrescenta 
um abono ao salário base do funcionário de acordo com a seguinte tabela:
Excelente 40 % do salário base
Bom 20 % do salário base
Regular 5 % do salário base
Introdução à Programação
AULA 11: Estruturas homogêneas
Exemplificando
int main ( )
{
 int matricula; 
 float salario;
 char indice;
 do {
 cout <<"Matricula: ";
 cin >> matricula;
 if (matricula > 0){
 cout << "Salario: R$ ";
 cin >> salario;
 cout <<"Indice : ";
 cin >> indice;
switch (indice){
 case 'e': salario = salario * 1.4;
break; 
 case 'b': salario = salario * 1.2;
break;
 case 'r': salario = salario *1.05;
break;
 default: cout << "Indice Invalido\n";
 }
 cout << "Matricula: "<< matricula ; 
cout <<" Salario: R$ " << salario << “\n"; 
 }
 } while (matricula> 0);
 system ("pause");
}
Introdução à Programação
AULA 11: Estruturas homogêneas
Exemplificando
Como armazenar estes valores para gerar uma listagem no final? 
• Criaremos um vetor para matricula e um para avaliação e outro para o salário.
• Vamos estimar que a empresa tem no máximo 100 funcionários  precisaremos 
para dimensionar os vetores.
• Será preciso controlar dois parâmetros: a quantidade máxima e o término 
provocado pelo usuário
Introdução à Programação
AULA 11: Estruturas homogêneas
Exemplificando
int main ( )
{
 int matricula[100], i=0, j=0; 
 float salario[100], sal=0;
 char índice[100];
 do {
 cout <<"Matricula: ";
 cin >> matricula[i];
 if (matricula[i] > 0){
 cout << "Salario: R$ ";
 cin >> salario[i];
 cout <<"Indice : ";
 cin >> índice[i];
 i++;
 }
 } while (matricula[i]> 0 && i<100);
for (j=0; j <i; j++) {
 cout << "Matricula: "<< matricula[j] << endl ;
 switch (índice[j]){
 case 'e': sal = salario[i] * 1.4;
break; 
 case 'b': sal = salario[i] * 1.2;
break;
 case 'r': sal = salario[i] *1.05;
break;
 default: cout << "Indice Invalido\n";
 }
 cout <<" Salario: R$ " << salario << “\n"; 
 }
system ("pause");
}
CCT0001 - Introdução à Programação
Aula 12: Estruturas homogêneas
Introdução à Programação
AULA 12: Estruturas homogêneas
• Declaração
int vetor[5][6];
• Entrada
cin >> vetor[4][1];
• Saída
cout << vetor[4][1];
• Atribuição
vetor [4][1] = 10;
Matrizes
0 1 2 3 4 5
0
1
2
3
4 10
Introdução à Programação
AULA 12: Estruturas homogêneas
• Declaração
char string[5][6];
• Entrada
cin >> vetor[4][1];
cin >> vetor[4];
• Saída
cout << vetor[4][1];
• Atribuição
vetor [4][1] = ‘X’;
Matrizes
0 1 2 3 4 5
0 B O A \n
1 N O I T E \n
2 T U R M A \n
3
4 X
Introdução à Programação
AULA 12: Estruturas homogêneas
Matrizes: loop aninhado
Programa que leia valores reais para uma matriz 3 x 3 e exiba todos os elementos 
exceto os elementos da diagonal principal.
• Declarar uma matriz de inteiros 3 x 3
• Loop aninhado
• Loop para exibir os elementos exceto quando a linha for igual a coluna
Introdução à Programação
AULA 12: Estruturas homogêneas
Matrizes: loop aninhado
int main ()
{
 int matriz[3][3];
 int i,j;
 for(i=0;i<3;i++)
 for(j=0;j<3;j++){
 cout << "("<<i<<","<<j<<")=";
 cin >> matriz[i][j];
 }
 cout <<" FIM DA ENTRADA\n\n";
for(i=0;i<3;i++){
 for(j=0;j<3;j++)
 if (i != j)
 cout <<matriz [i][j];
 cout << "\t";
 else
 cout << "X\t";
 cout <<"\n";
 }
system ("pause");
Introdução à Programação
AULA 12: Estruturas homogêneas
Matrizes: loop aninhado
CCT0001 - Introdução à Programação
Aula 13: Funções
Introdução à Programação
AULA 13: Funções
• Modularização do programa
• Dividir um grande problema em 
problemas menores
• Organização
Para que servem?
Comando
Comando
Programa principal Função
Comando
Comando
Comando
Comando
Comando
Comando
Comando
Introdução à Programação
AULA 13: Funções
Formato
Tipo_da_função nome_da_função(lista_de_parâmetros){
Corpo da função
}
• Tipo da função: configura um valor que afunção retornará quando terminar. 
O valor é enviado ao módulo que chamou a função. Caso o tipo da função 
não seja especificado, o compilador assumirá que o tipo retornado é int.
• Lista de parâmetros: é a relação de variáveis e seus tipos.
Introdução à Programação
AULA 13: Funções
Exemplificando
1 #include <cstdlib>
2 #include <iostream>
3
4 using namespace std;
5
6 int quadrado(int);
7
8 int main(int argc, char *argv[]){
9 int numero, quad;
10 cout << "Digite um valor inteiro: ";
11 cin >> numero;
12 quad = quarado(numero);
13 count << “Quadrado de “ << numero<< “ igual a “ << quad << endl;
14 return 0;
15 }
1 int quadrado (int n){
2 n = n*n;
3 return (n);
4 }
Função
Introdução à Programação
AULA 13: Funções
Escopo de variáveis
Variáveis Locais
A variável local só é visível e existente dentro da função ou bloco que a declarou. 
Outras funções não a reconhecem e só pode ser usada dentro do bloco no qual está 
declarada. Uma variável local é criada quando a função começa a ser executada e 
removida no final da execução da função. 
Variáveis Globais
As variáveis globais são visíveis durante toda a execução do programa e podem ser 
usadas por qualquer função. Elas são declaradas fora de qualquer função, inclusive do 
main(), e no início de um programa.
Introdução à Programação
AULA 13: Funções
Escopo de variáveis
Parâmetros Formais
São variáveis locais em uma função que são inicializadas no momento da chamada 
desta função e só existem dentro da função onde foram declarados. Mesmo sendo 
usadas como inicialização da função, elas podem ser usadas como qualquer outra 
variável local dentro do bloco de função onde estão.
Introdução à Programação
AULA 13: Funções
Parâmetrose retorno de uma função
O comando return é utilizando para devolver um valor ao programa.
return (valor);
O tipo do valor que será retornado está definido na declaração da função.
int quadrado(int);  a função retornará um valor inteiro
Quando a função não retorna valor, será declarada como void.
O tipo de cada valor que passado para uma função está descrito na declaração da função.
int quadrado(int);  a função receberá um valor inteiro
Introdução à Programação
AULA 13: Funções
Matrizes: loop aninhado
#include <cmath>
sqrt(x)  calcula raiz quadrada de x
 cos(x)  calcula cosseno de x
#include <cctype>
toupper(carac)  converte minúscula em maiúscula
tolower(carac)  converte maiúscula em minúscula
#include <cstdlib>
atoi(str)  converte o que for possível em número inteiro
atof(str)  converte o que for possível em float
Introdução à Programação
AULA 13: Funções
Matrizes: loop aninhado
#include <cstring>
strlen (str)  retorna o número de caracteres de str que precedem o caractere \0
strcat (str1,str2)  anexa o conteúdo de str2 ao final de str1
strcpy (str1,str2)  copia o conteúdo de str2 em str1
strcmp (str1,str2)  compara o conteúdo de str1 e str2 e o retorno pode ser:
Curso: Ciência da Computação e Redes de Computadores
Disciplina: Introdução a Programação C
Professor: Rodrigo Azevedo da Costa
Lista de Exerćıcios I
Algumas dicas importantes:
– Resolva todos os exerćıcios utilizando pseudocódigo, exemplo abaixo
– Lembre-se de declarar todas as variáveis a serem utilizadas
– Atente-se principalmente à estrutura do algoritmo, posteriormente, fare-
mos no visualg e no editor de códigos C
1. Faça um programa que leia dois valores inteiros e positivos X e Y. Calcule e
mostre o resultado da soma, subtração, multiplicação e potência para X e Y.
Resposta
inicio;
inteiro: x, y, soma, sub, mult, pot;
leia (x, y);
soma = x + y;
sub = x - y;
mult = x * y;
pot = x ** y;
escreva (”Soma:”,soma);
escreva (”Subtração:”,sub);
escreva (”Multiplicação:”,mult);
escreva (”Potência:”,pot);
fim
2. Escreva um programa que leia o primeiro nome do usuário e depois que leia o
último nome. Ao final, o programa deve imprimir no console o último nome
seguido do primeiro e separados por v́ırgula.
3. Escreva um programa que leia o ano de nascimento de uma pessoa, calcula e
imprime no console a idade dela.
4. Escreva um programa que leia três notas de um aluno e imprime no console a
média que ele obteve na disciplina.
5. Escreva um programa que leia o salário total de uma pessoa e quantas horas
ela trabalha por dia. Em seguida, calcule e imprima quanto essa pessoa recebe
por hora.
6. Sabe-se que o m2 de construção custa 50 reais. Escreva um programa que leia
as medidas de um terreno retangular, calcula e imprime quanto custa para
construir uma casa que ocupe esse terreno.
1
7. Uma loja está oferecendo um grande desconto: para as clientes que levarem 3
produtos, será dado um desconto de 20% no valor total da compra. Crie um
programa que leia o preço dos três produtos e calcule e imprima no console: o
valor do total da compra sem desconto, quanto foi o desconto e quanto deverá
ser pago.
8. Escreva um algoritmo para ler o salário mensal atual de um funcionário e o
percentual de reajuste para aumento. Calcular e escrever o valor do novo
salário.
9. Escreva um algoritmo que transforme o grau Celsius dado pelo usuário em
Fahrenheit. Lembrete, a fórmula para conversão é: F = C * (9/5) + 3.
10. Faça um algoritmo que leia três notas de um aluno, calcule e escreva a média
final deste aluno. Considerar que a média é ponderada e que o peso das notas
são 2, 3 e 5.
11. Implemente um algoritmo que, dados 3 ângulos fornecidos pelo usuário, ver-
ifique se os mesmos são ângulos internos de um triângulo. Para isso a soma
dos 3 ângulos deve ser sempre igual a 180. Se forem, calcule e imprima os 3
ângulos externos, lembrando que todo ângulo externo de um triângulo é igual
a soma dos dois ângulos internos não adjacentes – exemplo: ângulo externo A
= ângulo interno b + ângulo interno c.
12. Escreva um algoritmo que leia o valor do raio de uma circunferência e mostre
para o usuário o valor do comprimento e, a área da mesma.
13. Escreva um algoritmo para ler as dimensões de um retângulo (base e altura),
calcular e escrever a área do retângulo.
14. Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e
dias e escreva a idade dessa pessoa expressa apenas em dias. Considerar ano
com 365 dias e mês com 30 dias.
15. Uma pessoa recebe RS 3300 reais de salário, 1% desse valor é descontado
para contribuição sindical. Além disso, tem um histórico de duas faltas todos
meses. Considerando o mês com 22 dias úteis, quanto essa pessoa irá receber
de salário ĺıquido ao final do mês? Escreva um algortimo que represente esta
situação.
2
Curso: Ciência da Computação e Redes de Computadores
Disciplina: Introdução a Programação C
Professor: Rodrigo Azevedo da Costa
Lista de Exerćıcios II - Estrutura Condicional
Algumas dicas importantes:
– Resolva todos os exerćıcios utilizando pseudocódigo, exemplo abaixo
– Lembre-se de declarar todas as variáveis a serem utilizadas
– Atentem-se principalmente à estrutura do algoritmo, posteriormente, fare-
mos no visualg e no editor de códigos C
1. Escreva um algoritmo que verifique se um número fornecido pelo usuário é par
ou ı́mpar.
2. Escrever um algoritmo que leia dois valores inteiros distintos e informe qual é
o maior.
3. Escreva um programa que leia a idade de uma pessoa. Ao final, exiba se essa
pessoa é maior de idade ou não.
4. Elabore um algoritmo que leia dois números inteiros e mostre o resultado da
diferença do maior valor pelo menor.
5. Escreva um programa que leia duas notas de um aluno, calcule e exiba a média
que ele obteve e informe se o aluno foi aprovado ou não na disciplina.
6. Crie um programa que leia o nome de uma pessoa e seu sexo (m para masculino
e f para feminino). Ao final, o programa deve imprimir a mensagem “Bom dia
senhor” ou “Bom dia senhora” seguida do nome.
7. Crie um programa que leia as três medidas dos lados de um triângulo e, em
seguida, exiba para o usuário de que tipo de triângulo se trata. Na matemática,
um triângulo é dito equilátero se todos os seus lados têm a mesma medida;
isósceles é quando apenas há dois lados iguais; e escaleno quando todos os
lados são diferentes.
8. Construa um algoritmo que calcule o peso ideal de uma pessoa. Dados de
entrada: altura e sexo. Fórmulas para cálculo do peso: peso ideal de homem
= (72,7 x altura) - 58; peso ideal da mulher = (62,1 x altura) - 44,7
9. Escreva um programa que calcule o Índice de Massa Corporal (IMC) de uma
pessoa. Lembre-se que o IMC é o resultado da razão entre o peso da pessoa e o
quadrado da altura da pessoa (peso/altura2). Ao fim, o programa deve exibir
uma mensagem que depende do valor do IMC calculado (conforme listado
abaixo).
Abaixo de 17: muito abaixo do peso
1
Entre 17 e 18,49: abaixo do peso
Entre 18,50 e 24,99: peso normal
Entre 25 e 29,99: acima do peso
Entre 30 e 34,99: obesidade I
Entre 35 e 39,99: obesidade II (severa)
acima de 40: obesidade III (mórbida)
10. Escreva um algoritmo que ajude o usuário a descobrir se ele precisa abastecer
o carro ou não e, se sim, quanto ele precisa abastecer. O programa deve
começar perguntando ao usuário (1) quantos quilômetros o carro faz por litro,
(2) quantos litros de gasolina há no momento e (3) qual distância ele deseja
percorrer. O programa avisa ao usuário se ele precisa abastecer ou não. Caso
o usuário precise abastecer, deve ser informado quantos litros o usuário deve
abastecer.
Exemplo
Quantos quilômetros o carro percorre por litro?
5
Quantos litros tem no carro atualmente?
20
Qual distância (em Km) você deseja percorrer ?
150
Você precisa abastecer 10 litros.
11. Doar sangue é uma atitude muito importante, entretantoé preciso atender
alguns requisitos.
• Ter entre 19 e 69 anos de idade
• Pesar ao menos 50 kg
• Não ter feito nenhuma tatuagem no último ano
• Não ter ingerido álcool nas últimas 12 horas.
Escreva um programa que pergunte ao usuário se ele atende os requisitos
necessários para doar sangue. Faça as perguntas uma por vez. Caso a resposta
dele o impede de doar, avise-o e encerre o programa. Se ele atender todos os
requisitos, avise-o que ele pode ser doador.
2
Curso: Ciência da Computação e Redes de Computadores
Disciplina: Introdução a Programação C
Professor: Rodrigo Azevedo da Costa
Lista de Exerćıcios III - Estruturas de Repetição
1. Escrever os números de 1 a 10 utilizando a estrutura REPITA e um contador.
2. Escrever os números de 1 a 10 utilizando a estrutura ENQUANTO e um
contador.
3. Ler 10 valores, calcular e escrever a média aritmética desses valores.
4. Escrever os múltiplos de 5 no intervalo de 1 até 500.
5. Criar um algoritmo que escreva todos os números de 1 até 100 e a soma deles.
6. Entrar com 8 números e, para cada número, escrever o logaritmo desse número
na base 10.
7. Entrar com 15 números e escrever a raiz quadrada de cada número.
8. Ler 20 números inteiros e escrever quantos são pares e quantos são ı́mpares.
9. Entrar com 15 números e escrever quantos números maiores que 30 foram
digitados.
10. Entrar com 20 números inteiros e escrevar a soma dos positivos e o total de
números negativos.
11. Entrar com dois números e escrever todos os números no intervalo fechado, do
menor para o maior.
12. Entrar com o nome e o salário bruto de 10 pessoas. Escrever o nome o valor
da aĺıquota do imposto de renda. Sendo que, se o for salário menor que R$
600 é isento; salário >= R$ 600 e < R$ 1.500 a aĺıquota é de 10% do salário
bruto e; salário >= R$ 1.500 a aĺıquota é de 15% do salário bruto.
13. Criar um algoritmo que entre com 3 notas de cada aluno de uma turma de 10
alunos e escreva a média de cada aluno, a média da turma e o percentual de
alunos que tiveram médias maiores ou igual a 5.0.
14. Entrar com números e escrever o quadrado de cada número até entrar um
número múltiplo de 6 que deve ter seu quadrado também impresso.
15. Chico tem 1.50 m e cresce 2 cent́ımetros por ano, enquanto Juca tem 1.10 m
e cresce 3 cent́ımetros por ano. Construir um algoritmo que calcula e escreva
quantos anos serão necessários para que Juca seja maior que Chico em pelo
menos 10 cent́ımetros.
16. Implementar um algoritmo que imprima a tabuada de um número qualquer
mais que um. Usando enquanto, repita e, para.
1
17. Ler um número indeterminado de notas. O algoritmo deverá ser encerrado ao
ser fornecido um valor negativo para a nota. Calcular e escrever a menor nota
entre as notas lidas.
18. Ler 10 valores e escrever quantos desses valores são negativos.
19. Ler 10 valores e contar quantos estão no intervalo entre 10 e 20 e quantos estão
fora desse intervalo, mostre cada uma dessas informações.
20. Ler um conjunto de 10 pares de dados contendo, cada um, a altura e um
código para masculino (1) e outro para feminino (2) de uma turma de alunos.
Calcular e escrever: a maior e a menor altura da turma e a média da altura
das mulheres.
21. A prefeitura de Manacapuru realizou uma pesquisa entre vários habitantes
da cidade, coletando dados sobre o rendimento familiar e o número de filhos
menores de cada famı́lia. A prefeitura precisa saber: a média dos rendimentos
da população, a média do número de filhos, o percentual de famı́lias com
rendimento igual ou superior a R$ 1000.
OBS: Perceba que nessa questão não é informada a quantidade de pessoas
participantes da pesquisa. Assim, é preciso pensar em alguma maneira
de realizar esse controle.
2

Outros materiais