Programação em C++: Introdução



Documentos relacionados
MC102 Algoritmos e programação de computadores Aula 3: Variáveis

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

Algoritmos e Programação

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Programação Estruturada I

Tipo de Dados em Linguagem C

Conceitos Básicos de C

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

2. Constantes e Variáveis

Variáveis e Comandos de Atribuição

Introdução a C Tipos de Dados Variáveis Operadores

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

INTRODUÇÃO À LINGUAGEM C++

Algoritmos e Programação Estruturada

INF 1005 Programação I

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Componentes da linguagem C++

Capítulo 2: Introdução à Linguagem C

Introdução à Programação

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Programação Básica em Arduino Aula 2

Tipos de Dados Simples

Resumo da Introdução de Prática de Programação com C. A Linguagem C

O COMPUTADOR. Introdução à Computação

Programação Aplicada à Engenharia

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

Programação de Computadores - I. Profª Beatriz Profº Israel

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

Programando em C++ Histórico da Linguagem C

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Algoritmo e Técnica de Programação - Linguagem C

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN

Keeper of Knowledge. Capítulo 1 Conceitos Básicos do Java

LINGUAGEM C. Estrutura básica de um programa

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Programas simples em C

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Programação: Tipos, Variáveis e Expressões

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Programação científica C++

Revisão Linguagem C Parte 1

A Linguagem Java. Alberto Costa Neto DComp - UFS

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Estrutura de Dados Básica

Introdução à Linguagem C

Primeiro Curso de Programação em C 3 a Edição

Programação. Folha Prática 3. Lab. 3. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Linguagens de Programação I

Programação Estruturada

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

2 Orientação a objetos na prática

ESTRUTURA CONDICIONAL

Introdução a POO. Introdução a Linguagem C++ e POO

Conceito de classe em C++

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

Linguagens de Programação

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

20 Caracteres - Tipo char

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Sintaxe Básica de Java Parte 1

Programação Estruturada e Orientada a Objetos

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

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

insfcanceof new public switch transient while byte continue extends for int null

Introdução à linguagem C++

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

Introdução à linguagem

Expressões. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

MsC. João Maria MsC. Liviane Melo

Tipos Primitivos, estruturas de iteração e decisão.

Curso de Linguagem C

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Programação Orientada por Objectos - C++ jvo

Curso Prático de C++

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

Fundamentos de Programação II. Introdução à linguagem de programação C++

Italo Valcy

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Tipos, Literais, Operadores

Tipos, Literais, Operadores

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Algoritmos e Estruturas de Dados I (DCC/003) 2013/2. Introdução à Programação de Computadores. Aula - Tópico 1

Linguagem de Programação I

Transcrição:

Programação em C++: Introdução J. Barbosa J. Tavares Visualização Científica

Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo (Knuth73v1) Ex: ordenação de um conjunto, pesquisa numa base de dados. Atributos que deve possuir: Ser finito, inteligível, exequível, caracterizável. Formas de representação : Narrativa, Fluxograma, Pseudo código, Linguagens de programação Visualização Científica

Enunciado: Exemplo: Algoritmo de Euclides Dados dois inteiros m e n, encontrar o maior inteiro que os divida a ambos exactamente. Descrição narrativa: Algoritmo mdc (Algoritmo de Euclides) 1- (Encontrar o resto) - Dividir m por n e afectar r com o resto ( 0 <= r < n) 2 - ( O resto é zero?) - Se r=0, o algoritmo termina ; n é o valor procurado. 3 - (Substituir) - Afectar m com n e n com r, voltando ao passo 1. Visualização Científica

