Buscar

COMPILADO Algortimos COMPLETO AULAS RESUMOS REVISAO PROVAS AV1 AV2 AV3 SaibaMais EXTRAS Graduacao Gestao Tecnologia da Informacao

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

ALGORITMOS – AULA 5
ANITA MACIEL
Rio de Janeiro, 03 de junho de 2011
Quando poderei usar?
Quando você responder SIM
às três perguntas abaixo.
❖É a mesma variável em
todos os testes?
Quando você responder SIM
às três perguntas abaixo.
❖ O tipo da variável é
enumerável?
❖É a mesma variável em
todos os testes?
Quando você responder SIM
às três perguntas abaixo.
❖ O tipo da variável é
enumerável?
❖Operador Relacional é = ?
❖É a mesma variável em
todos os testes?
Quando você responder SIM
às três perguntas abaixo.
Vamos observar três fluxos
Ambiente:
http://www.bloodshed.net/
Com usá-lo:
http://anitalopes.com/diversos/html
http://www.bloodshed.net/
http://anitalopes.com/diversos/htmla
---
---
prog <identificador>
---
<declaração_ de_ variáveis>
<corpo_ do_ algoritmo>
fimprog
#include <iostream>
using namespace std;
int main()
{
<declaração_ de_ variáveis>
<corpo_ do_ programa>
}
Tipos das variáveis
•int
•real
•string
•logico
Exemplos:
int idade;
real peso;
Tipos das variáveis
•int
•float
•double
•char
•bool
Exemplos:
int idade;
float peso;
<identificador>
formado por letras e
algarismos (o 1o é
uma letra)
Exemplo:
real mediaAluno ;
<identificador> 
formado por letras, 
algarismos e 
caracter sublinha _ 
(o 1o é uma letra se 
só tiver 1 caracter)
Exemplo:
float mediaAluno ;
ou
float media_Aluno ;
# comentário de uma
linha
/* comentário de mais
de uma linha */
imprima <variável>;
imprima <lista de variáveis
separadas por virgulas> ;
imprima <constante ou
operações numéricas >;
imprima ”<constante caracter>
”;
// comentário de uma 
linha
/* comentário de mais de 
uma linha */
cout<< <variável> ;
cout<< <lista de variáveis 
separadas por << > ;
cout<< <constante ou 
operações numéricas> ;
cout<<”<constante caracter>”;
Caracteres de controle
usados com imprima:
"\n"alimenta linha(enter)
"\t" tabula (1 / 9 / 17 /25
/33/41/49/ 57 / 65 / 73 )
(tab)
Caracteres de controle
usados com cout:
"\n"alimenta linha(enter)
"\t" tabula (1 / 9 / 17 /25
/33/41/49/ 57 / 65 / 73 ) (tab)
"\\“ aparece \
"\”“ aparece “
Comando de Atribuição
<identificador> <- expressão;
Exemplo:
media <- ( a + b ) / 2;
Comando de Atribuição
<identificador> = expressão;
Exemplo:
media = ( a + b ) / 2;
Comando de Entrada
leia <variável> ;
---
Comando de Entrada
cin>> <variável> ;
cin>> <var1> >> <var2>;
Teste - Decisão
se (<condição> )
{
comando ; ou
<seqüência de comandos
separados por ;>
}
senao
{
comando; ou
<seqüência de comandos
separados por ;>
}
Teste - Decisão
if( <condição>)
{
comando; ou
<seqüência de comandos
separados por ;>
}
else
{
comando; ou
<seqüência de comandos
separados por ;>
}
Testes Encadeados
se (<condição 1> )
{
...
}
senao
{
se (<condição 2> )
{
...
}
senao
{
....
}
}
Testes Encadeados 
if (<condição 1> )
{
...
}
else
{
if (<condição 2> )
{
...
}
else
{
....
}
}
Testes Encadeados
NÃO DISPONÍVEL
Testes Encadeados 
if (<condição 1> )
{
...
}
else if (<condição 2> )
{
...
}
else if (<condição 3> )
{
....
}
else
{
...
}
Estrutura alternativa
NÃO DISPONÍVEL
Estrutura alternativa
switch(expressão)
{
case rótulo_1:
bloco1;
break;
case rótulo_2:
bloco2
break;
...
case rótulo_n:
bloco n
break;
<default: bloco d>;
}
MELHORANDO A SAÍDA
system(“pause”);
No ambiente Windows, uma das saídas para dar uma pausa.
system(“cls”);
No ambiente Windows, uma das saidas para limpar a tela.
system(“color --”);
Onde cada – é um código em hexadecimal. Sendo o primeiro
a cor do fundo e o segundo, a cor da fonte. Veja próxima tela.
O que foi isso? Não
deu erro.
Piscou e nem vi!
Você precisa “enganar”
o sistema. Dê uma
pausa.
➢Reveja todos os conceitos desta aula.
➢Aprimore seus conhecimentos
pesquisando no material didático e na
bibliografia recomendada (procure na
Biblioteca do campus ou na Biblioteca
Virtual/ SIA).
➢Faça todos os exercícios.
➢Esteja sempre em contato com seu
professor.
➢Não durma com dúvidas.
➢Assista a esta aula quantas vezes for
necessário.
ALGORITMOS – AULA 1
ANITA MACIEL
Rio de Janeiro, 29 de Abril de 2011
Nessa história, você 
foi escolhido para o 
papel principal e, por 
essa razão, será 
responsável pelo final 
e eu, só estarei aqui 
para possibilitar sua 
grande atuação.
O final feliz de uma história
O final feliz de uma história
O final feliz de uma história
O final feliz de uma história
É uma palavra derivada do nome do matemático
Abu Ja´far Muhammad(800- 847) que introduziu a
escrita dos cálculos substituindo o ábaco. Ele ficou
conhecido como Al-Kharazmi.
Designa um procedimento geral de cálculo que se
desenvolve, por assim dizer, automaticamente,
poupando-nos esforço mental durante o seu curso.
(FONSECA,F. C., 1999, p.50)
É uma sequência de passos finitos que devem ser
escritos de forma precisa e clara, evitando qualquer
tipo de dúvida na interpretação e que tem como
objetivo solucionar um problema computacional.
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” .
(disponível em:
http://pt.wikipedia.org/wiki/L%C3%B3gica#L.C3.B3gica_filos.C3.B3fica)
http://pt.wikipedia.org/wiki/L%C3%B3gica#L.C3.B3gica_filos.C3.B3fica
Jogos
➢ O problema das garrafas de 8 litros,
5 e 3 litros.
Jogos
➢ O problema das garrafas de 8 litros,
5 e 3 litros.
Jogos
➢ Torre de Hanói.
Jogos
➢ Torre de Hanói.
Jogos
➢ O problema dos quatro quatros.
4 x 4 + 4
4
Jogos
➢ O problema dos quatro quatros.
Relação de alguns sites sugeridos pela
grade nacional – presencial
➢ Jogo de travessia do rio - disponível em
http://www.profcardy.com/desafios/aplicativos.php?id=24
http://www.profcardy.com/desafios/aplicativos.php?id=24
Relação de alguns sites sugeridos pela
grade nacional – presencial
➢O Jogo da velha - disponível em
http://www.cardiol.br/jogos/velha/
http://www.cardiol.br/jogos/velha/
Relação de alguns sites sugeridos pela
grade nacional – presencial
➢ Teste de Einstein - disponível em
http://rachacuca.com.br/teste-de-einstein/
http://rachacuca.com.br/teste-de-einstein/
Lógica de programação
“uso correto das leis do pensamento, da
‘ordem da razão’ e de processos de raciocínio
e simbolização formais na programação de
computadores, objetivando racionalidade e o
desenvolvimento de técnicas que cooperem
para a produção de soluções logicamente
válidas e coerentes, que resolvam com
qualidade os problemas que se deseja
programar”. Forbellone, A., Eberspacher, H,
2000).
Resolvendo um problema - George Pólya
1 Compreenda o problema
➢ Identifique os dados.
➢ Identifique a incógnita.
➢ Identifique condição.
➢Verifique se é possível satisfazer a condição
com os dados fornecidos.
2 Planeje
➢ Tente encontrar uma relação entre os dados e a
incógnita.
➢ Procure achar alguma semelhança entre esse problema
e outro que já resolveu.
➢ Releia o problema se não tiver conseguido encontrar as
etapas necessárias para resolvê-lo.
➢ Quando tiver conseguido, escreva as etapas sem ser
prolixo e impreciso.
3 Execute o plano
➢ Acompanhe todas as etapas.
➢ Verifique se conseguiu atingir o objetivo.
4 Reflita sobre a solução
➢ Consegue justificar todas as etapas?
➢ Consegue visualizar outra solução?
➢ Consegue ver uma outra aplicação para a solução
encontrada?
Tudo muito explicado, mas como essas
etapas vão se transformando em algo
computável?
Interpretação do 
enunciado 
do problema
Interpretação do 
enunciado 
do problema
C
o
n
s
tru
ç
ã
o
 
d
o
 A
lg
o
ritm
o
Interpretação do 
enunciado 
do problema
C
o
n
s
tru
ç
ã
o
 
d
o
 A
