Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Introdução à Programação em C++: Conceitos Básicos e Exemplos, Esquemas de Programação em C

Programaçao em linguagem de programação C

Tipologia: Esquemas

2019

Compartilhado em 25/09/2019

eduardo-leao-2
eduardo-leao-2 🇧🇷

4.6

(17)

9 documentos

1 / 23

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Visualização Científica
Programação em C++:
Introdução
J. Barbosa
J. Tavares
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Pré-visualização parcial do texto

Baixe Introdução à Programação em C++: Conceitos Básicos e Exemplos e outras Esquemas em PDF para Programação em C, somente na Docsity!

Visualização Científica

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

Exemplo: Algoritmo de Euclides

Descrição em fluxograma

Descrição em linguagem C++

r = m % n
r = 0?
n = r
m = n

FALSE

TRUE

MDC de

m

e

n

MDC = n

int mdc(int m, int n) {

int r;while ( (r= m % n) != 0) {

m=n;n=r;

} return n;

}

Visualização Científica

Programação em C++

Um programa em C++ é constituído por:

Várias funções, das quais uma obrigatoriamente tem que se chamarmain.

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áriochar st[] = “Hello world!”;cout << st << endl;return 0;

Visualização Científica

Programação em C++ : Operadores e expressões

  • Como constituintes de um programa,

constam também operadoresaritméticos, lógicos e relacionais( +, -, *, /, =, &&, ||, etc. ).

  • Com variáveis e operadores,

constroem-se expressões a que ficamassociados valores. Expressõesoperam sobre variáveis de forma aproduzir novos valores.

int mdc(int m, int n) {

int r;while ( (r= m % n) != 0) {

m=n;n=r;

} return n;

}

Visualização Científica

Representação de caracteres

ASCII

(American Standard Code for Information Interchange

):

código alfanumérico, porque representa letras e algarismos.

Visualização Científica

Tipos primitivos de dados

Tipos

fundamentais

Significado

int

inteiro

char

carácter

float

vírgula flutuante de precisãosimples

double

vírgula flutuante de precisão dupla

Qualificadores

Aplica-se a

short

int

long

int

signed

int; char

unsigned

int; char

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

Visualização Científica

Espaço de memória ocupado

Tipo

Ambie nte 16

bits

Ambie nte 32

bits

signed int

2

bytes

(de -32768 a +32767)

4 bytes(- 2 147 483 648 a

  • 2 147 483 647)

unsigned int

2

bytes

(de 0 a 65535)

4 bytes(de 0 a 4 194 967 295)

float

4

byte

s

(de 3.4E-38 a 3.4E+38)

4

byte

s

(de 3.4E-38 a 3.4E+38)

signed char

1

byte

(-128 a +127)

1

byte

(-128 a +127)

unsigned char

1

byte (de 0 a 255)

1

byte (de 0 a 255)

short ou short int

2

bytes

(Idêntico a int)

2

bytes

(de -32768 a +32767)

unsigned short ouunsigned short int

2

bytes

(Idêntico a unsigned int)

2

bytes

(de 0 a 65535)

long ou long int

4

bytes (- 2 147 483 648 a+ 2 147 483 647)

4

bytes (- 2 147 483 648 a+ 2 147 483 647)

unsigned long intou unsign long

4

bytes

(0 a 4 194 967 295)

4

bytes

(0 a 4 194 967 295)

double ou long double

8

bytes

(1.7E-308 a 1.7E+308)

8

bytes

(1.7E-308 a 1.7E+308)

Visualização Científica

Operadores - Precedência e ordem de avaliação (2)

Símbolo

De scri

ç

ão sumária

Forma de a

p

lica

ç

ão

Associatividade

< <=

=

menor quemenor ou igual quemaior quemaior ou igual que

exp < expexp <= expexp > expexp >= exp

Æ

== !=

IgualDiferente

exp == expexp != 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 simplesmultiplica e afectadivide e afectamódulo e afectasoma e afectasubtrai e afectadesloca direita e afectadesloca esquerda e afectaAND 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

Æ

Visualização Científica

Exercício

Programa para verificar o espaço de memória ocupado por cada tipo devariá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;

Visualização Científica

Decisão binária -

if

Fluxograma

Em C++

A<B

cout<<"A<B";

TRUE

cout<<"A>=B";

FALSE

if ( A

< B )

cout

<< “A<B”;

else

cout

<< “A>=B”;

#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;

Exemplo: Determinar se o ano é bissexto}

Visualização Científica

Operador condicional ternário (?:)

O operador condicional ternário é uma forma compactada de exprimiruma acção condicional

if-else;

modulo_n = (n<0)? -n: n;

if (n<0)

modulo_n=-n;

else

modulo_n=n;

Visualização Científica

Repetição condicional -

while, for, do-while

F l u x o g r a m a

E m

C + +

i = 1;

i<

i = i + 1;

cout<<" i = "<<i<<endl;

TRUE

FALSE

i

=

1 ;

w h i l e

(

i

<

6

)

{

c o u t

< <

“ i = “

< <

i

< <

e n d l ;

i

=

i

1

;

} f o r

(

i = 1

;

i < 6

;

i = i + 1

)

c o u t

< <

“ i = “

< <

i

< <

e n d l ;

cout<<" i = "<<i<<endl;

i = i + 1;

i<

TRUE

FALSE

d o

{

c o u t

< <

“ i = “

< <

i

< <

e n d l ;

i

=

i

1

;

}

w h i l e

(

i

<

6

) ;

Visualização Científica

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

X>=

X>=

X>=

X=

X=

X=

X=

X=

X=

X=

X=

X>=

X>=

X>=

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE