Buscar

Algoritimos - Aula 04

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

28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=S… 1/13
Algoritmos
Aula 4 - Conhecendo alguns elementos de C++
INTRODUÇÃO
Esta aula vai mostrar os operadores aritméticos e os tipos de dados que podemos usar. Você também vai entender
como funcionam a entrada e a saída em C++.
Aproveite a aula e preste atenção aos exemplos!
OBJETIVOS
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=S… 2/13
Aplicar os conhecimentos adquiridos para elaborar uma declaração de variáveis, utilizar os comandos de entrada e
saída, construir uma tabela verdade com operações and e or e montar operações envolvendo expressões aritméticas,
lógicas e relacionais na linguagem C++.
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=S… 3/13
TIPOS PRIMITIVOS
Vamos começar a nossa aula com um assunto presente em todas as linguagens de programação: os tipos primitivos.
O que é isso?
Vamos responder com um exemplo. 
Imagine que você está navegando na internet e chega a um cadastro como este ao lado.
Observe que você tem de preencher campos como: nome, data de nascimento, e-mail, sexo, telefone, identidade, entre
outros.
Fonte:
Cada cadastro que você encontrar como exemplo na internet possui campos iguais ou semelhantes a esse.
CAMPO “SEXO”
Quais são os possíveis valores que ele pode assumir de acordo com o formulário?
Masculino ou feminino, correto?
E provavelmente, no banco de dados, dentro do sistema, ele �cará armazenado como “m” ou “f”. Ou seja, na de�nição
desse formulário, haverá uma variável chamada sexo, a qual poderá guardar apenas dois valores: “m” ou “f”.
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=S… 4/13
São caracteres! Logo, a variável sexo não poderá receber valores como “1”, “verdadeiro”, “3.14159266” etc. Somente
poderá receber caracteres.
Clique aqui (glossário) para acessar algumas dúvidas frequentes sobre o assunto.
SERÁ QUE EXISTE EM C++ UM TIPO PARA SOMENTE CARACTERES?
No exemplo do formulário, por se tratar de uma �cha de inscrição para o Vestibular, não temos campo como altura ou
peso, que também são números, mas podem ter valores decimais. Para este caso, usamos o já conhecido �oat.
Em C++, temos os seguintes tipos básicos de variáveis:
Temos algumas variações desses tipos, que usam os seguintes modi�cadores de tipos:
Clique aqui (glossário) para entender o domínio estendido e as precisões de cada tipo em C++
DECLARAÇÃO E INICIALIZAÇÃO DE VARIÁVEIS
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=S… 5/13
Em C++, é obrigatório que toda variável usada no programa seja declarada. A declaração reserva o espaço em memória
necessário para a alocação do conteúdo que receberá. A sintaxe da declaração de variáveis em C++ é:
Atenção
, Existem algumas regras para a escolha dos nomes de variáveis em C++:
Nomes de variáveis só podem conter letras, números e o caractere “_”;
Não podem começar com um número;
Embora seja possível ter uma variável com o nome “_var” (começando com “_”), estes são reservados para a implementação
interna do programa, e seu uso é bem restrito e desaconselhado. O compilador não vai mostrar erro quando criamos variáveis
desse jeito, mas o programa criado se comportará de forma inesperada;
Não é possível utilizar palavras reservadas da linguagem C++. Vamos listar as palavras reservadas em seguida;
Também não é possível criar uma variável que tenha o mesmo nome de uma função, mesmo que essa função tenha sido criada
pelo programador ou que seja uma função de biblioteca;
Não há limite para o tamanho de nome de variável em C++;Quando criarmos constantes, estas devem ser escritas com todas as
letras em maiúsculas.
Portanto, as declarações de variáveis a seguir são válidas: int a;char a, b, c;unsigned int x1, x2, media;char _a;
, LENDO E ESCREVENDO EM C++
Já vimos rapidamente como é o comando de saída de dados em C++, certo? Agora, vamos tratar um pouco mais profundamente
deste assunto.
É muito importante criar formas de orientar o usuário com relação ao que o programa necessita para poder funcionar
adequadamente. Ou seja, é importante mostrar mensagens na tela e receber informações do usuário de maneira e�ciente.
Em C++, o comando que exibe uma mensagem na tela, ou seja, que faz a saída de dados, é o cout. Para esse comando funcionar,
vimos que é necessário inserir duas linhas no início dos nossos programas:
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=S… 6/13
(glossário)
VÍDEO
O código do programa mostrado no vídeo é:
include 
#include 
using namespace std;
int main(void){
string nome;
cout<<"Qual eh o seu nome?"<cin>>nome;
cout<<"Oi "<return 0;
}
Saiba mais
, Vimos que o vídeo mostra o resultado do valor lido na variável nome. Perceba que no código estamos usando duas diretivas para
o compilador (nas linhas 1 e 2). Uma carrega a biblioteca para os comandos cin e cout, e a outra carrega a biblioteca para o tipo
string.
No vídeo, o valor que é armazenado na variável nome é exibido juntamente com a string “Oi _____, tudo bem com você?”.
Bem, por enquanto é isso sobre entrada e saída. Simples, né?
O cin e cout são bem e�cientes e você vai notar que eles são bastante usados em C++ e aparecem na maioria das referências que
vamos encontrar sobre a linguagem.
É claro que a linguagem oferece outros comandos para escrever e ler informações, mas o cin e cout já dão conta muito bem do
recado.
OPERADORES ARITMÉTICOS EM C++
Toda linguagem de programação possui capacidade para fazer contas aritméticas, e com o C++ não é diferente. Na
programação de computadores, é possível fazer vários tipos de operações, além das aritméticas. É preciso conhecer o
que são operações lógicas, relacionais e outros detalhes para poder construir programas.
Temos os seguintes operadores aritméticos em C++. 
Com eles, podemos fazer as contas mais comuns:
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=S… 7/13
FUNÇÕES DO C++
Certo, já vimos que existem operadores na linguagem.
Mas o que acontece quando precisamos de
operações um pouco mais complexas como o
cálculo de senos, cossenos, raiz quadrada?
Fazer isto em C++?
Assim como outras linguagens de programação, o C++ possui funções que auxiliam o programador em algumas
tarefas. Da mesma forma que usamos bibliotecas para as strings e para o cin e cout, podemos usar outras bibliotecas
para as funções matemáticas.
Uma destas bibliotecas é a cmath. Com ela, podemos calcular a raiz quadrada, por exemplo. 
Observe este programa:
SQRT é a forma mnemônica de square root em inglês. Vamos estudar as funções em C++ algumas aulas mais à frente.
Novamente você pode perguntar:
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=S… 8/13
“Como eu vou saber em qual biblioteca tem o
que eu preciso?”.
Lembra-se da resposta?
A resposta é “estude a API”. Não tem jeito; é muito importante estudar a API da linguagem que você está aprendendo.
OPERADORES LÓGICOS
Como já dissemos, na programação existem operações que não são só aritméticas. Em muitos e muitos casos,
precisamos criar situações de comparaçãoentre valores, e essa comparação faz parte de um tipo de operação
chamada de operação lógica.
Esse tipo de operação faz parte de uma lógica chamada proposicional e foi muito estudada por um matemático
chamado George Boole. Assim, também ganhou o nome de “álgebra booleana”.
Essa álgebra trabalha principalmente com valores booleanos ou lógicos, e basicamente nesta lógica só existem dois
valores: verdadeiro (true) ou falso (false).
Tudo que conhecemos na computação atual é baseada nessa álgebra. Ela possui propriedades, teoremas e um monte
de coisas que excedem o nosso contexto. Mas saiba que ela é muito importante na computação atual.
Aliás, quando trabalhamos com a aritmética binária, de certa forma, também estamos trabalhando com a álgebra de
Boole, e neste caso normalmente usamos 0 para valores falsos e 1 para verdadeiros.
Na álgebra de Boole, temos basicamente três operadores:
Na álgebra booleana, usamos um recurso chamado de tabela verdade para mostrar os valores possíveis que as
variáveis lógicas podem assumir.
A tabela verdade mostra todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas que são
encontradas em somente duas situações e um conjunto de operadores lógicos. 
Nas tabelas verdade a seguir, A e B são proposições.
Os operadores lógicos “e” e “ou” em C++ são representados pelos símbolos “&&” e “||” respectivamente.
Veja suas tabelas verdades:
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=S… 9/13
Guarde essas informações, pois vamos fazer um exemplo mais completo adiante.
Saiba mais
, Duas dicas que pode te ajudar nas operações envolvendo condições lógicas:
Em uma expressão envolvendo o operador E (&&), a expressão só será verdadeira se todas as partes da expressão forem
verdadeiras. Se contiver uma só que seja falsa, toda a expressão será falsa;
Em uma expressão envolvendo o operador OU (||), a expressão só será falsa se todas as partes da expressão forem falsas. Se
contiver uma só que seja verdadeira, toda a expressão será verdadeira.
OPERADORES RELACIONAIS
Os operadores relacionais são usados para fazer comparações entre dois operandos do mesmo tipo primitivo. Esses
valores são representados por constantes, variáveis ou expressões aritméticas.
Vejamos um exemplo.
Considere:
a = 1;
b = 2;
c = verdadeiro;
Se fôssemos fazer essas declarações em C++, teríamos: 
int a = 1;
int b = 2;
bool c = true;
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=… 10/13
bool é um tipo em C++ e pode assumir os
valores booleanos true ou false.
Vamos praticar um pouco com uma atividade. Preste atenção e veja algumas situações envolvendo expressões
relacionais.
Usando os operadores que vimos nesta aula, observe:
a) a > b
a é maior que b? ( ) Sim / ( ) Não
b) b >= a
b é maior ou igual a a? ( ) Sim / ( ) Não
c) a == b
o valor de a é igual ao valor de b? ( ) Sim / ( ) Não
Resposta Correta
Saiba mais
, Observe que quando estamos comparando a igualdade de dois valores, usamos 2 sinais de igual (==).
Clique aqui (galeria/aula4/docs/a04_t09.pdf) para ler comentários ainda sobre a atividade.
OPERADORES RELACIONAIS
Não se preocupe. A partir das próximas aulas, vamos começar a estudar os comandos de controle de �uxo, e estas
condições booleanas sempre aparecerão nos programas e �carão mais claras para você.
Até a próxima aula!
ATIVIDADE
Vamos ver se você está craque! Você consegue simpli�car estas expressões? A primeira delas já está feita:
!(a==b) é equivalente a (a!=b)
!(a!=b) é equivalente a:_________________
!(a>b) é equivalente a:_________________
!(a<b) é equivalente a:_________________
!(a>=b) é equivalente a:_________________
!(a<=b) é equivalente a:_________________
Resposta Correta
Assinale a alternativa correta:
Em C++, quando usamos = é para atribuição, e == é para comparação.
O símbolo para o operador “diferente” em C++ é <>.
Para armazenar strings em uma variável, usamos o tipo char.
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=… 11/13
Para armazenar valores booleanos, usamos o tipo boolean.
O cin e cout são comandos nativos da linguagem C++.
Justi�cativa
Veri�que as a�rmações abaixo:
I - Em C++, nem todos os recursos de que precisamos estão na linguagem nativa. É necessário incluir algumas
bibliotecas quando necessário.
II - Em C++, existem quatro tipos de dados nativos: int, �oat, double e char.
III - cout>>”Oi gente!”; é uma linha correta em C++.
Qual é a alternativa verdadeira?
Somente a i está correta
Somente a ii está correta
Somente a iii está correta
Nenhuma está correta
Todas estão corretas
Justi�cativa
Observe o seguinte programa em C++:
#include 
int main(void) {
string nome;
int idade;
std::cin >> nome >> idade;
std::cout << "\n\nNome " << nome << std::endl; 
std::cout << "Idade " << idade << std::endl;
return 0;
}
O programa está correto
O erro está no uso do std::endl;
O erro está no uso geral do std
O erro está na linha 5
O erro está na falta de uma biblioteca
Justi�cativa
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=… 12/13
Coloque true ou false em cada uma das operações abaixo:
6<=7
3+5<=2*4
“oi” == “OI”
(64)^(1/2) > (5)*2
Observação: Quando usamos o “^” estamos nos referindo à exponenciação, ou seja, 3^2 =9.
False, false, false, false
False, true, true, true
True, true, false, false
True, true, true, false
True, false, true, false
Justi�cativa
Idem ao exercício anterior:
“mario” == “maria” 
2 + 4 = 6
10 - 4 > 7
(2*3)>(3*2)
!('a' == 'A')
false, false, true, true, true
false, true, false, false, false
false, false, false, false, false
true, false, true, false, false
true, true, false, false, false
Justi�cativa
28/08/2019 Disciplina Portal
estacio.webaula.com.br/Classroom/index.html?id=2642009&courseId=13042&classId=1185233&topicId=0&enableForum=S&enableMessage=… 13/13
Glossário

Outros materiais