lg
o
ritm
o
Codificação em uma
Linguagem de Programação
Formas para representar um AlgoritmoFormas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Formas para representar um Algoritmo
Fluxograma, UAL e Linguagem C++
SITES
portugol
http://orion.ipt.pt/~aulasi/ip/04-decisao/help/index.html
download
http://www.4shared.com/get/N3JQWx6Z/portugol23.html
Tutorial
http://www.dei.estt.ipt.pt/portugol/node/32
WEBportugol
http://siaiacad17.univali.br/webportugol/
http://www.univali.br/webportugol
UAL
http://anitalopes.com
http://orion.ipt.pt/~aulasi/ip/04-decisao/help/index.html
http://www.4shared.com/get/N3JQWx6Z/portugol23.html
http://www.dei.estt.ipt.pt/portugol/node/32
http://siaiacad17.univali.br/webportugol/
http://www.univali.br/webportugol
http://anitalopes.com/
Problema
Entrar com quatros salários e exibir a média dos salários.
Primeiro momento - COMPREENDE
➢Dados serão digitados no teclado
(origem), totalizando três dados numéricos;
➢ O algoritmo deverá calcular média
aritmética, resultando em uma informação
numérica;
➢O algoritmo deverá exibir a média dos
salários.
Problema
Entrar com quatros salários e exibir a média dos salários.
Segundo momento – IDENTIFICA
➢Quatro operações de entrada de dados,
uma para cada salário;
➢ Uma operação de processamento para
calcular a média dos salários;
➢Uma operação de saída para exibir a
média dos salários.
Problema
Entrar com quatros salários e exibir a média dos salários.
Terceiro momento – ESCREVE
escolhendo uma das linguagens: natural,
gráfica ou pseudolinguagem
Problema
Entrar com quatros salários e exibir a média dos salários.
Quarto momento – Reflete
➢Como está a solução ?
➢Será que existe outra melhor?
➢O fato de “funcionar” não significa dizer
que é EFICIENTE.
➢Poderá ser aproveitado em outros
programas?
➢Reveja todos os conceitos desta aula.
➢Aprimore seus conhecimentos
pesquisando no material didático e na
bibliografia recomendada (procure na
Biblioteca do campus ou na Biblioteca
Virtual/ SIA).
➢Assista às apresentações sobre
Fluxograma, linguagem Natural e
Pseudolinguagem .
➢Esteja sempre em contato com seu
professor.
➢Não durma com dúvidas.
➢Assista a esta aula quantas vezes for
necessário.
ALGORITMOS – AULA 2
ANITA MACIEL
Rio de Janeiro, 06 de maio de 2011
Hoje é um dia importante
porque aprenderemos a
construir algoritmos de
várias formas. Marque na
agenda: Aqui começa minha
vida como desenvolvedor.
Espero que você pratique
muito durante os próximos
dez dias e, se surgir dúvida,
fale com seu professor.
Arquitetura básica do computador
Apresentando as linguagens
Estrutura da Linguagem Natural
O início do algoritmo
começa com a primeira
ordem e o término, com
a última ordem. Você
poderá, ou não numerar
os passos.
Estrutura da Linguagem Gráfica
Todos os passos
deverão ficar
entre os símbolos
de início e fim.
Estrutura da Linguagem UAL
Todos os comandos deverão ser colocados
entre os comandos prog e fimprog.
Comando de saída (display)
Use verbos como:
➢ exibir(exiba),
➢imprimir(imprima),
➢ escrever escreva),
➢ mostrar(mostre).
exiba 23 imprimir 23 + 89
escrever nome mostre “Entendi”
Comando de saída (display)
Dentro desse símbolo,
podemos encontrar:
Comando de saída (display)
imprima ...;
imprima ..., ..., ...;
imprima 23; imprima 23 + 89;
imprima nome; imprima “Entendi”;
Comando de saída (display)
Os caracteres de controle \n e
\t são usados com o comando
imprima para que o
programador tenha poder de
decidir onde o dado será
impresso.
Tecla tab Tecla enter
Comando de saída (display)
Comando de saída (display)
Comando de saída (display)
Comando de saída (display)
Comando de saída (display)
Comando de saída (display)
Comando de saída (display)
Comando de saída (display)
Agora vamos praticar
Construa um algoritmo que exiba
Estacio no display.
escreva “Estacio”
escreva “Estacio”
escreva “Estacio”
escreva “Estacio”
escreva “Estacio”
escreva “Estacio”
escreva “Estacio”
escreva “Estacio”
Operador Significado Exemplo
+ adição 13 + 28
- subtração 28-13
* multiplicação 28*13
/ divisão 8/5 1 (C++)
/ divisão
8/5. 1.6 (C++)
div divisão 8/5 1
% resto 8/5 3
mod resto 8/5 3
** ^ potenciação 2**3 8
Manipular dados/informações é,
com certeza, uma das principais
funções de um computador.
Origem do dado
O dado é um valor fornecido pelo usuário,
gerado pelo programa ou lido de um arquivo
Tipos de dados
Inteiro, Real, Caracter e Lógico
Origem do dado
O dado é um valor fornecido pelo usuário,
gerado pelo programa ou lido de um arquivo
Tipos de dados
Inteiro, Real, Caracter e Lógico
Memória Principal
Memória Principal célula
Memória Principal endereço
0ff09 0ff0A 0ff0B
Declarando variável
Declarando variável
tipo nomeDaVariável;
Declarando variável
tipo nomeDaVariável;
tipo nV1, nV2, nVn;
Declarando variável
tipo nomeDaVariável;
tipo nV1, nV2, nVn;
Qualquer nome serve?
Declarando variável
Depende da linguagem.
Vamos adotar aqui as regras:
1o caracter -> letra
A partir do segundo, letra ou
algarismo.
Tipos da variável
Tipos da variável
inteiro, real, caracter e lógico
Tipos da variável
inteiro, real, caracter e lógico
int, real, string e logico
Tipos da variável
inteiro, real, caracter e lógico
int, real, string e logico
Onde fica a variável?
Vamos treinar
Idade de uma pessoa
Vamos treinar
int idade;Idade de uma pessoa
Vamos treinar
int idade;Idade de uma pessoa
Salário de uma pessoa
Vamos treinar
Idade de uma pessoa int idade;
real salario;Salário de uma pessoa
Vamos treinar
int idade;
real salario;
Nome de uma pessoa
Idade de uma pessoa
Salário de uma pessoa
Vamos treinar
int idade;
real salario;
string nome;Nome de uma pessoa
Idade de uma pessoa
Salário de uma pessoa
Vamos treinar
int idade;
real salario;
string nome;
Matrícula e CR de um aluno
Nome de uma pessoa
Idade de uma pessoa
Salário de uma pessoa
Vamos treinar
int idade;
real salario;
string nome;
int matric;
Matrícula e CR de um aluno
Nome de uma pessoa
Idade de uma pessoa
Salário de uma pessoa
Vamos treinar
int idade;
real salario;
string nome;
int matric; real CR;
Matrícula e CR de um aluno
Nome de uma pessoa
Idade de uma pessoa
Salário de uma pessoa
Vamos treinar mais
Código do paciente, peso, altura e IMC
Vamos treinar mais
Código do paciente, peso, altura e IMC
int codigo;
Vamos treinar mais
Código do paciente, peso, altura e IMC
real peso, altura, IMC;
int codigo;
O comando de atribuição
É um dos quatro comandos
básicos da programação.
Consiste em atribuir um
valor a uma variável.
O problema da data
251178
O problema da data
251178
O problema da data
251178
O problema da data
O teste de mesa
O teste de mesa
O teste de mesa
Memória Principal Display
O teste de mesa
Memória Principal Display
dia mes ano
➢Reveja todos os conceitos desta aula.
➢Aprimore seus conhecimentos
pesquisando no material didático e na
bibliografia recomendada (procure na
Biblioteca do campus ou na Biblioteca
Virtual/ SIA).
➢Faça todos os exercícios.
➢Esteja sempre em contato com seu
professor.
➢Não durma com dúvidas.
➢Assista a esta aula quantas vezes for
necessário.
ALGORITMOS – AULA 3
ANITA MACIEL
Rio de Janeiro, 20 de maio de 2011
Comando de 
entrada de dados
interagindo
Nome
João
Idade
22
Experiência
Sim( ) Não( )
Sim(X)
noid resp
Sintaxe do comando
leia nomeDaVariável;
Memória Display
Entrar com dois números reais e
exibir a soma.
Quantos valores desconhecidos?
Todos serão fornecidos pelo usuário?
Quais são os comandos envolvidos?
atribuição
leia
imprima
3
NÃO
FUNÇÕES NUMÉRICAS
sen(x) seno de um ângulo em radianos
cos(x) co-seno de um ângulo em radianos
tan(x) tangente de um ângulo em radianos
abs(x) x independente do sinal
exp(x) número e elevado a x
log(x) logaritmo neperiano de x
raiz(x) raiz quadrada de x
intreal(x) converte x para real
realint(x) converte x para inteiro, arredondando matematicamente.
➢Reveja todos os conceitos desta aula.
➢Aprimore seus conhecimentos
pesquisando no material didático e na
bibliografia recomendada (procure na
Biblioteca do campus ou na Biblioteca
Virtual/ SIA).
➢Faça todos os exercícios.
➢Esteja sempre em contato com seu
professor.
➢Não durma com dúvidas.
➢Assista a esta aula quantas vezes for
necessário.
ALGORITMOS – AULA 4
ANITA MACIEL
Rio de Janeiro, 27 de maio de 2011
Construa um algoritmo que
deixe entrar com uma altura e
exiba a mensagem “maior do
que a media” se a altura for
maior do que 2 metros.
Construa um algoritmo que
deixe entrar com um número e
exiba uma das mensagens: Par
ou Impar.
Construa um algoritmo que
deixe entrar com dois números
e exiba o maior.
Construa um algoritmo que
deixe entrar com dois números
e exiba-os em ordem crescente.
Construa um algoritmo que
deixe entrar com três números e
exiba o maior.
Construa um algoritmo que deixe
entrar com três números e exiba os
dois menores.
Construa um algoritmo que deixe
entrar com três números e exiba os
dois maiores.
Construa um algoritmo que deixe
entrar com três números e exiba o
menor.
➢Reveja todos os conceitos desta aula.
➢Aprimore seus conhecimentos
pesquisando no material didático e na
bibliografia recomendada (procure na
Biblioteca do campus ou na Biblioteca
Virtual/ SIA).
➢Faça todos os exercícios.
➢Esteja sempre em contato com seu
professor.
➢Não durma com dúvidas.
➢Assista a esta aula quantas vezes for
necessário.
ALGORITMOS – REVISÃO AV2/ AV3
ANITA MACIEL
Rio de Janeiro, 01 julho de 2011
Releia a Aula de Revisão da AV1
Relacione todas as dúvidas e poste no 
fórum de dúvidas AV2/ AV3
Refaça o maior número possível de
exercícios das Listas
Formas para representar um Algoritmo
Semântica versus Sintaxe
Palavras reservadas da linguagem 
Case Sensitive
Pseudolinguagem ou linguagem
interpretada?
Estruturas da Linguagens
O início do algoritmo
começa com a primeira
ordem e o término, com
a última ordem que
poderão ser, ou não,
numeradas.
Estrutura da Linguagem
Manipular dados/informações é,
com certeza, uma das principais
funções de um computador.
Dados versus da Informação
Processamento de dados
É a transformação de dados em outros que sejam mais
significativos para uma determinada finalidade.
Data – Dados
São valores que representam algum atributo(exemplo: peso,
idade, nome, etc.) de uma entidade(pessoa, animal, objeto,
etc).
Informação
É um conjunto de dados significativos.
Em outras palavras: dados são elementos que servem de
ponto-de-partida para um processamento e informação é o
resultado de um processamento.
Origem do dado
O dado é um valor fornecido pelo usuário,
gerado pelo programa ou lido de um arquivo
Tipos de dados
Inteiro, Real, Caracter e Lógico
Vamos treinar
1) Notas e média – real
2) Altura, peso, salário – real
3) Idade, número de dependentes – inteiro
4) Nome e sexo – caracter
Declarando variável
tipo nomeDaVariável;
tipo nV1, nV2, nVn;
Qualquer nome serve?
<identificador>
formado por letras e
algarismos (o 1o é
uma letra)
Exemplo:
real mediaAluno ;
<identificador> 
formado por letras, 
algarismos e 
caracter sublinha _ 
(o 1o é uma letra se 
só tiver 1 caracter)
Exemplo:
float mediaAluno ;
ou
float media_Aluno ;
Tipos de variáveis – UAL/C++
int, float / double, char e bool
int, real, string e logico
UAL
C++
Comentários
Linha(s) precedida(s) por caracter que
não será(ão) executada(s).
Exemplos:
# Comentário de uma linha em UAL
// Comentário de uma linha em C++
/* Comentário de uma, ou mais, linhas
, UAL e C++finalizando com */
Sintaxe do comando - saída
imprima “...”, ... , “\n”;
cout<<“ “<<...<<“\n”;
UAL
C++
Comando de saída (display)
Os caracteres de controle \n e \t são
usados com os comandos imprima /
cout para que o programador tenha
poder de decidir onde o dado será
impresso.
\t – tabula 1 9 17 25 33 41 ...(colunas)
\n – corresponde à tecla enter.
Na linguagem C++, “\n” equivale endl
Operador Significado Exemplo
+ adição 13 + 28
- subtração 28-13
* multiplicação 28*13
/ divisão 8/5 1 (C++)
/ divisão
8/5. 1.6 (C++)
div divisão 8/5 1
% resto 8/5 3
mod resto 8/5 3
**(real) ^(int) potenciação 2**3 8.0 2^3 8 
**(real) ^(int) potenciação 2**3 8.0 
2^3 8 
pow(base, expoente) potenciação pow(8.0,3)
Atenção para a potenciação
imprima "\n", (35 div 4)- (13 % 2), "\n";
imprima "\n", (35 / 4) - (13 % 2), "\n";
Vamos treinar – div, / e %
Vamos treinar – / e %
Equivalente na linguagem C++
Vamos treinar - AUMENTO
imprima "\n", 1200.0 + 1200.0*10/100, "\n";
Vamos treinar - Desconto
Vamos treinar - Desconto
Sintaxe do comando de atribuição
nomeVariável <- ...;
nomeVariável = ...;
UAL
C++
O teste de mesa
É uma simulação da execução de um
algoritmo/programa, começando a análise no
primeiro comando e só finalizando, no último
para verificar se o algoritmo/programa atingiu
seu objetivo.
A preocupação principal fica por conta do
comportamento das variáveis durante a
execução e com o que deverá sair no display.
O teste de mesa ou chinês?
Memória Principal Display
Sintaxe do comando - entrada
leia nomeDaVariável;
cin>>nomeDaVariável;
UAL
C++
Teste - Decisão
se (<condição> )
{
comando ; ou
<seqüência de comandos
separados por ;>
}
senao
{
comando; ou
<seqüência de comandos
separados por ;>
}
Teste - Decisão
if( <condição>)
{
comando; ou
<seqüência de comandos
separados por ;>
}
else
{
comando; ou
<seqüência de comandos
separados por ;>
}
Testes Encadeados
se (<condição 1> )
{
...
}
senao
{
se (<condição 2> )
{
...
}
senao
{
....
}
}
Testes Encadeados 
if (<condição 1> )
{
...
}
else
{
if (<condição 2> )
{
...
}
else
{
....
}
}
Testes Encadeados
NÃO DISPONÍVEL
Testes Encadeados 
if (<condição 1> )
{
...
}
else if (<condição 2> )
{
...
}
else if (<condição 3> )
{
....
}
else
{
...
}
Vamos treinar – Onde está o erro?
se( a=5) ->
if(a <> 8) ->
if(num mod 2 == 0) ->
if(a> b && > c) ->
se( a>=100 && a<=100) ->
se( nota>10 && nota<0) ->
Vamos treinar – Onde está o erro?
se( a=5) -> ==
if(a <> 8) -> !=
if(num mod 2 == 0) -> num % 2 == 0
if(a> b && > c) -> a> b && a > c
se( nota>10 && nota<0) ->
nota>10 || nota<0
Construa um algoritmo que deixe
entrar com nome e sexo de uma
pessoa.
Se ela for do sexo feminino, exibir o
nome e a mensagem Loja A caso
contrário, exibir o nome e a mensagem
Loja B .
Vamos treinar
UAL
C++
❖ O tipo da variável é
enumerável.
❖Operador Relacional é = =
❖A mesma variável em
todos os testes.
Atenção para quando for usar
o switch.
Estrutura alternativa
NÃO DISPONÍVEL
Estrutura alternativa
switch(expressão)
{
case rótulo_1:
bloco1;
break;
case rótulo_2:
bloco2
break;
...
case rótulo_n:
bloco n
break;
<default: bloco d>;
}
-Ideal para um número de repetições
conhecido durante a elaboração do
algoritmo/programa ou quando puder ser
fornecido durante a execução.
- Na linguagem C++, for.
- Simula com facilidade as estruturas do
while e do do...while .
Controlada por uma variávelcontadora.
para(var<- vi; var operadorR vf; var<-var operadorA r)
Explicando parâmetros
var Variável contadora
vi Valor inicial
operadorR Operador relacional
vf Valor final
operadorA Operador aritmético
r Razão
para(c<- 1; c <= 5; c<-c + 1) para(c<- 1; c <= 5; c++)
para(c<- 5; c >= 1; c<-c - 1) para(c<- 5; c >= 1; c- -)
para(c<- 2; c <= 20; c<-c + 2)
para(c<- 64; c >= 2; c<-c div 2)
para(c<- 3; c <= 243; c<-c * 3)
for(var= vi; var operadorR vf; var=var operadorA r)
Explicando parâmetros
var=var operadorA r
ou var operadorA = r
var+=r / var-=r / var*=r / var/=r
ou var++ / var --
for(c= 1; c <= 5; c=c + 1) for(c= 1; c <= 5; c++)
for(c= 5; c >= 1; c=c - 1) for(c= 5; c >= 1; c- -)
for(c= 2; c <= 20; c+= 2)
for(c 64; c >= 2; c=c /2)
for(c= 3; c <= 243; c*=3)
Gerando PA ou PG na Memória Principal e
exibindo os valores.
-Ideal para um número de repetições
desconhecido.
-O teste é executado no início.
-A vantagem é que o usuário decide
quando pára a repetição.
-Pode simular a estrutura do for.
-Talvez seja a estrutura mais simples
de se construir.
-O teste acontece no final, significando
que executa pelo menos uma vez.
- Assim como a estrutura while, é
usada quando o número de repetições
for desconhecido.
-Pode simular a estrutura do for.
1o passo – Envolva o bloco que
será repetido com um par de { }
2o passo – Escreva a linha do
comando for
3o passo – Não se esqueça de
declarar a variável do for.
Construa um programa que
10 vezes entre com dois
números e, a cada entrada,
exiba o maior.
Vamos treinar
if(num1 > num2)
{ cout<< "\nMaior: "<< num1<<endl; }
else if(num2 > num1)
{ cout<< "\nMaior: "<< num2<<endl; }
else
{ cout<< "\nIguais: "<< num1<<endl; }
}
}
Vamos treinar - trecho
Vamos treinar - saída
Construa um programa que
8 vezes possa entrar com
um salário e exibir o salário
reajustado em 7%.
Vamos treinar
Vamos treinar - saída
Observe este programa
prog triangulo0
int C;
para(C<-1; C<=10; C++)
{
imprima "*";
}
imprima "\n\n";
fimprog
Vamos treinar
Vamos treinar - saída
Vamos colocar o para dentro de outro para
prog triangulo1
int C, L;
para(L<-1; L<=10; L++)
{
para(C<-1; C<=10; C++)
{ imprima "*"; }
imprima "\n";
} 
imprima "\n\n";
fimprog
Vamos treinar
Vamos treinar - saída
Vamos alterar o valor final do para interno
prog triangulo2
int C, L;
para(L<-1; L<=10; L++)
{ 
para(C<-1; C<=L; C++)
{ imprima "*"; }
imprima "\n";
} 
imprima "\n\n";
fimprog 
Vamos treinar
Vamos treinar - saída
1) O que é?
2) Como se cria?
3) Quais as regras para que
tudo funcione perfeitamente?
1)
2)
3)
4)
Construa um programa que
entre com a idade de 5
pessoas e exiba ao final,
quantas pessoas são
maiores de idade.
Vamos treinar
Vamos treinar - saída
Um comando leia, ou de atribuição,
antes do enquanto para entrar na
repetição e um comando leia, ou de
atribuição, antes da }, para repetir ou
sair da repetição.
Uma
Construa um programa que
entre, várias vezes, com
tuplas de números maiores
do que 0. Exibir, a cada
entrada, a média dos
números.
Vamos treinar
Vamos treinar - saída
Construa um programa que
deixe entrar com um número
inteiro e exiba quantos
algarismos tem este número.
Vamos treinar
Vamos treinar
Vamos treinar - saída
Vamos treinar - saída
Vamos treinar - saída
Vamos treinar - saída
Vamos treinar - saída
Vamos treinar - saída
Se X for uma letra, deverá ficar entre
aspas simples, mas se for um número,
NÃO.
case ‘F’: … case 1: …
Vamos treinar - saída
Vamos treinar - saída
1)Simule a estrutura do for, usando
while e um contador(caso particular
do Acumulador).
2)Simule a estrutura do for, usando
do...while e um contador(caso
particular do Acumulador).
3)Simule a estrutura do while, usando
for(;;) e if combinado com break.












