Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Programação de Computadores Introdução a C++ Alan de Freitas Bem-vindo Prova 1 - 5 pontos Prova 2 - 5 pontos Exercícios em sala/Práticas/Correções livro - 1 ponto extra Substitutivas apenas com notas > 4.0 ou ausentes Atendimento Quarta-feita 15h-18h Sexta-feira 15h-18h Sala DECOM Para marcar horários: rafael.amgomes@gmail.com Ao fim do curso... • Você será capaz de: • Criar seus programas em C++ • Analisar e comparar diferentes algoritmos para um mesmo problema • Utilizar os principais algoritmos para as tarefas mais comuns em programação • Aplicar as estruturas de dados mais importantes em seus projetos • Modularizar problemas com funções e objetos Plano de Aulas Semana Parte Tópico 1 Introdução a C++ Porque programar em C++ 2 Programas sequenciais e operadores 3 Estruturas condicionais 4 Arranjos 5 Estruturas de repetição 6 Estruturas de repetição e arranjos 7 Escopo de variáveis e ponteiros 8 Funções, passagem de parâmetros e recursão 9 Estruturas e processamento de arquivos 10 Prova 1 11 Análise de Algoritmos Comparação de Algoritmos e Busca em Arranjos 12 Métodos simples de ordenação 13 Métodos eficientes de ordenação 14 Estruturas de dados fundamentais Templates e Containeres Sequenciais 15 Containeres Associativos e Conjuntos 16 Adaptadores de Containeres e Algoritmos da STL 17 Tópicos especiais Introdução à Programação Orientada a Objetos 18 Tópicos especiais de programação 19 Prova 2 Por que programar? • Utilizar computadores é claramente uma vantagem em nossas vidas... • Nos ajuda a comunicar • Nos ajuda a fazer planos • Nos permite trabalhar menos • Nos provê diversão • Mas por que fazer nossos próprios programas? • É tudo questão de automatizar coisas Sempre escolherei pessoas preguiçosas para realizar trabalhos difíceis, pois os mesmos buscam os caminhos mais fáceis para fazê-lo. Quantas tarefas repetitivas temos em nossas vidas? Na profissão? Na família? Programadores costumam ter ferramentas próprias para o dia a dia. Calendários, lembretes, processadores de dados... Programação é muito necessária em tarefas avançadas de todas as áreas do conhecimento humano. Agricultura Música Engenharia Medicina Biologia Matemática Física Estatística Economia Contabilidade Cinema Entretenimento Arquitetura Nutrição Direito Política Jornalismo Linguística Política Manufaturas Comunicação Para fazer cálculos • Saber por que um computador falha Programadores usualmente reconhecem o motivo de erros em programas. Isso, porque já passaram pelos mesmos erros em seus próprios programas. • Te ajuda a pensar e quebrar problemas em partes muito pequenas. • O único limite no seu programa é sua imaginação. • Uma idéia simples pode mudar a vida de milhões de pessoas. C++ • Desenvolvido por Bjarne Stroustrup [ˈbjɑːnә ˈsdʁʌʊ̯ˀsdʁɔb] do Bell Labs, durante a década de 1980. • Como o Unix era escrito em C, dever- se-ia manter a compatibilidade. • Em 1983 o nome da linguagem foi alterado de “C with Classes” para C++ • A linguagem contém uma biblioteca padrão de recursos que também sofreu melhorias ao longo do tempo. Características • Considerada de médio nível • Uma das linguagens comerciais mais populares • Alto desempenho • Adicional à linguagem C • Novas características foram adicionadas com o tempo O que você aprenderá neste curso • Programação estruturada em C++ • Análise de algoritmos • Algoritmos de busca e ordenação • Estruturas de dados • Orientação a objetos C++ Java Javascript Python PHP iOS/Swift var square = 0 var diceRoll = 0 while square < finalSquare { // roll the dice if ++diceRoll == 7 { diceRoll = 1 } // move by the rolled amount square += diceRoll if square < board.count { square += board[square] } } print("Game over!”) for var index = 0; index < 3; ++index { print("index is \(index)") } Compilação Como conversar? Como faremos para conversar com computadores se falamos línguas tão diferentes? Compilador O compilador é a ferramenta que nos serve como uma ponte para fazer esta comunicação. Compilador Código em linguagem de programação Primeiramente escreveremos nossa mensagem para o computador em uma linguagem de programação de nossa preferência. Compilador Compilador recebe o código Compilador Código transformado em linguagem de máquina CompiladorComputador recebe os comandos em linguagem de máquina Tipos de dados e seus tamanhos 0100110101 Tipos de dados e seus tamanhos 0100110101 a? 4? F? 3.5? ????? Tipos de dados e seus tamanhos Tipo lógico bool V ou F Números inteiros short < int < long ... -3, -2, -1, 0, 1, 2, 3... Números reais float < double 3.32, 4.78, 7.24, -3.14, 0.01 Caracteres char a, b, c, d, e, f … #, $, [, ., \ … Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. Este comando inclui a biblioteca com recursos para fluxo de entrada e saída (in/out stream). As entradas serão feitas pelo teclado. As saídas feitas pelo monitor. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. Aqui começa a função principal (main) de nosso programa. As chaves { e } indicam onde começa e termina a função. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. Dizemos que cout é um objeto que faz saída de dados para o monitor. Os dados são enviados para ele em cadeia com os comandos << que estão a sua direita. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. Para evitar conflito entre nomes, recursos são divididos em espaços de nomes. O cout é precedido de std e :: para indicar que ele pertence ao espaço de nomes padrão (standard) da linguagem. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. O comando << é então utilizado para enviar a frase “Olá, Mundo!” para cout. Cada letra desta frase é um dado do tipo char. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. As aspas ao redor da expressão “Olá, Mundo!” indicam que é um conjunto de chars e não uma palavra reservada da linguagem. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. Além da frase, uma quebra de linha após a frase é enviada para cout. A quebra de linha é representada com o comando endl, que também pertence a std. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. Todos os comandos em C++ devem ser acompanhados de um ponto e vírgula indicando que ali termina aquele comando. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. O comando return indica que a função retorna dali encerrando o programa. Ela não só retorna, mas retorna um valor do tipo int. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. O int antes da definição main() indica que a função main() vai retornar um int. Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. A função main é obrigatória em todos os programas! Primeiro Programa em C++ #include <iostream> int main() { std::cout << "Olá, Mundo!" << std::endl; return 0; }. Olá, Mundo! Este é o resultado do programa: Segundo Programa em C++ #include <iostream> using namespace std; int main() { cout << "Olá, Mundo!" << endl; return 0; }. Segundo Programa em C++ #include <iostream> using namespace std; int main() { cout << "Olá, Mundo!" << endl; return 0; }. Indicamos agora que o espaço de nomes (namespace) std deve ser utilizado por se nenhum espaço for mencionado. Eliminamos assim os vários std:: em nosso código. Segundo Programa em C++ #include <iostream> using namespace std; int main() { cout << "Olá, Mundo!" << endl; return 0; }. As variáveis em C++ são organizadas em espaços de nomes para evitar conflito entre duas variáveis que tenham o mesmo identificador. Segundo Programa em C++ #include <iostream> using namespace std; int main() { cout << "Olá, Mundo!" << endl; return 0; }. Olá, Mundo! Comentários ??? Algumas vezes, um código pode se tornar tão complexo nem mesmo um outro programador consiga entender. Neste caso, seria bom deixar comentários para outros programadores. Comentários • Comentários são partes do código que são ignoradas pelo compilador • Servem para deixar lembretes ou informações sobre o código para outros programadores • O comando // marca o início de um comentário de uma linha • Os comandos /* e */ são utilizados para iniciar e encerrar um bloco de comentários #include <iostream> using namespace std; int main() { cout << "Olá, Mundo!" << endl; // Tudo isto é ignorado // cout << "Olá, Mundo!" << endl; cout << "Olá! Mais uma vez!" << endl; /* Aqui se inicia um bloco de comentários. Tudo dentro do bloco é ignorado. */ return 0; }. #include <iostream> using namespace std; int main() { cout << "Olá, Mundo!" << endl; // Tudo isto é ignorado // cout << "Olá, Mundo!" << endl; cout << "Olá! Mais uma vez!" << endl; /* Aqui se inicia um bloco de comentários. Tudo dentro do bloco é ignorado. */ return 0; }. Olá, Mundo! #include <iostream> using namespace std; int main() { cout << "Olá, Mundo!" << endl; // Tudo isto é ignorado // cout << "Olá, Mundo!" << endl; cout << "Olá! Mais uma vez!" << endl; /* Aqui se inicia um bloco de comentários. Tudo dentro do bloco é ignorado. */ return 0; }. Olá, Mundo! Olá! Mais uma vez! Esta linha inteira é ignorada #include <iostream> using namespace std; int main() { cout << "Olá, Mundo!" << endl; // Tudo isto é ignorado // cout << "Olá, Mundo!" << endl; cout << "Olá! Mais uma vez!" << endl; /* Aqui se inicia um bloco de comentários. Tudo dentro do bloco é ignorado. */ return 0; }. Olá, Mundo! Olá! Mais uma vez! Criando variáveis • Os dados de nosso programa serão guardados em variáveis • É necessário informar qual o tipo de dado de cada variável • Damos para cada variável um nome identificador que a referencia variável 4 5.7 c false 7.2 a true 20 #include <iostream> using namespace std; int main() { int numero; // criando uma variável do tipo int com nome x char letra; // criando uma variável do tipo char com nome letra double num_real; // criando uma variável do tipo double com nome num_real bool teste; // criando uma variável do tipo bool com nome teste cout << "Este programa criou 4 variáveis!" << endl; return 0; }. #include <iostream> using namespace std; int main() { int numero; // criando uma variável do tipo int com nome x char letra; // criando uma variável do tipo char com nome letra double num_real; // criando uma variável do tipo double com nome num_real bool teste; // criando uma variável do tipo bool com nome teste cout << "Este programa criou 4 variáveis!" << endl; return 0; }. numero #include <iostream> using namespace std; int main() { int numero; // criando uma variável do tipo int com nome x char letra; // criando uma variável do tipo char com nome letra double num_real; // criando uma variável do tipo double com nome num_real bool teste; // criando uma variável do tipo bool com nome teste cout << "Este programa criou 4 variáveis!" << endl; return 0; }. numero Repare que a variável numero é escrita sem acentos #include <iostream> using namespace std; int main() { int numero; // criando uma variável do tipo int com nome x char letra; // criando uma variável do tipo char com nome letra double num_real; // criando uma variável do tipo double com nome num_real bool teste; // criando uma variável do tipo bool com nome teste cout << "Este programa criou 4 variáveis!" << endl; return 0; }. numero letra #include <iostream> using namespace std; int main() { int numero; // criando uma variável do tipo int com nome x char letra; // criando uma variável do tipo char com nome letra double num_real; // criando uma variável do tipo double com nome num_real bool teste; // criando uma variável do tipo bool com nome teste cout << "Este programa criou 4 variáveis!" << endl; return 0; }. numero letra num_real #include <iostream> using namespace std; int main() { int numero; // criando uma variável do tipo int com nome x char letra; // criando uma variável do tipo char com nome letra double num_real; // criando uma variável do tipo double com nome num_real bool teste; // criando uma variável do tipo bool com nome teste cout << "Este programa criou 4 variáveis!" << endl; return 0; }. numero letra num_real teste #include <iostream> using namespace std; int main() { int numero; // criando uma variável do tipo int com nome x char letra; // criando uma variável do tipo char com nome letra double num_real; // criando uma variável do tipo double com nome num_real bool teste; // criando uma variável do tipo bool com nome teste cout << "Este programa criou 4 variáveis!" << endl; return 0; }. numero Este programa criou 4 variáveis! letra num_real teste Identificadores • Nome que damos a uma variável ou função (estudaremos mais adiante). • O primeiro caractere deve ser letra ou um sinal de sublinha _ 1peso ou @email estão errados. • É sensível a maiúsculas: x é diferente de X Operadores • Operadores são muito importantes em programação pois eles alteram o valor de variáveis ou usam variáveis existentes para criar novas variáveis variável1 variável1 variável2 variável1 variável3 Operador de atribuição • Operador = • Não confundir com o sinal de igualdade • O operador = não diz que dois valores são iguais • O operador = atribui o valor à direita à variável à esquerda • Dá um valor a uma variável • O valor da variável pode ser utilizado posteriormente • O valor antigo da variável é perdido #include <iostream> using namespace std; int main() { int numero; numero = 4; cout << "A variável numero do tipo int tem valor " << numero << endl; return 0; }. #include <iostream> using namespace std; int main() { int numero; numero = 4; cout << "A variável numero do tipo int tem valor " << numero << endl; return 0; }. numero Variável é criada #include <iostream> using namespace std; int main() { int numero; numero = 4; cout << "A variável numero do tipo int tem valor " << numero << endl; return 0; }. numero 4 #include <iostream> using namespace std; int main() { int numero; numero = 4; cout << "A variável numero do tipo int tem valor " << numero << endl; return 0; }. numero 4 O operador = diz que a variável numero receberá o valor 4. Ela não diz que numero é igual a 4. #include <iostream> using namespace std; int main() { int numero; numero = 4; cout << "A variável numero do tipo int tem valor " << numero << endl; return 0; }. numero 4 Ao imprimir a mensagem, a palavra numero é substituida pelo valor da variável numero A variável numero do tipo int tem valor 4 #include <iostream> using namespace std; int main() { int numero; numero = 4; cout << "A variável numero do tipo int tem valor " << numero << endl; return 0; }. numero 4 A variável numero do tipo int tem valor 4 Fluxo de entrada • O objeto cin é utilizado para que o usuário possa fazer entradas no programa. variável Fluxo de entrada • Isto é importante para interagir com a pessoa que utiliza o programa • Assim, ela é complementar à opção de atribuição = para dar valor a variáveis #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. numero1 Comandos que criam variáveis #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. numero1 numero2 #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. numero1 numero2 soma #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: numero1 numero2 soma Imprime mensagem pedindo ao usuário para executar uma ação #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: numero1 numero2 soma Repare que não há comando endl para passar para a próxima linha #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: numero1 numero2 soma cin é usado para obter um valor do teclado #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: numero1 numero2 soma O programa fica parado até que o usuário digite um valor e aperte a tecla Enter #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: 3.14 numero1 numero2 soma Suponha que o valor 3.14 tenha sido digitado #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: 3.14 Digite o segundo número: numero1 3.14 numero2 soma 3.14 é guardado na variável e vamos para o próximo passo #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: 3.14 Digite o segundo número: 2.7 numero1 3.14 numero2 soma Programa espera entrada de dados novamente #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: 3.14 Digite o segundo número: 2.7 numero1 3.14 numero2 2.7 soma Atribuiremos a soma o valor numero1 + numero2 #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: 3.14 Digite o segundo número: 2.7 numero1 3.14 numero2 2.7 soma 5.84 #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: 3.14 Digite o segundo número: 2.7 A soma dos números é 5.84 numero1 3.14 numero2 2.7 soma 5.84 #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Digite o primeiro número: 3.14 Digite o segundo número: 2.7 A soma dos números é 5.84 numero1 3.14 numero2 2.7 soma 5.84 Fim do programa #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; }. Fim do programaAlterações possíveis #include <iostream> using namespace std; int main() { double numero1, numero2, soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; } Lista separada por vírgulas para declação de várias variáveis do mesmo tipo. #include <iostream> using namespace std; int main() { double numero1; double numero2; double soma; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; soma = numero1 + numero2; cout << "A soma dos números é " << soma << endl; return 0; } Fim do programaAlterações possíveis #include <iostream> using namespace std; int main() { double numero1, numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; cout << "A soma dos números é " << numero1 + numero2 << endl; return 0; } Fazer a adição diretamente nos parâmetros do comando cout. Operadores aritméticos • Além dos operador de atribuição = existem os operadores aritméticos • Os operadores aritméticos são utilizados principalmente para tipos de dados que representam números variável1 4 variável2 7 variável3 11 + Operadores aritméticos • Já utilizamos o operador aritmético + no exemplo anterior • Podem ser utilizados para outros tipos de dados, tendo nestes casos outros significados Operador Comando Adição + Subtração - Multiplicação * Divisão / Resto da divisão inteira % #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. numero1 numero2 r São criadas as variáveis #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 numero1 7 numero2 2 r O usuário atribui valores às variáveis numero1 e numero2 #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 numero1 7 numero2 2 r 9 Operador de adição #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 numero1 7 numero2 2 r 9 #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 numero1 7 numero2 2 r 5 Operador de subtração #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 Subtração dos números = 5 numero1 7 numero2 2 r 5 #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 Subtração dos números = 5 numero1 7 numero2 2 r 14 Operador de multiplicação #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 Subtração dos números = 5 Multiplicação dos números = 14 numero1 7 numero2 2 r 14 #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 Subtração dos números = 5 Multiplicação dos números = 14 numero1 7 numero2 2 r 3 Operador de divisão #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 Subtração dos números = 5 Multiplicação dos números = 14 numero1 7 numero2 2 r 3 Repare que o resultado é 3 e não 3.5 pois r é uma variável do tipo int #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 Subtração dos números = 5 Multiplicação dos números = 14 Divisão dos números = 3 numero1 7 numero2 2 r 3 #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 Subtração dos números = 5 Multiplicação dos números = 14 Divisão dos números = 3 numero1 7 numero2 2 r 1 Operador de resto da divisão inteira #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 Subtração dos números = 5 Multiplicação dos números = 14 Divisão dos números = 3 Resto da divisão = 1 numero1 7 numero2 2 r 1 #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Digite o primeiro número: 7 Digite o segundo número: 2 Adição dos números = 9 Subtração dos números = 5 Multiplicação dos números = 14 Divisão dos números = 3 Resto da divisão = 1 numero1 7 numero2 2 r 1 Fim do programa Operadores de atribuição aritméticos • Existem outros operadores de atribuição além dos operador = • Os outros operadores de atribuição são utilizados para abreviar expressões aritméticas e devem ser utilizados sempre que possível • Qualquer instrução na forma • c = c + 2; • variável = variável operador expressão • Pode ser convertido e abreviado na forma • c += 2; • variável operador = expressão variável1 4 variável1 6 +2 Operador Exemplo Significado += x += 6 x = x + 6 -= x -= 3 x = x - 3 *= x *= 2 x = x * 2 /= x /= 4 x = x / 4 %= x %= 7 x = x % 7 #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 numero2 São criadas as variáveis #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 8 numero2 3 São atribuídos valores às variáveis Digite o primeiro número: 8 Digite o segundo número: 3 #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 11 numero2 3 Mesmo que numero1 = numero1 + numero2; Digite o primeiro número: 8 Digite o segundo número: 3 #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 11 numero2 3 Digite o primeiro número: 8 Digite o segundo número: 3 Somando 3 -> 11 #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 8 numero2 3 Mesmo que numero1 = numero1 - numero2; Digite o primeiro número: 8 Digite o segundo número: 3 Somando 3 -> 11 #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 8 numero2 3 Digite o primeiro número: 8 Digite o segundo número: 3 Somando 3 -> 11 Subtraindo 3 -> 8 #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 24 numero2 3 Digite o primeiro número: 8 Digite o segundo número: 3 Somando 3 -> 11 Subtraindo 3 -> 8 Mesmo que numero1 = numero1 * numero2; #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 24 numero2 3 Digite o primeiro número: 8 Digite o segundo número: 3 Somando 3 -> 11 Subtraindo 3 -> 8 Multiplicando por 3 -> 24 #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 8 numero2 3 Digite o primeiro número: 8 Digite o segundo número: 3 Somando 3 -> 11 Subtraindo 3 -> 8 Multiplicando por 3 -> 24 Mesmo que numero1 = numero1 / numero2; #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 8 numero2 3 Digite o primeiro número: 8 Digite o segundo número: 3 Somando 3 -> 11 Subtraindo 3 -> 8 Multiplicando por 3 -> 24 Dividindo por 3 -> 8 #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 2 numero2 3 Digite o primeiro número: 8 Digite o segundo número: 3 Somando 3 -> 11 Subtraindo 3 -> 8 Multiplicando por 3 -> 24 Dividindo por 3 -> 8 Mesmo que numero1 = numero1 % numero2; #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 2 numero2 3 Digite o primeiro número: 8 Digite o segundo número: 3 Somando 3 -> 11 Subtraindo 3 -> 8 Multiplicando por 3 -> 24 Dividindo por 3 -> 8 Resto da divisão por 3 -> 2 #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. numero1 2 numero2 3 Digite o primeiro número: 8 Digite o segundo número: 3 Somando 3 -> 11 Subtraindo 3 -> 8 Multiplicando por 3 -> 24 Dividindo por 3 -> 8 Resto da divisão por 3 -> 2 Operadores de incremento e decremento • Operadores ++ e -- • Usados para adicionar 1 ou subtrair 1 do valor de uma variável • ++ pode ser utilizado para incrementar 1 no valor de uma variável x no lugar de x = x + 1 ou x += 1 variável1 4 variável1 5 + Operadores prefixados ou de pós- incremento • O operador pode ser: • prefixado (++x ou --x) • de pós-incremento/decremento (x++ ou x--) • O operador prefixado incrementa o valor da variável e depois a variável é utilizada na expressão em que aparece • O operador pós-incremento incrementa o valor da variável depois que a variável é utilizada na expressão em que aparece Operadores de incremento e decremento Utiliza e depois incrementa i++ Incrementa e depois utiliza ++i Utiliza e depois decrementa i-- Decrementa e depois utiliza --i #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x É criada a variável x #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 0 x é inicializado com 0 #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 0 Operador de pós-incremento #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 0 1) x é utilizado x = 0 #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 1 2) x é incrementado x = 0 #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 1 x = 0 x = 1 #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 1 x = 0 x = 1 Operador de incremento prefixado #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 2 x = 0 x = 1 1) Variável x é incrementada #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 2 x = 0 x = 1 x = 2 2) Variável x é utilizada #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 2 x = 0 x = 1 x = 2 x = 2 #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 2 x = 0 x = 1 x = 2 x = 2 Operador de pós-decremento #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 2 x = 0 x = 1 x = 2 x = 2 x = 2 1) Utiliza #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 1 x = 0 x = 1 x = 2 x = 2 x = 2 1) Decrementa #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 1 x = 0 x = 1 x = 2 x = 2 x = 2 x = 1 #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 1 x = 0 x = 1 x = 2 x = 2 x = 2 x = 1 Operador de decremento prefixado #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 0 x = 0 x = 1 x = 2 x = 2 x = 2 x = 1 1) Decrementa #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 0 x = 0 x = 1 x = 2 x = 2 x = 2 x = 1 x = 0 2) Utiliza #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 0 x = 0 x = 1 x = 2 x = 2 x = 2 x = 1 x = 0 x = 0 #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. x 0 x = 0 x = 1 x = 2 x = 2 x = 2 x = 1 x = 0 x = 0 Exercício Digite o lado do quadrado: 4.2 A área do quadrado é 17.64 Revisão #include <iostream> using namespace std; int main() { cout << "Olá, Mundo!" << endl; return 0; }. Revisão #include <iostream> using namespace std; int main() { cout << "Olá, Mundo!" << endl; return 0; }. Biblioteca de entrada e saída Espaço de nomes padrão Função principal Impressão na tela Retorno #include <iostream> using namespace std; int main() { int numero1; int numero2; int r; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; r = numero1 + numero2; cout << "Adição dos números = " << r << endl; r = numero1 - numero2; cout << "Subtração dos números = " << r << endl; r = numero1 * numero2; cout << "Multiplicação dos números = " << r << endl; r = numero1 / numero2; cout << "Divisão dos números = " << r << endl; r = numero1 % numero2; cout << "Resto da divisão = " << r << endl; return 0; }. Criando variáveis Fluxo de entrada Operadores aritméticos e de atribuição #include <iostream> using namespace std; int main() { int numero1; int numero2; cout << "Digite o primeiro número: "; cin >> numero1; cout << "Digite o segundo número: "; cin >> numero2; numero1 += numero2; cout << "Somando " << numero2 << " -> " << numero1 << endl; numero1 -= numero2; cout << "Subtraindo " << numero2 << " -> " << numero1 << endl; numero1 *= numero2; cout << "Multiplicando por " << numero2 << " -> " << numero1 << endl; numero1 /= numero2; cout << "Dividindo por " << numero2 << " -> " << numero1 << endl; numero1 %= numero2; cout << "Resto da divisão por " << numero2 << " -> " << numero1 << endl; return 0; }. Operadores de atribuição aritméticos #include <iostream> using namespace std; int main() { int x; x = 0; cout << "x = " << x++ << endl; cout << "x = " << x << endl; cout << "x = " << ++x << endl; cout << "x = " << x << endl; cout << "x = " << x-- << endl; cout << "x = " << x << endl; cout << "x = " << --x << endl; cout << "x = " << x << endl; return 0; }. Operadores de incremento e decremento Dados lógicos • Em muito comum em nossas vidas dilemas onde temos apenas duas opções: • Verdadeiro ou Falso • Sim ou Não • 0 ou 1 • Esquerda ou direita Dados lógicos • Variáveis lógicas são criadas com o comando para tipo de dado bool • Estas variáveis podem assumir apenas dois valores: • Verdadeiro (representado por True) • Falso (representado por False) #include <iostream> using namespace std; int main() { bool var1; var1 = true; bool var2; var2 = false; cout << "var1 = " << var1 << endl; cout << "var2 = " << var2 << endl; return 0; }. #include <iostream> using namespace std; int main() { bool var1; var1 = true; bool var2; var2 = false; cout << "var1 = " << var1 << endl; cout << "var2 = " << var2 << endl; return 0; }. var1 É criada a variável var1 #include <iostream> using namespace std; int main() { bool var1; var1 = true; bool var2; var2 = false; cout << "var1 = " << var1 << endl; cout << "var2 = " << var2 << endl; return 0; }. var1 true var1 recebe true (verdadeiro) #include <iostream> using namespace std; int main() { bool var1; var1 = true; bool var2; var2 = false; cout << "var1 = " << var1 << endl; cout << "var2 = " << var2 << endl; return 0; }. var1 true É criada a variável var2 var2 #include <iostream> using namespace std; int main() { bool var1; var1 = true; bool var2; var2 = false; cout << "var1 = " << var1 << endl; cout << "var2 = " << var2 << endl; return 0; }. var1 true var2 recebe false (falso) var2 false #include <iostream> using namespace std; int main() { bool var1; var1 = true; bool var2; var2 = false; cout << "var1 = " << var1 << endl; cout << "var2 = " << var2 << endl; return 0; }. var1 true cout imprime true como 1 e false como 0 var2 false var1 = 1 var2 = 0 #include <iostream> using namespace std; int main() { bool var1; var1 = true; bool var2; var2 = false; cout << "var1 = " << var1 << endl; cout << "var2 = " << var2 << endl; return 0; }. var1 true var2 false var1 = 1 var2 = 0 Operadores relacionais • São utilizados para comparar variáveis de qualquer tipo • O resultado da comparação é um dado do tipo bool • Usualmente são mais utilizados para gerar dados do tipo bool que os valores true e false diretamente variável1 3 variável2 7 variável bool false > Operadores relacionais Significado Em C++ Em álgebra Maior que > > Maior ou igual >= ≥ Menor que < < Menor ou igual <= ≤ Igual == = Diferente != ≠ Operadores relacionais Significado Em C++ Em álgebra Maior que > > Maior ou igual >= ≥ Menor que < < Menor ou igual <= ≤ Igual == = Diferente != ≠ Não confundir o operador relacional == (que representa igualdade) com o operador de atribuição = #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. x É criada a variável x #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. x true x recebe bool que diz se 2 é menor que 9 #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. x true Imprime x, onde true é representado por 1 1 #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. x true se não precisamos armazenar o resultado de uma expressão, podemos imprimir diretamente seu resultado 1 1 #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. x true 1 1 0 #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. x true 1 1 0 1 #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. x true 1 1 0 1 1 #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. x true 1 1 0 1 1 1 #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. x true 1 1 0 1 1 1 0 #include <iostream> using namespace std; int main() { bool x; x = 2 < 9; cout << x << endl; cout << (2 < 3) << endl; cout << (4 > 5) << endl; cout << (1 <= 7) << endl; cout << (2 >= 2) << endl; cout << (4 == 4) << endl; cout << (4 != 4) << endl; return 0; }. x true 1 1 0 1 1 1 0 Operadores lógicos • Operadores de relação são úteis para expressar condições simples como x < 10, y ≥ 1000, x ≠ y • Operadores lógicos são utilizados para testar múltiplas condições, que são representadas por bools condição1 true condição2 false variável bool false && Nome Em C++ Retorna E lógico && se dois bools são true OU lógico || se um de dois bools é true Não lógico ou Negação ! o inverso de um bool Expressão Resultado ((2 > 7) && (6 > 3)) false ((2 < 7) && (6 > 3)) true ((2 < 7) || (6 < 3)) true ((7 < 2) || (6 < 3)) false !(2 < 3) false Exemplos Resumo do operador && Expressão 1 Expressão 2 Expressão 1 && Expressão 2 false false false false true false true false false true true true Atenção • Embora (3 < x < 7) seja uma condição matematicamente correta, deve-se utilizar ((3 < x) && (x < 7)) em C++ pois são duas operações distintas de comparação. Resumo do operador || Expressão 1 Expressão 2 Expressão 1 && Expressão 2 false false false false true true true false true true true true Resumo do operador ! Expressão ! Expressão true false false true #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x false #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x false 0 #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x true 0 #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x true 0 1 #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x true 0 1 1 #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x true 0 1 1 1 #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x true 0 1 1 1 0 #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x false 0 1 1 1 0 #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x false 0 1 1 1 0 0 #include <iostream> using namespace std; int main() { bool x; x = ((2 > 7) && (6 > 3)); cout << x << endl; x = ((true) || (false)); cout << x << endl; cout << ((2 < 7) && (6 > 3)) << endl; cout << ((2 < 7) || (6 < 3)) << endl; cout << ((7 < 2) || (6 < 3)) << endl; x = !x; cout << x << endl; cout << !(2 < 3) << endl; return 0; }. x false 0 1 1 1 0 0 0 #include <iostream> using namespace std; int
Compartilhar