Vous êtes sur la page 1sur 41

INFORMTICA BSICA

Conceitos c++
Prof. Demtrios Coutinho
Campus Pau dos Ferros Disciplina de Organizao de Algoritmos Demetrios.coutinho@ifrn.edu.br

POR QUE IMPLEMENTAR EM C++?

Liguagem Tradicional que deveria ser dominada por todo profissional de computao. Pode ser bastante eficiente. Aplicaes que requer desempenho como: aplicaes numricas, computao grfica software embarcado. SO feitos em C : Microsoft Windows, Mac OS X, GNU/Linux Liguagem de alto nivel feitos em C : Perl, PHP, Python, Matlab e outras.

C/C++

C uma linguagem de programao criada por Dennis Ritchie, entre 1969 e 1973 no AT&T Bell Labs

C++, por outro lado, foi desenvolvida por Bjarne Stroustrup a partir de 1979, tambm no Bell Labs, e adiciona caractersticas de orientao a objetos, como classes, e outras melhorias linguagem C.

CONCEITO DE MEMRIA

A memria de um computador o local em que so guardadas informaes necessrias para execuo de programas; Esta memria voltil, isso uma vez desligado o computador as informaes contidas nela so perdidas; Os algoritmos utilizam esta memria para salvar informaes durante a sua execuo; Os locais na memria em que os algoritmos salvam suas informaes so chamadas de variveis.

VARIVEIS
Variveis so utilizadas no algoritmo para se armazenar algum valor;

Podemos ver uma varivel como uma gaveta onde guardamos nossas coisas, porm com algumas restries:
Cada gaveta s pode armazenar um tipo de coisa. Ex.: uma gaveta de camisas, outra de papis, etc; Cada gaveta deve ter um nome que a identifique.

Cada gaveta faz parte de um conjunto de outras gavetas, as quais compem a memria.

O valor (dado/informao) de uma varivel armazenada na memria. Permanece at que a execuo do algoritmo termine.

VARIVEIS

TIPOS DE DADOS
Nome
char

Descrio
Character or small integer

Tamanho
1byte

Intervalo
signed: -128 to 127 unsigned: 0 to 255

int

Integer.

4bytes

signed: -2147483648 to 2147483647 unsigned: 0 to 4294967295

bool

Boolean value. It can take one of two 1byte values: true(any number diff. of zero) or false(0). Floating point number. 4bytes

true or false

float

1,2e-38 to 3,4e+38.

double

Double precision floating point number.

8bytes

2,2e-308 to 1,8e+308

ESCOPO DE VARIVEIS

INICIALIZAR VARIVEIS

INICIALIZAR VARIVEIS

ARRAYS
Uma array uma srie de elementos do mesmo tipo, colocados em localizaes contguas de memria que podem ser individualmente referenciados por adio de um ndice de um identificador nico. Declarao:

ARRAYS

NOTA :

O campo de elementos entre colchetes [] que representa o nmero de elementos do array vai realizar, deve ser um valor constante, j que os arrays so blocos de memria no-dinmico cujo tamanho deve ser determinado antes da execuo. A fim de criar arrays com um comprimento varivel, necessrio memria dinmica.

INICIALIZAO DE ARRAY

ACESSANDO VALORES DE UM ARRAY

Atribuio:

Acessando:

Mais exemplos:

ARRAYS COMO PARMETROS

Os Arrays so passados por referncia A chamada da funo na verdade passa o endereo inicial do array.
Portanto, a funo sabe em que possio o array se encontra na memria.

ARRAYS COMO PARMETROS

PRTICA

Implemente o algoritmo anterior, rode. Depois adapte seu cdigo para que o usurio Informe os elementos. Implemente um programa em c++ que calcule a soma de todos os elementos informados pelo usurio.

SEQUNCIA DE CARACTERES
Uma cadeia de caracteres basicamente um array do tipo char.
Exemplo:

SEQUNCIA DE CARACTERES
Mesmo com 20 elementos pode usar a quantidade que quiser.

O caracterer \0 representa o fim da sequncia de caracter.

INICIALIZANDO