=
mn
n2
n1
3m
23
13
2m
22
12
1m
21
11
xnm
a
.
a
a
.
.
.
.
a
.
a
a
a
.
a
a
a
.
a
a
A
 13132A 4x1 =












=
13
1
3
2
A 1x4
 13132A 4x1 =












=
13
1
3
2
A 1x4
Dimensionando Matrizes(vetores)
tipo nomeMatriz[tamanho] ;
tipo nomeMatriz[tamanho] ;
UAL
C++
Trecho de Entrada
para( var<-0; var <tamanho; var ++)
{
imprima “\nmensagem: “;
leia nomeMatriz[var];
}
UAL
Trecho de Entrada
for( var=0; var <tamanho; var ++)
{
cout<< “\nmensagem: “;
cin>>nomeMatriz[var];
}
C++
Trecho de Saída – matriz linha
imprima “\n\nTitulo\n\n”;
para( var<-0; var <tamanho; var ++)
{
imprima nomeMatriz[var], “\t”;
}
UAL
cout<<"\n\nTitulo\n\n";
for(var=0; x<tamanho; var++)
{
cout<<nomeMatriz[var], “\t”;
}
C++
Trecho de Saída – matriz linha
Trecho de Saída – matriz coluna
imprima “\n\nTitulo\n\n”;
para( var<-0; var <tamanho; var ++)
{
imprima nomeMatriz[var], “\n”;
}
UAL
cout<<"\n\nTitulo\n\n";
for(var=0; x<tamanho; var++)
{
cout<<nomeMatriz[var], “\n”;
}
C++
Trecho de Saída – matriz coluna
1) Os três trechos - matriz linha
Vamos treinar
imprima "\n\nIdades\n\n";
para(x<-0; x<10; x++)
{
imprima idades[x], "\t";
}
UAL
para(x<-0; x<10; x++)
{
imprima "\nIdade: ";
leia idades[x];
}
int idades[10] , x;
Vamos treinar
cout<<"\n\nIdades\n\n";
for(x=0; x<10; x++)
{
cout<<idades[x]<<"\t";
}
C++
for(x=0; x<10; x++)
{
cout<<"\nIdade: ";
cin>>idades[x];
}
int idades[10] , x;
1) Os três trechos - matriz linha
1) Os três trechos - matriz coluna
Vamos treinar
imprima "\n\nIdades\n\n";
para(x<-0; x<10; x++)
{
imprima idades[x], "\n";
}
UAL
para(x<-0; x<10; x++)
{
imprima "\nIdade: ";
leia idades[x];
}
int idades[10] , x;
Gerando vetor soma
Vamos treinar
for(x=0; x<tam; x++)
{
soma[x]= A[x] + B[x];
}
para(x<-0; x<tam; x++)
{
soma[x]<- A[x] + B[x];
}
UAL C++
Gerando vetor média
Vamos treinar
for(x=0; x<tam; x++)
{
med[x]=(A[x] + B[x])/2;
}
para(x<-0; x<tam; x++)
{
med[x]<-(A[x] + B[x])/2;
}
UAL C++
Trecho que calcula a média dos
elementos da matriz
Vamos treinar
soma=0;
for(x=0; x<tam; x++)
{
soma<- soma + m[x];
}
media=soma/tam;
soma<-0.0;
para(x<-0; x<tam; x++)
{
soma<- soma + m[x];
}
media<-soma/tam;
UAL C++












=
mn
n2
n1
3m
23
13
2m
22
12
1m
21
11
xnm
a
.
a
a
.
.
.
.
a
.
a
a
a
.
a
a
a
.
a
a
A














=
5,5
7
8
5,8
0
0
7
7
5
4
0
9
6
10
9
8
Notas 4x4
Dimensionando Matrizes(bidimensionais)
tipo nomeMatriz[tamL] [tamC] ;
C++
float notas[60] [4] ;
char nomes[60] [31] ;
Vamos treinar
4 notas e nome de 60 alunos
char nome [30];
Para entrar com um nome, usamos o
comando abaixo
cin.getline(nome, 30);
Vamos treinar
Vamos treinar
Número de inscrição, nome do país
e 5 tempos de 48 nadadores.
Int insc [48] ;
char nomesPais[48] [31] ;
float tempos[48] [5] ;
Entrada via teclado - Matriz bidimensional
for(L=0; L < tamanhoLinha ; L++)
{
for(C=0; C < tamanhoColuna ; C++)
{
cout<<”\nLinha ”<<L+1<<” coluna ”<<C+1<<”: ”;
cin>>nomeMatriz[L][C];
}
}
Entrada via teclado - Matriz bidimensional
Matriz de char
for(L=0; L < tamanhoLinha ; L++)
{
cout<<”\nNumero da linha ”<<L+1<<”: ”;
cin.getline(nomeMatriz[L], tam);
}
tam valor declarado no dimensionamento
(colunas)
Trecho de saída - Matriz bidimensional
system(”cls”);//limpar a tela ou clear - LINUX
cout<<”\nTitulo\n”;
for (L= 0; L < tamanhoLinha ; L++)
{
for(C=0; C < tamanhoColuna ; C++)
{
cout<<nomeMatriz[L][C]<< ”\t”;
}
cout<<”\n\n”;
}
Limpar o buffer 
cin.get();
Vamos treinar












−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
=x55M
Para finalizar, vou fazer um
programa mais matemático.
Vamos treinar
Dimensionamento
Entrada
Vamos treinar - solução
float M[5][5];
Dimensionamento
for(L=0; L < 5 ; L++)
{
for(C=0;C < 5 ;C++)
{
cout<<"\nElemento "<<L+1<<", "<<C+1<<": ";
cin>>M[L][C];
}
}
Entrada
Vamos treinar
Saída
system("cls");
cout<<"\nElementos da Matriz\n\n";
for (L= 0; L < 5 ; L++)
{
for(C=0; C < 5 ; C++)
cout<<M[L][C]<< "\t";
cout<<"\n\n";
}
Saída
Vamos treinar - solução
Trechos Interessantes
system("cls");
cout<<"\nElementos da Matriz Acima da DP\n\n";
for (L= 0; L < TAM ; L++)
{ 
for(C=0; C < TAM ; C++) 
if( L < C )
cout<<M[L][C]<< "\t";
else
cout<<"\t"; 
cout<<"\n"; 
}
Trechos Interessantes
...
if( L > C )
cout<<M[L][C]<< "\t"; //Triangulo Superior DP
else
cout<<"\t"; 
...
...
if( L == C )
cout<<M[L][C]<< "\t"; //Diagonal Principal
else
cout<<"\t"; 
...
Trechos Interessantes
Matriz SomaLinha
É uma matriz onde cada elemento é a soma dos
elementos de uma linha da matriz.
Trechos Interessantes
//inicializa SomaLinha
for(L=0; L<3; L++)
{
SOMA_LINHA[L] = 0;
}
//gera a matriz SomaLinha
for(L=0;L<3;L++)
for (c=0; c<5;c++)
SOMA_LINHA[L] += A[L][c];
Trechos Interessantes
Matriz SomaColuna
É uma matriz onde cada elemento é a soma dos
elementos de uma coluna da matriz.
Trechos Interessantes
//inicializa SomaColuna
for (C=0; C<5; C++)
SOMA_COLUNA[C] = 0;
//gera a matriz SomaColuna
for (C=0; C < 5; C++)
for(L=0; L < 3; L++)
SOMA_COLUNA[c] += A[L][C];
Funções da Biblioteca cstring
Funções da Biblioteca cstring
Essa função retorna o número
de caracteres de str que
precedem o caracter nulo(\0)
de término.
Funções da Biblioteca cstring
Menor que zero -> str1 é menor do
que str2(menor significa “vem antes
na ordem alfabética”)
Igual a zero -> str1 é igual a str2
Maior que zero -> str1 é maior do
que str2(maior significa “vem depois
na ordem alfabética”)
Funções da Biblioteca cstring
Essa função copia o conteúdo
de str2 em str1, escrevendo
sobre o antigo conteúdo de
str1.
Funções da Biblioteca cstring
Essa função anexa o conteúdo
de str2 ao final de str1.
Funções da Biblioteca cctype
Funções da Biblioteca cctype
Essa função converte para
maiúscula uma letra
minúscula, não alterando os
demais caracteres
Funções da Biblioteca cctype
Essa função converte para
minúscula uma letra
maiúscula, não alterando os
demais caracteres.
Funções da Biblioteca - cstdlib
Funções da Biblioteca - cstdlib
Essa função converte str, o
que for possível, para número
inteiro. Ela retorna 0 quando
não puder converter.
Funções da Biblioteca - cstdlib
Essa função converte str, o
que for possível, para número
real. Ela retorna 0 quando
não puder converter.
 
 
 
 
 
 
Acumulador 
 
Definição: É uma variável que tem seu valor alterado dentro de uma 
estrutura de repetição. Na verdade, quando falamos em acumulador, 
estamos nos referenciando a um comando de atribuição que 
incrementa, ou decrementa, o conteúdo da variável. 
Sintaxe: 
nomeVariável = nomeVariável Op. Aritmético valor ; 
Exemplos: 
Expressão Como se lê? 
a = a + valor ; 
A variável a recebe o valor que estava 
armazenado nela, acrescido do valor armazenado 
na variável valor. 
a = a * valor ; 
A variável a recebe o valor que estava 
armazenado nela, multiplicado pelo valor 
armazenado na variável valor. 
a = a - valor ; 
A variável a recebe o valor que estava 
armazenado nela, decrementado do valor 
armazenado na variável valor. 
a = a / valor ; 
A variável a recebe o valor que estava 
armazenado nela, dividido pelo valor armazenado 
na variável valor. 
 
Quando a variável é acrescida (ou decrementada) de um 
valor constante, costumamos chamar o acumulador de 
contador. 
Exemplos: 
Expressão Como se lê? 
a = a + 1 ; ou a++; A variável a é incrementada de 1. 
a = a - 1 ; ou a--; A variável a é decrementada de 1. 
a = a + 2 ; ou a+=2; A variável a é incrementada de 2. 
a = a - 2 ; ou a-=2; A variável a é decrementada de 2. 
 
Quando devo 
usar? 
Em todo algoritmo que tenha 
repetição e você precise somar os 
números que entram, calcular a 
média, contar de acordo com uma 
condição, etc. 
Regras para se usar um acumulador 
1- Todo acumulador é uma variável, logo PRECISA SER DECLARADO. 
2- Todo acumulador precisa ser INICIALIZADO. 
 Como faço isto? 
 Use um comando de atribuição ANTES da estrutura de repetição em 
que ele aparece e 
 Atribua um valor inicial. Normalmente, o elemento neutro da 
operação. 
3- A expressão do acumulador precisa estar DENTRO DA ESTRUTURA 
DE REPETIÇÃO. 
4- Alguma operação deverá ser feita com o acumulador APÓS A 
ESTRUTURA DE REPETIÇÃO. 
 
 
 
 
 
Código do arquivo Menu.cpp 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int op; 
 float num1, num2, num3,soma, prod; 
 do 
 { 
 system("cls"); 
 cout<< "\n\n\tMAQUINA ESPERTA "; 
 cout<< "\n1 - Soma dois numeros "; 
 cout<< "\n2 - Multiplica tres numeros "; 
 cout<< "\n3 - Sai do programa "; 
 cout<< "\nOPCAO: "; 
 
 cin>> op; 
 system("cls"); 
 switch(op ) 
 { 
 case 1: cout<<"\ndois numeros: "; 
 cin>>num1>>num2; 
 cout<<"\nSoma: "<< num1+num2<<endl; 
 break; 
 
 case 2: cout<<"\ntres numeros: "; 
 cin>>num1>>num2>>num3; 
 cout<<"\nProduto: "<< num1 * num2 * num3<<endl; 
 break; 
 
 case 3: cout<< "\nSai do programa\n"; 
 break; 
 
 default: cout<<"\nOpcao nao disponivel\n" ; 
 } 
 system("pause"); 
 }while(op!=3); 
} 
 
 
 
 
Matrizes somaLinha e somaColuna 
 
 
1 Matriz somaLinha 
 
 É uma matriz unidimensional(vetor ou matriz coluna) que terá tantas linhas 
quantas forem as linhas da matriz original e cada elemento será a soma de todos 
os elementos da linha correspondente na matriz original. Em outras palavras, 
cada elemento soma de todos os elementos das colunas de uma linha. 
 
1.1 Inicializando a matriz somaLinha 
 
 Como é uma matriz de acumuladores precisa ser inicializada. 
 
for (L=0; L<tamanhoLinha; L++) 
 somaLinha[L]=0; 
 
1.2 Gerando a matriz somaLinha 
 
for(L=0;L< tamanhoLinha;L++) 
 for (c=0; c<tamanhoColuna;c++) 
 somaLinha[L]+=nomeMatriz[L][C]; 
 
1.3 Imprimindo a matriz somaLinha sozinha 
 
for(L=0;L< tamanhoLinha;L++) 
 cout<<somaLinha[L] << "\n"”; 
cout<<endl; 
 
1.4 Imprimindo a matriz somaLinha com a matriz original 
 
system("cls"); 
cout<<"\nMatriz Original com matriz SomaLinha\n\n"; 
 
 
for(L=0;L< tamanhoLinha;L++) 
{ for(c=0;c< tamanhoColuna;c++) 
 cout<<matOriginal[L][c]<< "\t"; 
 cout<<somaLinha[L]<< "\n"; 
} 
 
2 Matriz somaColuna 
 
 É uma matriz unidimensional(vetor ou matriz linha) que terá tantas colunas 
quantas forem as colunas da matriz original e cada elemento será a soma de 
todos os elementos da coluna correspondente na matriz original. Em outras 
palavras, cada elemento é a soma de todos os elementos das linhas de uma 
coluna. 
2.1 Inicializando a matriz somaColuna 
 
 Como é uma matriz de acumuladores precisa ser inicializada. 
 
for(c=0; c<tamanhoColuna; c++) 
 somaLinha[c]=0; 
 
2.2 Gerando a matriz somaColuna 
 
for(L=0;L< tamanhoLinha;L++) 
 for(c=0;c< tamanhoColuna;c++) 
 somaColuna[c]+=nomeMatriz[L][c]; 
 
2.3 Imprimindo a matriz somaColuna sozinha 
 
for(c=0;c< tamanhoColuna;c++) 
 cout<<somaColuna[c]<<"\t"; 
cout<<endl; 
 
2.4 Imprimindo a matriz somaColuna com a matriz original 
 
system("cls"); 
cout<<"\nMatriz Original com matriz SomaColuna\n\n"; 
for(L=0;L< tamanhoLinha;L++) 
{ for(c=0;c< tamanhoColuna;c++) 
 cout<<matOriginal[L][c]<<"\t"; 
 cout<<"\n"; 
} 
for(c=0;c< tamanhoColuna;c++) 
 cout<<somaColuna[c]<<"\t"; 
