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

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

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

Programação científica C++

Programação Aplicada à Engenharia

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

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

Programação Estruturada

Revisão Linguagem C Parte 1

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

Linguagens de Programação I

Programação Estruturada em C++: Extensões ao C. Breve Historial

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

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

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados

Conceitos básicos de programação

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

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1

Linguagem de Programação. Thiago Leite Francisco Barretto

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

3. Linguagem de Programação C

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Curso de C. Declaração de Variáveis 18/3/ :48 1

Introdução à programação

A linguagem C (visão histórica)

Algoritmos e Programação

Introdução à linguagem C++

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Tipos, Literais, Operadores

Tipos, Literais, Operadores

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

Introdução à Linguagem C

Conceitos Básicos de C

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Linguagem C Princípios Básicos (parte 1)

PIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

SCC-120 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO

Linguagem C para Microcontroladores

RESUMO DE CONCEITOS BÁSICOS DE C

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Instituto Superior de Engenharia de Lisboa

3. Linguagem de Programação C

Linguagens de Programação

Linguagem Java - Introdução

K&R: Capitulo 2 IAED, 2012/2013

MsC. João Maria MsC. Liviane Melo

TÉCNICO DE INFORMÁTICA - SISTEMAS

Slides trabalhados durante a quinta aula

Programação Estruturada e Orientada a Objetos

Linguagem de Programação C

Revisão C++ - Parte 1

Tópicos em C. Eliade F. Lima

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Programação de Computadores

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Algoritmos II prof. Daniel Oliveira

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

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores VARIÁVEIS E TIPOS DE DADOS

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

A Linguagem C. A forma de um programa em C

Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C

Linguagem de Programação C. Prof. Fabrício Olivetti de França

Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira

Utilização da Linguagem C

Fundamentos de Programação

Introdução à Ciência da Computação

Linguagem de Programação C

Conceitos básicos. Computação eletrônica: Gurvan Huiban

Operadores e Expressões: bit-a-bit e especiais

Cláudio C. Rodrigues Faculdade da Computação - UFU. Faculdade da Computação - UFU 1

4 Variáveis. Unesp Campus de Guaratinguetá

Introdução à Ciência da Computação scc-120

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

Conceitos de Programação

Fundamentos de Programação

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

Princípios de Desenvolvimento de Algoritmos MAC122

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

4. Estruturas Fundamentais de Programação em C

Aula 4 - Operadores. Prof. Laura Silva de Assis. Engenharia de Computação 2 o Período

Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo

Algoritmos e Programação

The Cyclops Project. Introdução: C++

Análise de Programação

Introdução à Computação MAC0110

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

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Introdução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

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

Transcrição:

Programação em C++: Introdução J. Barbosa J. Tavares 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 1

Exemplo: Algoritmo de Euclides Enunciado: 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. 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; 2

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 3

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. 4

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). 5

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 2 bytes (de -32768 a +32767) 2 bytes (de 0 a 65535) (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) (- 2 147 483 648 a + 2 147 483 647) (0 a 4 194 967 295) 8 bytes (1.7E-308 a 1.7E+308) (- 2 147 483 648 a + 2 147 483 647) (de 0 a 4 194 967 295) (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) (- 2 147 483 648 a + 2 147 483 647) (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 6

Operadores - Precedência e ordem de avaliação (2) Símbolo Descrição sumária Forma de aplicação Associatividade < <= > >= menor que menor ou igual que maior que maior ou igual que exp < exp exp <= exp exp > exp 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 lvalor = exp multiplica e afecta lvalor * = exp divide e afecta lvalor / = exp módulo e afecta lvalor % = ex soma e afecta lvalor + = exp subtrai e afecta lvalor - = exp desloca direita e afecta lvalor >> = exp desloca esquerda e afecta lvalor <<= exp AND e afecta bit a bit lvalor & = exp OR e afecta bit a bit lvalor = exp XOR e afecta bit a bit 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; 7

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++ A<B if ( 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; 8

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"; 9

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 ; cout<<" i = "<<i<<endl; i<6 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 10

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 11

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. 12