Puca Huachi Vaz Penna

Documentos relacionados
Aula 03: Introdução a C

Por que programar? Programação de Computadores Introdução a C++ É tudo questão de automatizar coisas. Alan de Freitas

Aula 4: Introdução à Linguagem C++

Aula 04: Fluxogramas e condicionais

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 4 PROF. MARCELO LUIZ SILVA (R E D)

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Linguagem C: Introdução

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Conhecendo a Linguagem de Programação C

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

ITENS FUNDAMENTAIS Programando em C++

Algoritmos e Programação

Introdução à Linguagem C++

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

3. Linguagem de Programação C

Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença

A Linguagem C. A forma de um programa em C

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

Ambiente de desenvolvimento

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Lição 4 Fundamentos da programação

Introdução a Programação de Jogos

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Programação científica C++

Programação Estruturada

1/50. Conceitos Básicos. Programa Básico

Algoritmos: tipos de dados, variáveis e expressões

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Algoritmos. Conceitos e Comandos

Aula 8 Comandos de Seleção

Aula 26: Estruturas heterogêneas

Estrutura do programa

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

Conceitos Básicos Linguagem C

Instruções, dados e expressões

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Preparatório OBI. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula 01 Introdução a C++

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

Introdução à Linguagem C Variáveis e Expressões

Programação de Computadores I. Professor Ilaim Costa Junior

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Introdução à Computação MAC0110

Fundamentos de Programação

11 - Estrutura de um programa em C

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PROFESSOR EDUARDO PARETO

Aula 27: Estruturas heterogêneas e alocação dinâmica

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Programação de Computadores III

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

Tipos de Dados Simples (Continuação)

Aula 05: Condicionais (Parte 2)

Unidade 5: Introdução à Programação com C/C++ Prof. Daniel Caetano

Programação Básica em Arduino Aula 2

Programação Orientada a Objetos

Variáveis primitivas e Controle de fluxo

Puca Huachi Vaz Penna / José Américo T. Messias

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Material Didático Unificado.

Programação de Computadores II

Introdução à Computação

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Programação de Computadores III

Compiladores. Análise Léxica

exatasfepi.com.br Informática C/C++ André Luís Duarte Feliz é o homem que acha sabedoria, e o homem que adquire entendimento; Provérbios 3:13

Programação de Computadores:

Conceitos Básicos de Programação

Introdução e Conceitos

Programação Computacional C/C++

Programação de Computadores IV

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

Princípios de Desenvolvimento de Algoritmos MAC122

Algoritmos: Conceitos Fundamentais. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Conceitos básicos de programação

Aula 6: Comandos Estruturados Estrutura Condicional

Estruturas de Dados. Módulo 2 Expressões. 9/8/2005 (c) Marco A. Casanova - PUC-Rio 1

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:

Laboratório de Programação II

1 Introdução e Conceitos básicos

PROGRAMAÇÃO COMPUTACIONAL

Algoritmos II prof. Daniel Oliveira

Transcrição:

Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca puca@iceb.ufop.br

Aula Anterior Linguagens de Programação Linguagens de Máquina Linguagens Assembly Linguagens de Alto-nível Noções de C++ 2 de 33

Introdução ao C++: Comandos de Saída 1 /* 2 Meu primeiro programa : primeiro. cpp 3 Programa que imprime uma mensagem na tela 4 */ 5 # include < iostream > 6 7 // Funç~ao principal. Inicia a execuç~ao do programa 8 int main () 9 { 10 std :: cout << " Hello world!" << std :: endl ; 11 12 return 0; 13 } Saída do programa: Hello world! 3 de 33

Entendendo o Programa O programa primeiro.cpp, escrito em C++ é composto pelos seguintes componentes: Comentários: São ignorados pelo compilador e servem para auxiliar o programador a descrever o programa. Uma linha: // Comentário Uma ou várias linhas: /* Comentário */ Todos os comandos terminam por ; (ponto-e-vírgula). As chaves { e } indicam, respectivamente, o início e o fim de um bloco de comandos. Os comandos da linguagem são palavras reservadas (também chamados palavras-chave) e são escritos em letras minúsculas. 4 de 33

Entendendo o Programa A diretiva de compilação #include <iostream>, informa ao compilador que ele deve incluir a biblioteca iostream (Input/Output stream) durante o processo de compilação. int main(): declara a função principal main() do tipo int (número inteiro). O comando std::cout imprime o texto na saída padrão (tela). O operador :: separa o namespace std do objeto cout. Utiliza o operador << para inserir o texto no stream cout. O comando endl (end line), também do namespace std pula para o início da próxima linha. O comando return finaliza o programa retornando o valor 0. 5 de 33

Introdução ao C++: Comandos de Saída 1 /* 2 Meu primeiro programa : primeiro. cpp 3 Programa que imprime uma mensagem na tela 4 */ 5 # include < iostream > 6 7 // Funç~ao principal. Inicia a execuç~ao do programa 8 int main () 9 { 10 std :: cout << " Hello " << " world!" << std :: endl ; 11 12 return 0; 13 } Saída do programa: Hello world! 6 de 33

Introdução ao C++ 7 de 33

Declaração de Variáveis int number1 O identificador number1 é o nome da variável. Toda variável tem um nome, um tipo e um valor. Uma variável é uma locação na memória do computador onde pode-se armazenar um valor. O tipo int especifica que o valor armazenado é do tipo inteiro (valor inteiro). Se já existir um valor armazenado na variável e um novo valor é atribuído a está variável, esse valor sobrescreve o valor anterior naquela locação. Uma variável deve ser declarada com um nome e um tipo de dado, antes de ser usada no programa. Pode-se declarar várias variáveis em uma mesma linha: int number1, number2, sum 8 de 33

Declaração de Variáveis Identificadores é o nome de uma variável, e não pode ser uma palavra-chave. é formado por uma combinação de letras, dígitos e sublinhado (underline), começando com uma letra. case sensitive: as letras maiúsculas e minúsculas são diferentes. para assegurar a portabilidade use no máximo 31 caracteres. escolha nomes significativos para aprimorar a documentação do programa. 9 de 33

Declaração de Variáveis Tipos fundamentais double especifica os números reais; 3.4, -0.985, etc. char armazena um único caractere minúsculo ou maiúsculo, um dígito, ou um caractere especial ( $ * @ ). int armazena um número inteiro. Os tipos fundamentais são palavras reservadas e são escritos em letra minúscula. 10 de 33

Declaração de Variáveis Onde declarar? podem ser colocadas em qualquer lugar no programa, mas devem aparecer antes que as variáveis correspondentes sejam usadas no programa. Exemplo 1 Exemplo 2 int x; int x; x = 80; int y; cout << x; x = 80; int y; y = 60; y = 60; cout << x; cout << y; cout << y; 11 de 33

Declaração de Variáveis Os tipos de variáveis podem ocupar tamanhos diferentes na memória, dependo do tipo, exemplo: Tipo Bytes Intervalo short 2 32.768 a 32.767 int 4-2.147.483.648 a 2.147.483.647 long 4-2.147.483.648 a 2.147.483.647 float 4 1, 2 10 38 a 3, 4 10 +38 double 8 2, 2 10 308 a 1, 8 10 +308 12 de 33

Entrada de dados Obtendo valores digitados pelo usuários: std::cout << Enter first integer: ; std::cout é usado para escrever uma mensagem na tela para explicar ao usuário o que ele deve digitar. std::cin >> number1; std::cin em conjunto com o operador de extração ( >> ) do stream std::cin recebe um valor do teclado e armazena na variável number1. 13 de 33

Entrada de dados Obtendo valores digitados pelo usuários: std::cout << Enter first integer: ; std::cout é usado para escrever uma mensagem na tela para explicar ao usuário o que ele deve digitar. std::cin >> number1; std::cin em conjunto com o operador de extração ( >> ) do stream std::cin recebe um valor do teclado e armazena na variável number1. 14 de 33

Operador de atribuição sum = number1 + number2; O símbolo = é um operador de atribuição. avalia-se a expressão matemática do lado direito do = e atribui-se o resultado à variável do lado esquerdo. = e + são operadores binários; requerem dois operandos. Obs.: coloque espaços em branco em ambos os lados de um operador binário, para facilitar a leitura do programa. 15 de 33

Saída de dados Exibindo o resultado: std::cout << Sum is << sum << std::endl; std::endl manipulador de stream, fim de linha (similar ao \n). Faz a saída de uma nova linha, e a seguir, descarrega o buffer de saída. Em alguns sistemas a saída fica acumulada até que haja uma quantidade viável para ser exibida na tela; o endl força a saída. 16 de 33