cout<<"\n"; 
 
 
1 
Códigos Fontes da Aula 10 
 
Códigos do Arquivo: ColorindoNoCmaismais.doc 
 
arquivoCor1.cpp 
#include <iostream> 
using namespace std; 
int main() 
{ 
 system("color 1E"); 
 cout<<"\nTESTANDO\n"; 
 system("pause"); 
} 
arquivoCor2.cpp 
#include<iostream> 
using namespace std; 
int main() 
{ 
 system("color df"); 
 cout<<"\nTESTANDO\n"; 
 system("pause"); 
} 
 
Códigos dos Arquivos da Aula_10 
 
strlen1.cpp 
#include <iostream> 
#include <cstring> 
using namespace std; 
int main() 
{ 
 int a, tam; 
 //dimensionamento e atribuição 
 char frase[]={"Algoritmos"}; 
 
 //trecho de saida 
 system("cls"); 
 tam = strlen(frase); 
 for(a=0; a<tam ; a++) 
 cout<<"\n"<<frase[a]; 
 cout<<"\n\n"; 
 system("pause"); 
} 
strlen2.cpp 
#include <iostream> 
#include <cstring> 
using namespace std; 
int main() 
{ 
 int a, tam; 
 //dimensionamento e atribuição 
 char frase[]={"Aprender a construir Algoritmos"}; 
 
 //trecho de saida 
 system("cls"); 
 tam = strlen(frase); 
 for(a=tam-1; a>=0; a--) 
 cout<<frase[a]; 
 cout<<"\n\n"; 
 system("pause"); 
} 
strlen3.cpp 
#include <iostream> 
#include <cstring> 
using namespace std; 
int main() 
{ 
 
2 
 int a, y, tam; 
 //dimensionamento e atribuição 
 char frase[]={"Algoritmos so se aprende praticando!"}; 
 
 //trecho de saida 
 system("cls"); 
 tam = strlen(frase); 
 for(a=0; a< tam; a++) 
 { 
 for(y=0; y<=a; y++) 
 cout<<frase[y]; 
 cout<<"\n"; 
 } 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
strlen4.cpp 
#include <iostream> 
#include <cstring> 
using namespace std; 
int main() 
{ 
 int a, y, tam; 
 //dimensionamento e atribuição 
 char frase[]={"Algoritmos so se aprende praticando!"}; 
 
 //trecho de saida 
 system("cls"); 
 tam = strlen(frase); 
 for(a=0; a < tam; a++) 
 { 
 for(y=0; y< tam -a; y++) 
 cout<<frase[y]; 
 cout<<"\n"; 
 } 
 cout<<"\n\n"; 
 system("pause"); 
} 
tolower.cpp 
#include <iostream> 
#include <cstring> 
#include <cctype> 
using namespace std; 
int main() 
{ 
 int a, tam; 
 char frase[70]; 
 //Entrada 
 cout<<"\nFrase: "; 
 cin.getline(frase,70); 
 tam=strlen(frase); 
 for(a=0; a< tam; a++) 
 frase[a]=tolower(frase[a]); 
 
 //trecho de saida 
 system("cls"); 
 cout<<"\n"<<frase; 
 
3 
 cout<<"\n\n"; 
 system("pause"); 
} 
toupper.cpp 
#include <iostream> 
#include <cstring> 
#include <cctype> 
using namespace std; 
int main() 
{ 
 int a, tam; 
 char frase[70]; 
 //Entrada 
 cout<<"\nFrase: "; 
 cin.getline(frase,70); 
 tam=strlen(frase); 
 for(a=0; a< tam; a++) 
 frase[a]=toupper(frase[a]); 
 
 //trecho de saida 
 system("cls"); 
 cout<<"\n"<<frase; 
 cout<<"\n\n"; 
 system("pause"); 
} 
toupperTolower.cpp 
#include <iostream> 
#include <cstring> 
#include <cctype> 
using namespace std; 
int main() 
{ 
 int a, tam; 
 //dimensionamento 
 char frase[70]; 
 
 //trecho de entrada 
 cout<<"\nFrase: "; 
 cin.getline(frase,70); 
 tam=strlen(frase); 
 frase[0]=toupper(frase[0]); 
 for(a=1; a< strlen(frase); a++) 
 if(frase[a-1]==' ') 
 frase[a]=toupper(frase[a]); 
 else 
 frase[a]=tolower(frase[a]); 
 
 //trecho de saida 
 system("cls"); 
 cout<<"\n"<<frase; 
 cout<<"\n\n"; 
 system("pause"); 
} 
protecaoCharDe1.cpp 
#include <iostream> 
#include <cstring> 
#include <cctype> 
#define TAM 5 
 
4 
using namespace std; 
int main() 
{ 
 char sexo[TAM], lixo[100]; 
 int x; 
 for(x=0; x<TAM;x++) 
 { 
 cout<<"\nSexo (m / f): "; cin.getline(lixo, 100); 
 lixo[0]=tolower(lixo[0]); 
 while(strlen(lixo)!= 1 || (lixo[0] != 'm' && lixo[0] != 'f' ) ) 
 { 
 cout<<"\nVoce so podera digitar a letra f ou a letra m"; 
 cout<<"\nSexo (m / f): "; cin.getline(lixo, 100); 
 lixo[0]=tolower(lixo[0]); 
 } 
 sexo[x]=lixo[0]; 
 } 
 system("cls"); 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<<sexo[x]; 
 cout<<"\n\n"; 
 system("pause"); 
} 
protecaoVetorDeChar.cpp 
#include <iostream> 
#include <cstring> 
#define TAM 3 
using namespace std; 
int main() 
{ 
 char nome[TAM][31], lixo[100]; 
 int x; 
 
 for(x=0; x<TAM;x++) 
 { 
 cout<<"\nNome: "; cin.getline(lixo, 100); 
 while(strlen(lixo)> 30) 
 { 
 cout<<"\nNome com no maximo 30 caracteres. Abrevie."; 
 cout<<"\nNome: "; cin.getline(lixo, 100); 
 } 
 strcpy(nome[x], lixo); 
 } 
 system("cls"); 
 cout<<"\nRelacao dos Nomes\n"; 
 for(x=0; x<TAM;x++) 
 cout<<"\n"<<nome[x]; 
 cout<<"\n\n"; 
 system("pause"); 
} 
strcat.cpp 
#include <iostream> 
#include <cstring> 
#define TAM 3 
using namespace std; 
int main() 
{ 
 char nome[TAM][31], lixo[100]; 
 
5 
 int x,idade[TAM]; 
 
 for(x=0; x<TAM;x++) 
 { 
 cout<<"\nNome: "; cin.getline(lixo, 100); 
 while(strlen(lixo)> 30) 
 { 
 cout<<"\nNome com no maximo 30 caracteres. Abrevie."; 
 cout<<"\nNome: "; cin.getline(lixo, 100); 
 } 
 strcpy(nome[x], lixo); 
 
 //Atencao para esse trecho 
 while(strlen(nome[x]) < 30) 
 strcat(nome[x], " "); 
 
 cout<<"\nIdade: "; 
 cin>>idade[x]; cin.get(); 
 } 
 system("cls"); 
 cout<<"\nNome\t\t\t\tIdade\n"; 
 for(x=0; x<TAM;x++) 
 cout<<"\n"<<nome[x]<<"\t"<<idade[x]; 
 cout<<"\n\n"; 
 system("pause"); 
} 
strcmp.cpp 
#include <iostream> 
#include <cstring> 
#include <cctype> 
#define TAM 3 
using namespace std; 
int main() 
{ 
 int x, y; 
 // dimensionamento 
 char nome[TAM][31], sigla[TAM][3]; 
 
 //trecho de entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nnome: "; 
 cin.getline(nome[x],31); 
 cout<<"\nSigla do estado: "; 
 cin.getline(sigla[x],3); 
 for(y=0; y<strlen(sigla[x]); y++) 
 sigla[x][y]=toupper(sigla[x][y]); 
 } 
 
 //trecho de saida 
 system("cls"); 
 cout<<"\nRelacao das pessoas nascidas no Rio de Janeiro\n"; 
 for(x=0; x< TAM; x++) 
 if(strcmp(sigla[x],"RJ")==0 ) 
 cout<<"\n"<<nome[x]; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
6 
atoi.cpp 
#include <iostream> 
#include <cctype> 
#define TAM 5 
using namespace std; 
int main() 
{ 
 int num[TAM],n, x; char lixo[30]; 
 for(x = 0; x < TAM; x++) 
 { 
 cout<<"\nNumero inteiro: "; cin.getline(lixo, 30); 
 n=atoi(lixo); 
 num[x]=n; 
 } 
 system("cls"); 
 cout<<"\nRelacao dos numeros inteiros\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<<num[x]; 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
 
 
 
 
 
 
 
Desafio 
#include <iostream> 
#include <cstring> 
using namespace std; 
int main() 
{ 
 int a,y,t,tam,e=0,d=0; 
 //dimensionamento e inicializacao 
 char frase[]={"Na ESTACIO aprendi Algoritmo!"}; 
 tam=strlen(frase); 
 t=tam / 2; 
 system("cls"); 
 system("color f1"); 
 cout<<"\t\t"; 
 //1a figura 1a parte 
 for(a=0; a< tam; a++) 
 { 
 for(y=0; y<=a; y++) 
 cout<<frase[y]; 
 if( a==tam-1)cout<<" E T C O"; 
 cout<<"\n\t\t"; 
 } 
 
 //1a figura 2a parte 
 for(a=0; a < tam; a++) 
 { 
 for(y=0; y< tam - a; y++) 
 cout<<frase[y]; 
 if( a==0)cout<<" S A I"; 
 
7 
 cout<<"\n\t\t"; 
 } 
 cout<<"\n"; 
 
 
 //2a figura 1a parte 
 for(a=0; a<=t; a++) 
 { 
 for(y=t-a; y<=t+a; y++) 
 cout<<frase[y]; 
 cout<<"\n"; 
 } 
 
 //2a figura 2a parte 
 for(a=t; a>=0; a--) 
 { 
 for(y=t-a; y<=t+a; y++) 
 cout<<frase[y]; 
 cout<<"\n"; 
 } 
 
 //3a figura 1a parte 
 cout<<"\n\n\t\t\t"; 
 for(a=tam-1; a>=0; a--) 
 { 
 if( a==0) 
 cout<<"\n\tO C T E "; 
 else 
 cout<<"\n\t\t\t"; 
 for(y=tam-1; y>=a; y--) 
 cout<<frase[y]; 
 } 
 
 //3a figura 2a parte 
 for(a=tam-1; a>=0; a--) 
 { 
 if( a==tam-1) cout<<"\n\t I A S "; 
 else 
 cout<<"\n\t\t\t"; 
 for(y=a; y>=0; y--) 
 cout<<frase[y]; 
 } 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
 
 
1 
Colorindo na linguagem C++ 
 
Você poderá fazer uso da função system(” ”); e do comando color – para colocar cor em 
seus programas. 
 
Sintaxe: 
 
system(”color _ _”); 
 
Onde _ _ representam os códigos da cor de fundo e da cor da letra. 
 
Para você descobrir as cores, executeo programa abaixo. 
 
 
 
 
 
 
 
 
 
Coloquei gg no comando system(”color gg”); para forçar o aparecimento da tela 
que fala sobre o comando e exibe os códigos das cores. 
Como os códigos são em hexadecimal(0-9 e A – F), qualquer caracter diferente 
fará com que seja exibida a tela das cores. 
 
 
Agora vamos praticar. 
 
 
2 
 
1) Cor da letra amarela(E) e fundo azul(1). 
#include <iostream> 
using namespace std; 
int main() 
{ 
 system("color 1E"); 
 cout<<"\nTESTANDO\n"; 
 system("pause"); 
} 
 
 
 
2) Cor da letra branca(f) e cor do fundo, pink(d) 
 
#include <iostream> 
using namespace std; 
int main() 
{ 
 system("color df"); 
 cout<<"\nTESTANDO\n"; 
 system("pause"); 
} 
 
 
 
 
 
Você pode colocar as letras maiúsculas ou minúsculas, 
 
 
Lista 6 - gabarito 
 
 
Lista 6 - imprima, atribuição,\leia, se ... então .. senão se, escolha, para 
ou enquanto ou faca...enquanto e vetores. 
 
 
Orientações: 
1- Todas as soluções na linguagem UAL. 
2- O comanda de entrada está presente em todos os exercícios. 
3- Quando existir algum cálculo declare a variável e armazene o 
resultado da operação. 
4- A estrutura do para, ou a estrutura do enquanto ou a estrutura do 
faca...enquanto, está presente em todos os exercícios. 
5 - Todos os exercícios terão comando de saída. 
6- Todos os exercícios têm pelo menos um vetor. 
7- Codificar em C++ todas as soluções já testadas no ambiente UAL. 
 
Linguagem UAL Linguagem C++ 
Solução do exercício 13 
 
 
 
 
 
1) Armazenar 10 números inteiros em um vetor NUM e exibir uma listagem 
numerada. 
 
Lista 6 - gabarito 
 
 
#include <iostream> 
#define TAM 15 
using namespace std; 
int main() 
{ 
 //declaração da variável do for e do vetor 
 int x, NUM[TAM]; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero inteiro: "; 
 cin>>NUM[x]; 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nRelacao do numeros\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<< x + 1 <<" - "<<NUM[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
2) Armazenar 15 números inteiros em um vetor NUM e exibir uma listagem 
numerada contendo o número e uma das mensagens: par ou ímpar. 
#include <iostream> 
#define TAM 15 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e do vetor 
 int x, NUM[TAM]; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero inteiro: "; 
 cin>>NUM[x]; 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nNumero\tPar/Iimpar\n"; 
 for(x=0; x< TAM; x++) 
 if(NUM[x] % 2 == 0 ) 
 cout<<"\n"<< x + 1 <<"-"<<NUM[x]<<"\tPAR"; 
 else 
 cout<<"\n"<< x + 1 <<"-"<<NUM[x]<<"\tIMPAR"; 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
Lista 6 - gabarito 
 
 
 
3) Entrar com números reais para o vetor A de 10 elementos. Gerar e exibir o 
vetor triplo. 
#include <iostream> 
#define TAM 10 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e dos vetores 
 int x; 
 float A[TAM], TRI[TAM]; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero: "; 
 cin>>A[x]; 
 } 
 
 //gerando o vetor triplo 
 for(x=0; x< TAM; x++) 
 { 
 TRI[x]= A[x] * 3; //essa linha poderia estar no 1o for, depois da entrada 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nVetor Triplo\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<<TRI[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
4) Armazenar 8 números em um vetor e exibir todos os números. Ao final, o total 
de números múltiplos de seis digitados. 
#include <iostream> 
#define TAM 8 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for, contador e do vetor 
 int x, NUM[TAM], conta6=0; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero inteiro: "; 
 cin>>NUM[x]; 
 if(NUM[x] % 6 == 0) 
 conta6++; 
 
Lista 6 - gabarito 
 
 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nRelacao do numeros\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<< x + 1 <<" - "<<NUM[x]; 
 cout<<"\n\nTotal de numeros multiplos de 6: "<<conta6; 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
5) Armazenar matrícula e notas das AV1, AV2 e AV3 de 15 alunos. Calcular e 
armazenar a média segundo critério da Estácio (as duas maiores notas 
precisam ser maiores do que 4,0 e a média tem que ser maior ou igual a 6,0). 
Exibir uma listagem contendo matricula, as duas notas, média e situação de 
cada aluno. 
#include <iostream> 
#define TAM 3 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for, das variaveis simples e dos vetores 
 int x, matric[TAM], sit[TAM]; 
 float AV1[TAM], AV2[TAM], AV3[TAM], med[TAM], maior1, maior2; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nMatricula do "<<x+1<<"o aluno: "; 
 cin>>matric[x]; 
 cout<<"\nNota da AV1 do "<<x+1<<"o aluno: "; 
 cin>>AV1[x]; 
 cout<<"\nNota da AV2 do "<<x+1<<"o aluno: "; 
 cin>>AV2[x]; 
 cout<<"\nNota da AV3 do "<<x+1<<"o aluno: "; 
 cin>>AV3[x]; 
 } 
 
 //calculo da media 
 for(x=0; x< TAM; x++) 
 { 
 if(AV1[x] < AV2[x] && AV1[x] < AV3[x] ) 
 { 
 maior1=AV2[x]; maior2=AV3[x]; 
 } 
 else if( AV2[x] < AV3[x] ) 
 { 
 maior1=AV1[x]; maior2=AV3[x]; 
 } 
 else 
 { 
 maior1=AV1[x]; maior2=AV2[x]; 
 
Lista 6 - gabarito 
 
 
 } 
 med[x]=(maior1 + maior2)/2; 
 //Quando voce, na AULA_10 aprender a ducao strcpy(), volte aqui e 
melhore esse trecho 
 if(maior1 >= 4 && maior2 >= 4 && med[x] >=6 ) 
 sit[x]=1; 
 else 
 sit[x]=0; 
 } 
 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nMatric.\tAV1\tAV2\tAV3\tMedia\tSituacao\n"; 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\n"<< 
matric[x]<<"\t"<<AV1[x]<<"\t"<<AV2[x]<<"\t"<<AV3[x]<<"\t"<<med[x]<
<"\t"; 
 if(sit[x] == 1) 
 cout<<"AP"; 
 else 
 cout<<"RP"; 
} 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
6) Armazenar matrícula e salário de 20 pessoas. Calcular o novo salário sabendo-
se que o reajuste foi de 8%. Exibir uma listagem numerada com matrículas e 
novos salários. 
#include <iostream> 
#define TAM 20 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e dos vetores 
 int x, matric[TAM]; 
 float sal[TAM], salNovo[TAM]; 
 
 //entrada e calculo do novo salario 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nMatricula do "<<x+1<<"o funcionario: "; 
 cin>>matric[x]; 
 cout<<"\nSalario atual do "<<x+1<<"o funcionario: "; 
 cin>>sal[x]; 
 salNovo[x]=sal[x] * 1.08; 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 
Lista 6 - gabarito 
 
 
 cout<< "\nMatric\tNovo salario\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<< x + 1 <<"-"<<matric[x]<<"\t"<<salNovo[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
7) Armazenar código, quantidade, valor de compra e valor de venda de 30 
produtos. A listagem pode ser de todos os produtos ou somente de um ao se 
digitar o código. 
#include <iostream> 
#define TAM 30 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for, outras variáveis simples e dos vetores 
 int x, codigo[TAM], qtdade[TAM], codigoProcura, achou, op, posicaoAchada; 
 float valorCompra[TAM], valorVenda[TAM]; 
 
 //entrada e 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nCodigo do "<<x+1<<"o produto: "; 
 cin>>codigo[x]; 
 cout<<"\nQuantidade do "<<x+1<<"o produto: "; 
 cin>>qtdade[x]; 
 cout<<"\nValor de compra do "<<x+1<<"o produto:"; 
 cin>>valorCompra[x]; 
 cout<<"\nValor de compra do "<<x+1<<"o produto: "; 
 cin>>valorVenda[x]; 
 } 
 
 //saida 
 do 
 { 
 system("cls"); //no Linux system("clear"); 
 cout<<"\nListagem\n"; 
 cout<<"\n1- Todos"; 
 cout<<"\n2- So um"; 
 cout<<"\n3- Sai"; 
 cout<<"\nOpcao: "; 
 cin>>op; 
 system("cls"); 
 switch(op) 
 { 
 case 1: 
 cout<< "\nCodigo\tQtdade\tCompra\tVenda\n"; 
 for(x=0; x< TAM; x++) 
 
cout<<"\n"<<codigo[x]<<"\t"<<qtdade[x]<<"\t"<<valorCompra[x]<<"\t"<<
valorVenda[x]; 
 
Lista 6 - gabarito 
 
 
 break; 
 
 case 2: 
 cout<< "\nDigite o codigo do produto: "; 
 cin>>codigoProcura; 
 achou=0; 
 for(x=0; x< TAM && achou == 0; x++) 
 if(codigoProcura == codigo[x]) 
 { 
 achou=1; 
 posicaoAchada=x; 
 } 
 
 if(achou == 1) 
 { 
 cout<< "\nCodigo\tQtdade\tCompra\tVenda\n"; 
 
cout<<"\n"<<codigo[posicaoAchada]<<"\t"<<qtdade[posicaoAchada]<<"\t"<
<valorCompra[posicaoAchada]<<"\t"<<valorVenda[posicaoAchada]; 
 } 
 else 
 cout<<"\nCodigo não encontrado"; 
 break; 
 
 case 3: 
 cout<<"\nGabarito\n"; 
 break; 
 
 default: cout<<"\nOpcao Invalida\n"; 
 } 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
 }while(op != 3); 
} 
 
8) Entrar com números inteiros em um vetor A [50]. Gerar e exibir o vetor B 
onde cada elemento é o quadrado do elemento, na respectiva posição, do 
vetor A. 
#include <iostream> 
#define TAM 50 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e dos vetores 
 int x; 
 float A[TAM], B[TAM]; 
 
 //entrada e geracao do vetor B 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero: "; 
 cin>>A[x]; 
 B[x]= A[x] * A[x]; //pode usar a funcao pow(,) 
 
Lista 6 - gabarito 
 
 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nVetor Quadrado\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<<B[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
9) Faça um programa que leia um vetor A de 10 valores e construa outro vetor B, 
da seguinte forma: 
Ex: Vetor A 3 8 4 2 5 
 Vetor B 9 4 12 1 15 
#include <iostream> 
#define TAM 10 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e dos vetores 
 int x; 
 float A[TAM], B[TAM]; 
 
 //entrada e geracao do vetor B 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero: "; 
 cin>>A[x]; 
 if( x % 2 == 0)//VERIFICA SE A POSICAO É PAR 
 B[x]= A[x] * 3; 
 else 
 B[x]= A[x] / 2; 
 } 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\n\nVetor A\t"; 
 for(x=0; x< TAM; x++) 
 cout<<A[x]<<"\t"; 
 cout<< "\n\nVetor B\t"; 
 for(x=0; x< TAM; x++) 
 cout<<B[x]<<"\t"; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
10) Faça um programa que leia dois vetores A e B, contendo, cada um, 25 
elementos inteiros. Intercale esses dois conjuntos( A[1] / B[1] / A[2] / B[2] 
/..), formando um vetor V de 50 elementos. Exiba o vetor V. 
 
Lista 6 - gabarito 
 
 
#include <iostream> 
#define TAM 25 
using namespace std; 
int main() 
{ 
 //declaração da variável do for, variável que indicará a posição de V e do 
vetor 
 int x, posV=0; 
 float A[TAM], B[TAM], V[TAM*2]; 
 
 //entrada e geracao do vetor V 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero "<< x+1<<" do vetor A: " ; 
 cin>>A[x]; 
 V[posV]=A[x]; 
 posV++; 
 cout<<"\nNumero "<< x+1<<" do vetor B: " ; 
 cin>>B[x]; 
 V[posV]=B[x]; 
 posV++; 
 } 
 
 //saida EXIBI TAMABÉM OS VETORES A e B PARA VOCES ENTENDEREM 
MELHOR 
 system("cls"); //no Linux system("clear"); 
 cout<< "\n\nVetA\t"; 
 for(x=0; x< TAM; x++) 
 cout<<A[x]<<"\t"; 
 cout<< "\n\nVetB\t"; 
 for(x=0; x< TAM; x++) 
 cout<<B[x]<<"\t"; 
 cout<< "\n\nVetV\t"; 
 for(x=0; x< TAM*2; x++) 
 cout<<V[x]<<"\t"; 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
11) Faça um programa para ler um conjunto de 100 números reais e informar: 
1. quantos números lidos são iguais a 30 
 2. quantos são maiores que a média 
 3. quantos são iguais a média 
#include <iostream> 
#define TAM 100 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for, contadores, acumuladores e do vetor 
 int x, conta30=0, contaMaiorMedia=0, contaIgualMedia=0;; 
 float A[TAM], soma, media; 
 
 //entrada 
 
Lista 6 - gabarito 
 
 
 soma=0; 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero "<< x+1<<" do vetor: " ; 
 cin>>A[x]; 
 soma += A[x]; 
 } 
 media=soma/TAM; 
 
 //saida e testes 
 system("cls"); //no Linux system("clear"); 
 cout<< "\n\nVetor\n"; 
 for(x=0; x< TAM; x++) 
 { 
 if(A[x]== 30) 
 conta30++; 
 if(A[x] > media) 
 contaMaiorMedia++; 
 else if(A[x] == media) 
 contaIgualMedia++; 
 cout<<A[x]<<"\n"; 
 } 
 cout<<"\n\nIguais a 30: "<<conta30; 
 cout<<"\n\nMaiores que a media: "<<contaMaiorMedia; 
 cout<<"\n\nIguais a media: "<<contaIgualMedia; 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
12) Faça um programa que leia um conjunto de 30 valores inteiros, armazene-os 
em um vetor e escreva-os ao contrário da ordem de leitura. 
#include <iostream> 
#define TAM 30 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e do vetor 
 int x; 
 float A[TAM]; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero: "; 
 cin>>A[x]; 
 } 
 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nExibindo na ordem inversa de leitura\n"; 
 for(x=TAM-1; x>=0; x--) 
 cout<<"\n"<<A[x]; 
 
Lista 6 - gabarito 
 
 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
13) Faça um programa que leia os elementos de um vetor com 6 posições.Em 
seguida, troque o primeiro elemento com o último, o segundo com o penúltimo, 
o terceiro com o antepenúltimo, e assim sucessivamente. Ao final, exiba os dois 
vetores. 
#include <iostream> 
#define TAM 6 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e do vetor 
 int x, tras; 
 float A[TAM], aux; 
 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero: "; 
 cin>>A[x]; 
 } 
 
 //Trocando 
 tras=TAM-1; 
 for(x=0; x< TAM/2; x++) 
 { 
 aux=A[x]; 
 A[x]=A[tras]; 
 A[tras]=aux; 
 tras--; 
 } 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nTrocando de posicao\n"; 
 for(x=0; x< TAM; x++) 
 cout<<"\n"<<A[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
14) No vestibular da Estácio, no curso de Sistemas de Informação, inscreveram-se 
12000 pessoas. Faça um programa que leia o gabarito da prova que tinha 100 
questões, sendo o valor de cada questão igual a 1 ponto. Para cada candidato, 
deverá ser lido o número de inscrição e as 100 respostas dele. O programa 
deverá exibir: o número de inscrição e a nota de cada candidato. Observação: 
Só é necessário guardar a soma dos pontos de cada candidato e o número de 
inscrição. 
 
 
Lista 6 - gabarito 
 
 
#include <iostream> 
#define TAM 1200 
#define GAB 100 
using namespace std; 
int main() 
{ 
 //declaração da variavel do for e do vetor 
 int x, y, conta, nInsc[TAM],candidatos[TAM]; 
 char gabarito[GAB], resp; 
 //entra com gabarito 
 for(y=0; y<GAB; y++) 
 { 
 cout<<"\ndigite gabaritoda "<<y+1<<"a questao (a/b/c/d/e): "; 
 cin>>gabarito[y]; 
 } 
 system("cls"); 
 //entrada 
 for(x=0; x< TAM; x++) 
 { 
 cout<<"\nNumero de inscricao: "; 
 cin>>nInsc[x]; 
 cin.get(); 
 conta=0; 
 for(y=0; y<GAB; y++) 
 { 
 cout<<"\ndigite resposta da "<<y+1<<"a questao (a/b/c/d/e): "; 
 cin>>resp; 
 if(resp == gabarito[y]) 
 conta++; 
 } 
 candidatos[x]=conta; 
 } 
 
 
 //saida 
 system("cls"); //no Linux system("clear"); 
 cout<< "\nNumInsc\tNotas dos candidatos\n"; 
 for(x=0; x<TAM; x++) 
 cout<<"\n"<<nInsc[x]<<"\t"<<candidatos[x]; 
 
 cout<<"\n\n"; 
 system("pause"); // so no windows 
} 
 
 
 
Lista 7 - imprima, atribuição,\leia, se ... então .. senão se, escolha, para 
ou enquanto ou faca...enquanto e matrizes bidimensionais. 
 
 
Orientações: 
1- Todos os exercícios têm pelo menos uma matriz bidimensional, 
2- O comanda de entrada está presente em todos os exercícios. 
3- Quando existir algum cálculo declare a variável e armazene o 
resultado da operação. 
4- A estrutura do for, ou a estrutura do while ou a estrutura do 
do...while, está presente em todos os exercícios. 
5 - Todos os exercícios terão comando de saída. 
6- Todas as soluções na linguagem C++. 
 
Linguagem C++ 
Solução do exercício 8 
 
 
1) Entrar com valores reais para uma matriz M[4] [5] . Gerar e exibir a matriz 
DOBRO. 
#include <iostream> 
using namespace std; 
int main() 
 
 
{ 
 int L, c; 
 float M[4][5], DOBRO[4][5]; 
 
 //entrada 
 for(L=0; L<4; L++) 
 { 
 for(c=0; c<5; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<": "; 
 cin>>M[L][c]; 
 //gera a matriz dobro . Poderia estar em outro for, mas assim eh melhor 
 DOBRO[L][c]= M[L][c] * 2; 
 } 
 } 
 
 //saida 
 cout<<"\n\nMatriz Dobro\n\n"; 
 for(L=0; L<4; L++) 
 { 
 for(c=0; c<5; c++) 
 { 
 cout<<DOBRO[L][c]<<"\t"; 
 } 
 cout<<"\n"; 
 } 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
2) Entrar com valores inteiros para uma matriz A[4] [4] e para uma matriz B[4] 
[4]. Gerar e exibir a matriz SOMA. 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L, c, A[4][4], B[4][4], SOMA[4][4]; 
 
 //entrada dos valores da Matriz A 
 for(L=0; L<4; L++) 
 { 
 for(c=0; c<4; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz A: "; 
 cin>>A[L][c]; 
 } 
 } 
 
 //entrada dos valores da Matriz B 
 for(L=0; L<4; L++) 
 { 
 for(c=0; c<4; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz B: "; 
 
 
 cin>>B[L][c]; 
 //gera a matriz SOMA . Poderia estar em outro for, mas assim eh melhor 
 SOMA[L][c]= A[L][c] + B[L][c]; 
 } 
 } 
 
 //saida 
 cout<<"\n\nMatriz SOMA\n\n"; 
 for(L=0; L<4; L++) 
 { 
 for(c=0; c<4; c++) 
 { 
 cout<<SOMA[L][c]<<"\t"; 
 } 
 cout<<"\n"; 
 } 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
3) Entrar com valores para duas matrizes 5 x 5. Gerar e exibir a matriz diferença. 
 
 #include <iostream> 
using namespace std; 
int main() 
{ 
 int L, c, A[5][5], B[5][5], diferenca[5][5]; 
 
 //entrada dos valores da Matriz A 
 for(L=0; L<5; L++) 
 { 
 for(c=0; c<5; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz A: "; 
 cin>>A[L][c]; 
 } 
 } 
 
 //entrada dos valores da Matriz B 
 for(L=0; L<5; L++) 
 { 
 for(c=0; c<5; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz B: "; 
 cin>>B[L][c]; 
 //gera a matriz diferenca . Poderia estar em outro for, mas assim eh melhor 
 diferenca[L][c]= A[L][c] + B[L][c]; 
 } 
 } 
 
 //saida 
 cout<<"\n\nMatriz Diferenca\n\n"; 
 for(L=0; L<5; L++) 
 { 
 for(c=0; c<5; c++) 
 
 
 { 
 cout<<diferenca[L][c]<<"\t"; 
 } 
 cout<<"\n"; 
 } 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
4) Ler valores inteiros para a matriz A[3][5] . Gerar e exibir a matriz 
SOMA_LINHA, onde cada elemento é a soma dos elementos de uma linha da 
matriz A. Faça o trecho que gera a matriz, separado dos trechos de entrada ou 
do trecho de saída. 
 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L, c, A[3][5], SOMA_LINHA[3]; 
 
 //entrada dos valores da Matriz A 
 for(L=0; L<3; L++) 
 { 
 SOMA_LINHA[L] = 0;//para não ter que criar outro for 
 for(c=0; c<5; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz A: "; 
 cin>>A[L][c]; 
 } 
 } 
 
 //gera a matriz SOMA_LINHA 
 for(L=0;L<3;L++) 
 for (c=0; c<5;c++) 
 SOMA_LINHA[L] += A[L][c]; 
 
 
 //saida 
 system("cls"); 
 cout<<"\n\nSoma Linha\n\n"; 
 for(L=0;L< 3;L++) 
 cout<<"\n"<<SOMA_LINHA[L]; 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
5) Ler valores inteiros para a matriz A[3][5]. Gerar e imprimir a matriz 
SOMA_COLUNA, onde cada elemento é a soma dos elementos de uma coluna da 
matriz A. Faça o trecho que gera a matriz, separado dos trechos de entrada ou 
do trecho de saída. 
 
#include <iostream> 
using namespace std; 
 
 
int main() 
{ 
 int L, c, A[3][5], SOMA_COLUNA[5]; 
 
 //entrada dos valores da Matriz A 
 for(L=0; L<3; L++) 
 { 
 for(c=0; c<5; c++) 
 { 
 cout<<"\nElemento linha "<<L+1<<" coluna "<<c+1<<" da matriz A: "; 
 cin>>A[L][c]; 
 } 
 } 
 
 //inicializa SOMA_COLUNA 
 for (c=0; c<5;c++) 
 SOMA_COLUNA[c] = 0; 
 
 //gera a matriz SOMA_COLUNA 
 for (c=0; c<5;c++) 
 for(L=0;L<3;L++) 
 SOMA_COLUNA[c] += A[L][c]; 
 
 //saida 
 system("cls"); 
 cout<<"\n\nSoma Coluna\n\n"; 
 for(c=0;c< 5;c++) 
 cout<<SOMA_COLUNA[c]<<"\t"; 
 cout<<"\n\n"; 
 system("pause"); 
} 
6) Fazer um programa leia valores para uma matriz M10 x 10 e escreva-a na ordem 
inversa que foi lida. 
 Se a matriz fosse M3 x 3 e tivesse estes elementos: 
 sua impressão seria: 
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
987
654
321
⎥
⎥
⎥
⎦
⎤
⎢
⎢
⎢
⎣
⎡
123
456
789
 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L,C; 
 float mat[10][10]; 
 //Entrada 
 for(L=0; L < 10; L++) 
 { 
 for(C=0; C < 10; C++) 
 { 
 cout<<"\n Linha "<<L+1<<" coluna "<<C+1<<": "; 
 cin>>mat[L][C]; 
 } 
 } 
 //Saida 
 
 
 system("cls");//system("clear"); LINUX 
 cout<<"\nMatriz Exibida na orem inversa de leitura\n"; 
 for(L=9; L >=0; L--) 
 { 
 for(C=9; C >=0 ; C--) 
 { 
 cout<<mat[L][C]<<"\t"; 
 } 
 cout<<"\n\n"; 
 } 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
7) Faça um programa que leia valores reais para uma matriz 5 x 5 e exiba todos 
os elementos exceto os elementos da diagonal principal. 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L,C; 
 float mat[5][5]; 
 //Entrada 
 for(L=0; L < 5; L++) 
 { 
 for(C=0; C < 5; C++) 
 { 
 cout<<"\n Linha "<<L+1<<" coluna "<<C+1<<": "; 
 cin>>mat[L][C]; 
 } 
 } 
 //Saida 
 system("cls");//system("clear"); LINUX 
 cout<<"\nTodos elementos menos os da DP\n"; 
 for(L=0; L < 5; L++) 
 { 
 for(C=0; C < 5; C++) 
 { 
 if(L != C) 
 cout<<mat[L][C]<<"\t"; 
 else cout<<"\t"; 
 } 
 cout<<"\n\n"; 
 } 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
8) Faça um programa que leia valores reais para uma matriz 4 x 4 e exiba os 
elementos que se encontram acima da diagonal principal e a soma deles. 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L,C; 
 
 
 float mat[4][4], soma=0; 
 //Entrada 
 for(L=0; L < 4; L++) 
 {for(C=0; C < 4; C++) 
 { 
 cout<<"\n Linha "<<L+1<<" coluna "<<C+1<<": "; 
 cin>>mat[L][C]; 
 } 
 } 
 //Saida 
 system("cls");//system("clear"); LINUX 
 cout<<"\nTodos elementos acima da DP\n"; 
 for(L=0; L < 4; L++) 
 { 
 for(C=0; C < 4; C++) 
 { 
 if(L < C) 
 { 
 soma += mat[L][C]; 
 cout<<mat[L][C]<<"\t"; 
 } 
 else cout<<"\t"; 
 } 
 cout<<"\n\n"; 
 } 
 cout<<"\nSoma dos elementos: "<<soma<<"\n"; 
 system("pause"); 
} 
 
9) Faça um programa que leia os elementos de uma matriz 6 x 6 e exiba os 
elementos que se encontram acima da diagonal principal e o produto deles. 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L,C; 
 float mat[6][6], produto=1; 
 //Entrada 
 for(L=0; L < 6; L++) 
 { 
 for(C=0; C < 6; C++) 
 { 
 cout<<"\n Linha "<<L+1<<" coluna "<<C+1<<": "; 
 cin>>mat[L][C]; 
 } 
 } 
 //Saida 
 system("cls");//system("clear"); LINUX 
 cout<<"\nTodos elementos acima da DP\n"; 
 for(L=0; L < 6; L++) 
 { 
 for(C=0; C < 6; C++) 
 { 
 if(L < C) 
 
 
 { 
 produto *= mat[L][C]; 
 cout<<mat[L][C]<<"\t"; 
 } 
 else cout<<"\t"; 
 } 
 cout<<"\n\n"; 
 } 
 cout<<"\nProduto dos elementos: "<<produto<<"\n"; 
 system("pause"); 
} 
 
9) Faça um programa que leia valores inteiros para uma matriz M inteira 4x4 e 
exiba os elementos que estão em linhas pares e colunas ímpares. 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int L,C, mat[4][4]; 
 //Entrada 
 for(L=0; L < 4; L++) 
 { 
 for(C=0; C < 4; C++) 
 { 
 cout<<"\n Linha "<<L+1<<" coluna "<<C+1<<": "; 
 cin>>mat[L][C]; 
 } 
 } 
 //Saida 
 system("cls");//system("clear"); LINUX 
 cout<<"\nElementos em linhas pares e colunas impares\n"; 
 for(L=0; L < 4; L++) 
 { 
 for(C=0; C < 4; C++) 
 { 
 if(L % 2 ==1 && C % 2 == 0) 
 { 
 cout<<mat[L][C]<<"\t"; 
 } 
 else cout<<"\t"; 
 } 
 cout<<"\n\n"; 
 } 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
10) Num torneio de futsal, de um turno, inscreveram-se 12 times. Armazenar os 
nomes dos times e exibir a tabela de jogos. 
Solução_1 
#include <iostream> 
#define TAM 3 
using namespace std; 
int main() 
 
 
{ 
 int L, c; 
 char times[TAM][21]; 
 
 //entrada dos nomes dos times 
 for(L=0; L<TAM; L++) 
 { 
 cout<<"\nNome do "<<L+1<<"o time: "; 
 cin.getline(times[L], 31); 
 } 
 // saida 
 system("cls"); //nao eh obrigatorio 
 cout<<"\n\nTabela de Jogos \n\n"; 
 for(L=0; L<TAM; L++) 
 for(c=0; c<TAM; c++) 
 if(L < c) // pode ser if(L > c) tambem 
 cout<<"\n"<<times[L]<<" x "<<times[c]; 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
Solução_2 
#include <iostream> 
#define TAM 3 
using namespace std; 
int main() 
{ 
 int L, c; 
 char times[TAM][21]; 
 
 //entrada dos nomes dos times 
 for(L=0; L<TAM; L++) 
 { 
 cout<<"\nNome do "<<L+1<<"o time: "; 
 cin.getline(times[L], 31); 
 } 
 // saida 
 system("cls"); //nao eh obrigatorio 
 cout<<"\n\nTabela de Jogos \n\n"; 
 for(L=0; L<TAM-1; L++) 
 for(c=L+1; c<TAM; c++) 
 cout<<"\n"<<times[L]<<" x "<<times[c]; 
 
 cout<<"\n\n"; 
 system("pause"); 
} 
 
 
 
 
 
 
COMO RESOLVER UM PROBLEMA 
 
A forma como se resolve um problema é muito pessoal, mas nada nos impede 
que sigamos alguns conselhos como, por exemplo, os do matemático húngaro 
George Pólya, que nasceu em 1887 e faleceu em 1995. Seus trabalhos 
contribuíram de forma significativa para a Matemática atual e incluíram séries, 
análise combinatória, probabilidades, entre outros. Ele escreveu alguns livros 
e, em um dos seus livros, ensinou como resolver problemas, em quatro fases, 
independentes de serem matemáticos ou não. Apresentamos abaixo as quatro 
fases sugeridas por ele. 
 
1. Compreenda o problema 
• Identifique os dados. 
• Identifique a incógnita. 
• Identifique a condição. 
• Verifique se possível satisfazer a condição com os dados fornecidos. 
 
2. Planeje 
• Tente encontrar uma relação entre os dados e a incógnita. 
• Procure achar alguma semelhança entre esse problema e outro que já 
resolveu. 
• Releia o problema se não tiver conseguido encontrar as etapas 
necessárias para resolvê-lo. 
• Quando tiver conseguido, escreva as etapas sem ser prolixo e 
impreciso. 
 
3. Execute o plano 
• Acompanhe todas as etapas. 
• Verifique se conseguiu atingir o objetivo. 
 
 
 
 
 
 
4. Reflita sobre a solução 
• Consegue justificar todas as etapas? 
• Consegue visualizar outra solução? 
• Consegue ver uma outra aplicação para a solução encontrada? 
 
 
 
ETAPAS PARA A SOLUÇÃO DO PROBLEMA 
 
 
Vamos exercitar mais. 
 
 
Tendo em vista o critério da Estácio/2010 para cálculo da média de cada 
disciplina, construa um algoritmo para calcular a média. 
 
 
 
Primeiro 
momento 
 
a) Dados serão digitados no teclado (origem), totalizando três 
dados numéricos: um para a AV1, outro para AV2 e outro para 
AV3. 
 
b) O algoritmo deverá ignorar a menor nota e calcular a média 
aritmética das duas maiores notas, resultando em uma 
informação numérica. 
 
c) O algoritmo deverá exibir a média. 
 
 
 
Segundo 
momento 
 
a) Três operações de entrada de dados: uma para cada nota. 
 
b) Uma operação de teste para ignorar a menor nota. 
 b.1) Uma operação de processamento para calcular média 
aritmética das duas maiores notas. 
 
c) Uma operação de saída para exibir o novo valor da 
prestação. 
 
 
 
 
Terceiro 
momento 
 
 
 
 
 
Quarto 
momento 
 
a) A solução foi satisfatória. 
 
b) A solução poderá servir como parte de outros problemas 
alterando pouca coisa. 
 
 
 
 
Podemos constatar, após a análise desses quatro momentos, que o ato de 
programar requer conhecimento, disciplina, rigor na análise e resolução de 
problemas, criatividade, raciocínio lógico, sensibilidade para entender os 
desejos do outro, desenvolvimento da capacidade de abstração e de uma 
harmonia pessoal para que possa, muitas vezes, tornar real o objeto imaginado 
por ele ou outrem. Temos que admitir que programar não é algo simples visto 
que envolve muitas capacidades e habilidades que estão presentes em pelo 
menos cinco formas de expressar nossa inteligência segundo a teoria de 
Howard Gardner sobre as múltiplas inteligências. 
 
 
 
2 Formalizando alguns conceitos 
 
 Linguagem Natural 
Nesse tipo de linguagem, a legibilidade e a eficiência do algoritmo 
dependerão da forma como você se expressa em português. 
 
 Fluxograma (Diagrama de Blocos) 
Como toda linguagem, essa tem suas vantagens e desvantagens. É de fácil 
entendimento e universal, mas qualquer modificação implica reconstruir todo 
o fluxo e também, para algoritmos muito extensos, serão necessárias várias 
páginas para escrevê-los. 
 
 Pseudolinguagem 
A pseudolinguagem é uma linguagem de programação simplificada embora 
tenha sua sintaxe (como algo é expresso) e sua semântica (o significado de 
algo) 
 
Quando elas surgiram, tinham como objetivo facilitar o entendimento do 
algoritmo, usando a língua nativa. Não se preocuparam em criar um tradutor 
e, por essa razão não existia uma rigidez quanto à semântica. 
 
Com o passar dos anos, foram sendo criados tradutores e, em verdade, 
deixaram de ser uma pseudolinguagem, mas isso não chega a ser um 
prejuízo porque é mais fácil começar com uma linguagem escrita em 
português do que em inglês. 
 
Por que a linguagem UAL e não o Portugol? 
Sabemos que a maioria dos autores faz uso da “pseudolinguagem” Portugol, 
mas, como foi explicado no filme, temos duas grandes razões para usar a 
linguagem UAL: é o resultado de um projeto final de duas alunas da nossa 
universidade e existe um ambiente em que você poderá usá-lo para digitar 
seus algoritmos e testá-los.

Outros materiais