Exemplo: Algoritmo de Euclides Descrição em fluxograma Descrição em linguagem C++ MDC de m e n r = m % n r = 0? MDC = n n = r m = n int mdc(int m, int n) { int r; while ( (r= m % n)!= 0) { m=n; n=r; return n;

Programação em C++ Um programa em C++ é constituído por: Várias funções, das quais uma obrigatoriamente tem que se chamar main. A função main(), como qualquer outra é definida : por um cabeçalho constituído por:» tipo de dados que a função devolve.» o seu nome (main).» parâmetros formais que recebe. por um corpo (definido entre { ) com :» declarações» definições» instruções» comentários Inclusão de ficheiros header com: protótipos de funções, macros, instruções, declarações de tipos #include <iostream.h> int main(int argc, char *argv[]) { // comentário char st[] = Hello world! ; cout << st << endl; return 0;

Programação em C++ : Declarações no programa int mdc(int m, int n) { int r; while ( (r= m % n)!= 0) { m=n; n=r; return n; Em C++ qualquer identificador tem que ser declarado antes de ser usado. Declarar uma entidade, consiste em anunciar a sua existência, explicitando-lhe o nome e o tipo e possivelmente definir o seu valor. Exemplo: int y; // variável y do tipo inteiro char x= A ; /*variável do tipo char, iniciada com o carácter A'.*/ char y=65; // x == y

Programação em C++ : Operadores e expressões int mdc(int m, int n) { int r; while ( (r= m % n)!= 0) { m=n; n=r; return n; Como constituintes de um programa, constam também operadores aritméticos, lógicos e relacionais ( +, -, *, /, =, &&,, etc. ). Com variáveis e operadores, constroem-se expressões a que ficam associados valores. Expressões operam sobre variáveis de forma a produzir novos valores.

Representação de caracteres ASCII (American Standard Code for Information Interchange): código alfanumérico, porque representa letras e algarismos.

Palavras chave Palavras chave do C++ asm auto break case catch char class const continue default delete do double else enum extern float for friend goto if inline int long new operator private protected public register return short signed sizeof static struct switch template this throw try typedef union unsigned virtual void volatile while

Tipos primitivos de dados Tipos fundamentais int char float Significado inteiro carácter vírgula flutuante de precisão simples Qualificadores short long signed unsigned Aplica-se a int int int; char int; char double vírgula flutuante de precisão dupla A partir dos tipos de variáveis básicos, definem-se outros tipos de variáveis ditos tipos derivados, tais como arrays, enumerados, apontadores, referências, estrutura e uniões desses tipos fundamentais (ou básicos).

Espaço de memória ocupado Tipo Ambiente 16 bits Ambiente 32 bits signed int unsigned int float signed char unsigned char short ou short int unsigned short ou unsigned short int long ou long int unsigned long int ou unsign long double ou long double Visualização Científica 2 bytes (de -32768 a +32767) 2 bytes (de 0 a 65535) 4 bytes (de 3.4E-38 a 3.4E+38) 1 byte (-128 a +127) 1 byte (de 0 a 255) 2 bytes (Idêntico a int) 2 bytes (Idêntico a unsigned int) 4 bytes (- 2 147 483 648 a + 2 147 483 647) 4 bytes (0 a 4 194 967 295) 8 bytes (1.7E-308 a 1.7E+308) 4 bytes (- 2 147 483 648 a + 2 147 483 647) 4 bytes (de 0 a 4 194 967 295) 4 bytes (de 3.4E-38 a 3.4E+38) 1 byte (-128 a +127) 1 byte (de 0 a 255) 2 bytes (de -32768 a +32767) 2 bytes (de 0 a 65535) 4 bytes (- 2 147 483 648 a + 2 147 483 647) 4 bytes (0 a 4 194 967 295) 8 bytes (1.7E-308 a 1.7E+308)

Operadores - Precedência e ordem de avaliação (1) Símbolo Descrição sumária Forma de aplicação Associatividade :: resolução de alcance nome_classe :: membro :: refere nome global :: nome -> [] () () sizeof sizeof ++ -- ~! - + & * new delete delete[] () * / % + - << >> selecção de membro Indexação chamada a função construção de objecto dimensão de objecto dimensão de tipo pós ou pré incremento pós ou pré decremento complemento bit a bit negação lógica unário menos unário mais endereço de desreferência criar, alojar destruir, desalojar destruir array cast, conversão de tipo multiplicar dividir módulo, resto adição, mais subtracção, menos deslocar esquerda deslocar direita apontador -> membro apontador [ exp ] exp ( lista_exp ) tipo ( lista_exp ) sizeof exp sizeof tipo lvalor ++ ou ++ lvalor lvalor -- ou -- lvalor ~ exp! exp - exp + exp & lvalor * exp new tipo delete apontador delete [ ] apontador ( tipo ) exp exp * exp exp / exp exp % exp exp + exp exp - exp lvalor << exp lvalor >> exp

Operadores - Precedência e ordem de avaliação (2) Símbolo Descrição sumária Forma de aplicação Associatividade < menor que exp < exp <= menor ou igual que exp <= exp > maior que exp > exp >= maior ou igual que exp >= exp ==!= Igual Diferente exp == exp exp!= exp & AND bit a bit exp & exp ^ XOR bit a bit exp ^ exp OR bit a bit exp exp && AND lógico exp && exp OR lógico exp exp? : Operador condicional exp? exp : exp = *= /= %= += -= >>= <<= &= = ^= afectação simples multiplica e afecta divide e afecta módulo e afecta soma e afecta subtrai e afecta desloca direita e afecta desloca esquerda e afecta AND e afecta bit a bit OR e afecta bit a bit XOR e afecta bit a bit lvalor = exp lvalor * = exp lvalor / = exp lvalor % = ex lvalor + = exp lvalor - = exp lvalor >> = exp lvalor <<= exp lvalor & = exp lvalor = exp lvalor ^ = exp, vírgula, sequência exp, exp

Exercício Programa para verificar o espaço de memória ocupado por cada tipo de variável. #include <iostream.h> int main() { char ch; int num1; cout << "Bytes usados para guardar 1 char: " << sizeof(ch) << endl; cout << "Bytes usados para guardar 1 inteiro: " << sizeof(num1) << endl; return 0;

Instruções de controlo de execução Decisão binária - if Operador condicional ternário (?:) Decisão múltipla switch Repetição condicional - while, for, do-while

Decisão binária - if Fluxograma Em C++ if ( A < B ) A<B cout << A<B ; cout<<"a>=b"; cout<<"a<b"; else cout << A>=B ; Exemplo: Determinar se o ano é bissexto #include <iostream.h> void main() { int year; cout << "Ano -> "; cin >> year; if (year%400 == 0 year%4 == 0 && year%100!= 0) cout << "E "; else cout << "Nao e "; cout << " um ano bissexto." << endl;

Operador condicional ternário (?:) O operador condicional ternário é uma forma compactada de exprimir uma acção condicional if-else; modulo_n = (n<0)? -n: n; if (n<0) modulo_n=-n; else modulo_n=n;

Decisão múltipla switch Fluxograma Em C++ i == 0 i == 1 i == 2 cout<<"zero"; cout<<"um; cout<<"dois"; switch( i ) { case 0: cout<< zero ; break; case 1: cout<< um ; break; case 2: cout<< dois ; break; default: cout<< outro ; cout<<"outro";

Repetição condicional - while, for, do-while Fluxogram a Em C++ i = 1; i = i + 1; i = 1; while ( i < 6 ) { cout << i= << i << endl; i = i + 1 ; i<6 cout<<" i = "<<i<<endl; for ( i=1 ; i<6 ; i=i+1 ) cout << i= << i << endl; cout<<" i = "<<i<<endl; i = i + 1; do { cout << i= << i << endl; i = i + 1 ; while ( i < 6 ); i<6

Exemplo: Algoritmo de aproximações sucessivas Quantas tentativas são necessárias para adivinhar um nº entre 0 e 7? Arvore de decisão binária X>=4 X>=2 X>=6 X>=1 X>=3 X>=5 X>=7 X=0 X=1 X=2 X=3 X=4 X=5 X=6 X=7 Visualização Científica

Algoritmo de aproximações sucessivas Fluxograma Programa em C++ i=4; n=0; i>0 X = n ; X >= i+n n += i; i /= 2; #include <iostream.h> #include <ctype.h> void main() { cout << "Pense num numero de 0 a 7 " " e prima uma tecla."; cin.get(); // Adivinhar o número. int number = 0; for(int i = 4 ; i > 0; i /= 2) { char ch; cout << "\ne maior ou igual que " << (i + number) << " (S/N)?"; cin >> ch; if (toupper(ch) == 'S') number += i; cout <<"\no numero que pensou e << number <<'.' << endl;

Programação em C++: criação do programa executável Enunciado do problema Editar Modulo C++ (.CPP) Erro Compilar Modulo Compilado (.OBJ) Erro Ligar Executável (.EXE) ou (.COM) Erro Testar Não cumpre os objectivos OK

Exercícios Escreva um programa para resolver equações quadráticas: ax 2 +bx+c=0 O ganho de tensão de um amplificador é dado por v = [23/(23 2 + (0.5f) 2 ) 1/2 ] n onde f é a frequência de funcionamento em Hertz e n o número de etapas do amplificador. Escreva um programa que calcule v em função dos valores f e n. Visualização Científica