Exemplo de um programa C++ 1 # include < iostream > 2 # include < clocale > // Para a funç~ao setlocale 3 using namespace std ; 4 5 int main () 6 { 7 setlocale ( LC_ALL, " Portuguese "); 8 9 int evento = 5; // inicializa evento com 5 10 char corrida = C ; // inicializa corrida com C 11 float tempo = 27. 24; // inicia tempo com 27. 24 12 13 cout << "\ no tempo vitorioso na eliminatória " 14 << corrida << " da competiç~ao " << evento 15 << " foi " << tempo << " minutos " << endl ; 16 17 return 0; 18 } 17 de 33

Operadores aritméticos Operador módulo % : resulta no resto da divisão inteira (somente usado com operandos inteiros); Por exemplo: 7 % 4 é igual a 3 18 de 33

Operadores aritméticos Regras da Precedência de Operadores São as mesma da álgebra: 1. os operadores nas expressões entre parênteses são avaliados primeiro; o parênteses também quebra a precedência de um operador. 2. a seguir, aplicam-se as operações de multiplicação, divisão e operações de módulo. Se uma expressão contém vários desses operadores, as operações são aplicadas da esquerda para a direita. 3. Por último aplicam-se a adição e a subtração. Também, se há vários + e, a aplicação ocorre da esquerda para a direita. 19 de 33

Operadores aritméticos Regras da Precedência de Operadores 20 de 33

Operadores aritméticos Ordem de avaliação das expressões aritméticas 21 de 33

Ordem de avaliação 22 de 33

Tomada de decisões Permite a um programa realizar uma ação alternativa, a partir de um resultado verdadeiro ou falso produzido por uma condição. As condições são formadas utilizando-se os operadores de igualdade e os operadores relacionais. Ambos operadores de igualdade têm o mesmo nível de precedência, o qual é inferior ao dos operadores relacionais, e associam-se da esquerda para a direita 23 de 33

Operadores de igualdade e relacionais 24 de 33

Erro Comum em Programação Confundir o operador de igualdade == Com o operador de atribuição = 25 de 33

Expressões booleanas no século 18, George Boole, matemático e filósofo britânico, desenvolveu um sistema algébrico lógico, que passou a ser conhecido como Álgebra de Boole. base para a lógica dos computadores digitais modernos. nesse sistema, as expressões lógicas (expressões booleanas) possuem o valor true ou false. em computação as expressões booleanas são também chamadas de condições. para manter a compatibilidade com C, os inteiros também são usados como valores booleanos: qualquer valor não nulo (1) representa true; e 0 representa false. 26 de 33

Expressões booleanas compostas na matemática, podemos restringir uma temperatura a um intervalo fechado, 0 temp 100 em C++ não podemos representar essa expressão por: 0 <= temp <= 100 embora ela seja uma expressão C++ válida! por exemplo, suponha que temp = 150; (não está no intervalo definido, logo esperamos que o resultado da expressão seja falso). 27 de 33

Expressões booleanas compostas os operadores relacionais são associativos a esquerda. A expressão será processada da seguinte forma: 0 } <= {{ 150 } <= 100 (a) a expressão (a) resulta em true, que é representado em C++ pelo inteiro 1. Assim, na segunda etapa da avaliação, a expressão resulta em: 1 <= 100 que também é verdadeira e resulta em true. Entretanto, a expressão original deveria resultar falso, como na matemática. 28 de 33

Expressões booleanas compostas Para solucionar esse problema, reescrevemos a desigualdade como: onde, && é um operador lógico. (temp >= 0) && (temp <= 100) utilizamos os operadores lógicos para combinar as expressões booleanas, formando assim, as expressões booleanas compostas. 29 de 33

Operadores lógicos Operador Expressão Nome Descrição!!p NÃO!p é falso, se p é verd.; (negação)!p é verd., se p é falso. && p && q E p && q é verdadeiro, (conjunção) se ambos, p e q são verd.; e falso, caso contrário. p q OU p q é verdadeiro, (disjunção) se p, q ou ambos é verd.; e falso, caso contrário. 30 de 33

Operadores lógicos Tabela verdade 31 de 33

Operadores lógicos Procedência 32 de 33

Próxima Aula Comando condicionais if - then if - then - else 33 de 33