Aspas duplas (") automaticamente acrescenta o caractere nulo. Ento as strings entre aspas duplas sempre tem um caractere nulo ('\ 0') automaticamente anexada ao final. A manipulao dos dados a mesma do array.

INICIALIZANDO

PRTICA

Implemente o programa anterior. Implemente um program em c++ que receba uma cadeia de caractere qualquer e indique a quantidade de palavras utilizadas.

PONTEIROS

Variveis so vistos como clulas de memria que podem ser acessados usando os seus identificadores.

A memria pode ser vista como uma sucesso de clulas de 1 byte, o qual so numeradas de forma consecutiva, assim como, no interior de um bloco de memria, cada clula tem o mesmo nmero que o anterior mais um.

PONTEIROS

O contedo binrio O endereo usa o sistema numrico Hexadecimal.

dado
1773

a
1774

12
1775

25
1776

4684
1777

3.45

1778

REFERENCE OPERATOR (&)


O endereo que localiza uma varivel dentro de memria o que chamamos de uma referncia a essa varivel.

Esta referncia pode ser obtida usando o sinal &, conhecido como operador de referncia, e que pode ser traduzido literalmente como "endereo de/referncia de.

dado
1773

a
1774

12
1775

andy 25 1776

4684
1777

3.45

1778

REFERENCE OPERATOR (&)

DEREFERENCE OPERATOR (*)


Uma varivel que armazena uma referncia de outra varivel chamado de ponteiro. Ponteiros so ditos "apontar para" a varivel cuja referncia eles armazenam. Usando um ponteiro podemos acessar diretamente o valor armazenado na varivel que ele aponta. Para fazer isso, usa-se um asterisco (*), que atua como operador dereference e que pode ser traduzido literalmente como "valor apontado por".

DEREFERENCE OPERATOR (*)

Existe alguma diferena?

DEREFERENCE OPERATOR (*)

Tenha em mente que:


& o operador de referncia e pode ser lido como "endereo de. * o operador dereference e pode ser lido como "valor apontado por"

DEREFERENCE OPERATOR (*)

Assumindo essas duas operaes:

Logo, todas as igualdades abaixo so verdadeiras?

DECLARANDO VARIVEIS DO TIPO PONTEIRO

O tipo de dados so diferentes, mas na verdade todos eles so ponteiros e todos eles vo ocupar a mesma quantidade de espao na memria. No entanto, os dados a que eles apontam no ocupam o mesmo espao na memria. O sinal asterisco (*) usado para declarar um ponteiro s significa que um ponteiro, e no deve ser confundido com o operador dereference. Eles so duas coisas diferentes representados com o mesmo sinal.

DECLARANDO VARIVEIS DO TIPO PONTEIRO

DECLARANDO VARIVEIS DO TIPO PONTEIRO

INICIALIZAR PONTEIROS
Mesma inicilizao

Ponteiro Nulo:

PONTEIRO E ARRAYS
Considere a seguinte declarao:

Fazer isso vlido, j que a varivel numbers um ponteiro para o primeiro Elemento do array.

Mas isso no verdade! Pois, p somente um ponteiro e no um array. Pode ser tambem considerado como um ponteiro constante

PONTEIRO E ARRAYS

PONTEIRO E ARRAYS

So a mesma coisa!!

PONTEIRO E ARRAYS

ALOCAO DINMICA

http://pt.wikibooks.org/wiki/Programar_em_C%2B%2B/Aloca%C3%A7%C3%A3o_din%C3% A2mica_de_mem%C3%B3ria

MAIS INFORMAES:
Google.com

Youtube.com
Cplusplus.com http://pt.wikibooks.org/wiki/Programar_em_C%2B%2B http://orion.lcg.ufrj.br/C++/curso/# C++ Como Programar 5 Edio - Deitel http://cplusplus.com/reference/cctype/ http://cplusplus.com/reference/cstring/

http://informatica.hsw.uol.com.br/programacao-emc26.htm

BONS ESTUDOS :)
Algoritmos
Prof. Demtrios Coutinho
Campus Pau dos Ferros Disciplina de Algoritmos

Vous aimerez peut-être aussi