Você está na página 1de 24

Universidade Cidade de So Paulo (Unicid)

Linguagens de Programao

Professora: Vera Lcia da Silva vera@comp.ita.br

Linguagens de Programao Contedo Programtico: Tpico Geral Contedo Conceitos Bsicos de Linguagens de programao de alto e baixo nvel; Linguagem de Programao Linguagens de programao compilada e interpretada; e Interpretadores e Compiladores. Introduo Linguagem Histrico; e C++ Caractersticas. Tipos Bsicos de dados em Definies de tipos de dados numricos, lgicos e C++ caracteres. Identificadores Definio de nomes de variveis e constantes; e Declarao de variveis e constantes em Linguagem C++. Operadores lgicos, Definio de operadores em Linguagem C++; e aritmticos e de atribuio Uso prtico dos operadores lgicos, aritmticos, de atribuio, aritmticos de atribuio e unrio. Estrutura bsica de Programa principal; programas em Linguagem Comentrios; C++ Instrues do pr-processador; e Arquivos de cabealho. Cdigos especiais Definio das funes dos cdigos especiais da Linguagem C++. Entrada e sada padro C++ Comandos de Entrada/Sada padro da Linguagem C++. Estruturas condicionais comandos if, if/else e switch; e Comandos de controle de Estruturas de repetio comandos: for, while e do fluxo de execuo while. Funes Definio de funes em Linguagem C++; Prottipo da funo; Passagem de parmetros para funo; Valores de retorno das funes; e Funes Recursivas. Vetores e matrizes em Definio e uso prtico de Vetores e Matrizes. linguagem C++ Arquivos Definio de arquivos; e Comandos de manipulao de arquivos. Alocao dinmica em Definio e manipulao de Ponteiros. Linguagem C++ Programao Orientada a Definio do paradigma da orientao a objetos; Objetos Conceitos de classes, objetos, instancia, polimorfismo, herana, composio, generalizao, especializao, mtodos e atributos; e Introduo a UML Diagramas de classes. Introduo a Linguagem Histrico; Java Tipos bsicos de dados em linguagem Java; e Comparao das caractersticas das Linguagens C++ e Java.

Professora: Vera Lcia da Silva

Linguagens de Programao Programao em Linguagem Java Ambiente de programao; Compilador e mquina virtual Java; e Desenvolvimento de programas em Linguagem Java, baseados nos conceitos de orientao a objetos. Desenvolvimento de aplicativos para Internet; Definio dos mtodos bsicos para o desenvolvimento de um aplicativo Applet; e Comandos da Linguagem HTML para execuo de Applets.

Criao de Applets com Java

Professora: Vera Lcia da Silva

Linguagens de Programao

Bibliografia
Bibliografia Bsica: MIZRAHI, Victorine Viviane. Treinamento em Linguagem C++. So Paulo: Makron Books, 1995. DEITEL, H. M., DEITEL, P.J. JAVA Como Programar. Porto Alegre: Bookman, 2001. DEITEL, H. M., DEITEL, P.J. C++ Como Programar. Porto Alegre: Bookman, 2001. Traduo por: Carlos Arthur Lang Lisba e Maria Lcia Lang Lisba. HORSTMANN , C. S. Core Java 2. So Paulo: Makron Books, 2000 Bibliografia Complementar: FURGERI, Srgio. Java 2: Ensino Didtico: Desenvolvendo e Implementando Aplicaes. So Paulo: rica, 2002. DAMASCENO JNIOR, Amrico. Aprendendo Java: Programao na Internet. 3 ed. So Paulo: rica, 1996. TITTEL,ED. Internet World 60 Minutos Para Aprender Java . So Paulo: Berkeley Brasil Editora Ltda, 1997. GOODWILl, James. Developing Java Servlets. Indiana: Sams Publishing, 1999. HOLZNER, Steven. Borland C++ Programao for Windows. So Paulo:Makron Books, 1995. FURLAN , Jos Davi. Modelagem de objetos atravs da UML . So Paulo: Makron Books, 1998. NAUGHTON, Patrick. Dominando o Java. So Paulo:Makron Books, 1996. BARKAKATI, Nabajyoti. Visual C++ developers guide. USA: Sams Publishing, 1993. SILVA, Jos Carlos G. da, ASSIS, Fidelis S. G. de. Linguagens de Programao: Conceitos e Avaliaes. So Paulo:McGraw-Hill, 1998. BARKAKATI, Nabajyoti. Visual C++ Guia de Desenvolvimento Avanado. Rio de Janeiro:Berkeley, 1994. Traduo por: Lus Gustavo Neves da Silva. YAO, Paul. Borland C++ 4.0: Programao for Windows. So Paulo: Makron Books, 1995. JAMSA, Kris. Sucesso com C++. So Paulo: rica, 1995. DEITEL, H. M., DEITEL, P.J. C++ How to program. New Jersey: Prentice-Hall, 1998. HOFF, Arthur Van. Ligando em Java. So Paulo:Makron Books, 1996. LALANI, Suleiman Sam. Java:Biblioteca do programador. So Paulo: Makron Books, 1997. Newman, Alexander. Usando Java. Traduo de: Using Java. Rio de Janeiro: Campus, 1997. LINDEN, Peter van der. Just Java. Traduzido por: Betina de Oliveira. So Paulo: Makron Books, 1997. LEMAY,Laura. Aprenda Em 21 Dias Java : Editora Campus Ltda, 1999. CORNELL. Core Java 2, 1. Editora: Makron Books Do Brasil, 2000. 4
Professora: Vera Lcia da Silva

Linguagens de Programao

Lista de Exerccios
1-) Faa o algoritmo e o fluxograma para resolver os seguintes problemas: a) Somar os nmeros pares de 0 a 100 e imprimir o resultado na tela. b) Dada a entrada de 3 nmeros imprimir o maior na tela. c) Imprimir os nmero de 0 a 200 na tela. 2-) Trs crianas moram na mesma rua. Observando as pistas abaixo, identifique o nome completo e a idade de cada uma. A menina de sobrenome Bento tem trs anos a mais que Maria A criana cujo sobrenome Silva tem 9 anos Bento Ana Joo Maria 7 9 10 3-) Dado um arquivo contendo os nmeros (N) : 1,5,10,100,15,101,20 respectivamente, dizer qual o valor de A e B no final do fluxograma abaixo. Inicio B=0 A=0 Ler N S A,B Castro Silva 7 9 10

N>100 N N=par S A=A+N

Fim

N B=B+N

Professora: Vera Lcia da Silva

Linguagens de Programao

Conceitos Bsicos de Linguagem de Programao

1. Linguagens de Programao - LPs


Linguagens de Programao so conjuntos de notaes formais para descrever aes ou operaes a serem realizadas por um computador. So ferramentas para o desenvolvimento de software. Software um conjunto de programas, mdulos, procedimentos, regras e quaisquer documentaes associadas operao de um sistema de processamento de dados. Exemplos de Linguagem de programao: Cobol, Pascal, Fortran, Linguagem C, Java, entre outras. Os componentes gerais de uma linguagem so a sua sintaxe e a sua semntica.

1.1. Sintaxe e Semntica das LPs


Sintaxe: Conjunto de regras formais para a composio de um texto na linguagem (programa) a partir do agrupamento de letras, dgitos e/ou outros caracteres (alfabeto da linguagem). A sintaxe um conjunto de regras formais para a escrita do programa. Um programa uma coleo de objetos globais, que podem ser procedimentos, funes, prottipos de funes, declaraes de variveis - que so constitudos por agrupamentos de palavras reservadas (comandos e instrues), palavras criadas pelos usurios, letras e dgitos e/ou outros caracteres. A sintaxe estuda a disposio destas palavras e smbolos nas linhas de programa e a disposio destas linhas, dentro do programa, como um todo, bem como a relao lgica das linhas do programa entre si. Est implcito ainda, na sintaxe, a corretude das palavras usadas, que caso contrrio sero apontadas como erradas, visando a correo. Semntica diz respeito significao. A semntica o estudo do sentido dos significantes. Em programao a semntica diz respeito ao significado do programa

Professora: Vera Lcia da Silva

Linguagens de Programao sintaticamente vlido. O que pode ocorrer que um programa seja sintaticamente vlido sem, no entanto, ter um significado lgico coerente. parte do domnio da semntica verificar esta coerncia em termos de significado lingstico e no em termos de lgica de programa.

1.2. Nvel das Linguagens de Programao


Linguagem de BAIXO NVEL: uma linguagem mais prxima da Linguagem de Mquina (L.M.), ou seja, mais prxima do hardware. Ex: Assembler Linguagem de ALTO NVEL: so linguagens, cada vez mais, afastadas da L.M., atravs do uso de abstraes cada vez mais complexas. Estas abstraes se do em funo da adoo de tipos de dados, palavras reservadas, funes, procedimentos automticos etc. Ex: Cobol, Pascal, Java A Linguagem C++: suficientemente prxima do hardware e ao mesmo tempo prev a utilizao de recursos de alto nvel, por isso classificada como linguagem de nvel mdio.

1.3. Interpretao X Compilao


Nas linguagens interpretadas um programa executado instruo a instruo, ou seja, cada comando , primeiro traduzido para a linguagem de mquina, para somente em seguida, ser executado. Na Interpretao as aes resultantes de comandos da linguagem de alto nvel so executadas diretamente, seguindo os passos:
Obter

prximo comando; as aes a executar;

Determinar Realizar

a ao.

Nas linguagens compiladas um programa executado somente quando toda a traduo foi completada. A compilao de um programa fonte (texto escrito diretamente na linguagem de alto ou mdio nvel) prev que o mesmo seja traduzido para a linguagem da mquina correspondente antes da execuo. Esta traduo geralmente

Professora: Vera Lcia da Silva

Linguagens de Programao feita em diversas etapas: ETAPAS CRIA O [1a. etapa] depurao sinttica programa fonte [2a. etapa] gerao de cdigo de mquina relocvel programa objeto [3a. etapa] linkage - liga cdigos e funes de biblioteca programa executvel Programa Fonte: Declaraes escritas em uma linguagem de programao. Programa Objeto: Programa objeto ou cdigo objeto a representao de seu programa fonte em cdigo de mquina, quando o mesmo submetido a um compilador. Erros:

Extenso .C ou .CPP .OBJ .EXE

Nas linguagens compiladas os erros podem ser detectados em tempo de

compilao, em tempo de linkagem (ligao), e mesmo, depurados todos os erros dessas etapas, podem ocorrer erros em tempo de execuo.

No caso das linguagens interpretadas os erros so detectados em tempo de

execuo. Exemplos:
Linguagem Linguagem

Compilada: linguagem C/C++ Interpretada: Linguagem Basic

1.3.1. Compiladores Um compilador l uma instruo do programa, checa sua sintaxe, traduz para a linguagem de mquina, passa para a prxima instruo at atingir a ltima instruo do programa. Ao final deste processo o compilador constri um arquivo de cdigo objeto (.OBJ), porm para ser executado o cdigo gerado deve ser submetido a um linkeditor. A linkedio consiste em agregar ao programa .OBJ bibliotecas existentes na linguagem de programao utilizada e rotinas em linguagens de mquina que lhe permitiro sua execuo, resultando um programa com extenso .EXE, que pode ser executado diretamente.

Professora: Vera Lcia da Silva

Linguagens de Programao 1.3.2. Interpretadores Um interpretador l uma instruo do programa, em seguida verifica a consistncia de sua sintaxe, converte-a para linguagem de mquina e a executa. Esse processo repetido para todas as outras instrues do programa at a ltima instruo ser executada ou a consistncia apontar algum erro. Caso exista uma rotina dentro do programa que necessite ser executada 100 vezes, o processo de traduo e checagem de sintaxe ser executado 100 vezes para a mesma linha da rotina.

Principais Vantagens Compilador Interpretador

Aumento da velocidade de execuo do Facilidade de desenvolvimento de um programa Independncia do Interpretador Proteo do cdigo fonte programas .EXE no podem ser alterados programa na fase de aprendizagem Fcil depurao de erros

Bibliografia:
LEITE, Aury de S. Introduo Linguagem de Programao C++. Notas de aulas. No publicado, 1999.

MIZRAHI, Victorine Viviane. Treinamento em Linguagem C++. So Paulo: Makron Books, 1995.
SILVA, Jos Carlos G. da, ASSIS, Fidelis S. G. de. Linguagens de Programao: Conceitos e Avaliaes. So Paulo:McGraw-Hill, 1998.

Professora: Vera Lcia da Silva

Linguagens de Programao

LINGUAGEM C/C++
1. Introduo a Linguagem C/C++
1.1. Histrico
A linguagem C foi desenvolvida por Dennis Ritchie, pesquisador dos Laboratrios Bell, no ano de 1972. Foi inicialmente criada para ser um "ASSEMBLY porttil". Rodava num computador PDP-11, usando o sistema operacional UNIX. Posteriormente foi utilizada para reescrever o UNIX. Somente em 1978 Brian W. Kernighan e Dennis Ritchie estabeleceram a sintaxe e a semntica da linguagem C. O desenvolvimento de C foi fortemente influenciado pela linguagem B, desenvolvida por Ken Thompson, que por sua vez, teve suas origens na linguagem BCPL, desenvolvida por Martins Richards. Tais linguagens surgiram da evoluo da linguagem Algol CPL, na tentativa de aproximar esta linguagem do hardware. Com a sada do UNIX dos limites da Bell Laboratories em meados dos anos 70, a linguagem C se tornou mais popular e por volta de 1980 muitas verses de compiladores C apareceram, oferecidos por diversas empresas e compatveis inclusive com outros sistemas operacionais. Em maio de 1987 a Borland lanou o Turbo C, especialmente destinado aos IBM-PCs e compatveis que utilizavam como sistema operacional o PC-DOS ou equivalentes. Uma evoluo natural da linguagem C, o C++ (C plus-plus), foi criada por um outro pesquisador dos Laboratrios Bell, Bjarne Stroustrup, em 1983, tendo sido lanada no mercado em 1985 pela AT&T. O C++, um superconjunto da linguagem C, utiliza todas as bibliotecas do C, possuindo ainda, algumas bibliotecas suplementares muito diferentes; que visam permitir a Programao Orientada a Objetos (POO). O C++ possui, ainda, um compilador mais eficiente que o da linguagem C, eficincia esta que comprovada em termos de forte verificao dos tipos de dados envolvidos num programa, checagem de parmetros passados para uma funo, entre outras vantagens.

10

Professora: Vera Lcia da Silva

Linguagens de Programao Famlia da Linguagem C++: CPL (Combined Programming Language) BCPL (Basic CPL) B (Ken Thompson, Bell Labs, 1970) C (Dennis Ritchie, Bell Labs, 1972). C++ (Bjarne Stroustrup, Bell Labs, 1983)

1.2. Dados Tcnicos Gerais


A linguagem C/C++ modular: a principal caracterstica das linguagens modulares a utilizao de blocos (utiliza uma grande variedade de unidades de programa compatveis entre si) que estimulam o estilo de programao TOP-DOWN (decima-para-baixo, ou melhor, do maior-para-o-menor, ou ainda, estimula a diviso de problemas amplos, em pequenos sub-problemas). A Linguagem C/C++ permite a utilizao de sub-rotinas compiladas em separado e permite a criao de bibliotecas de funes e sub-rotinas. As bibliotecas de funes e sub-rotinas podem ser muito amplas, pois a linkagem (ligao do programa objeto s funes de biblioteca para a gerao do programa executvel) se d somente com relao a cada uma das funes utilizadas e no h a linkagem obrigatria de toda a biblioteca, como por exemplo, no Pascal. A Linguagem C/C++ estruturada: desencoraja a utilizao dos goto's - desvios incondicionais -, que geram os chamados cdigos "macarronada". O "goto" substitudo por diversos tipos de laos e desvios, tais como: while, do-while, for; if-then-else, switch, que permitem ao programador exercer um controle lgico mais eficaz sobre os cdigos fontes de seus programas. A linguagem C/C++ possui sub-rotinas com variveis locais, isto , funes cujas variveis so visveis apenas dentro desta funo e somente no momento em que estas funes estejam sendo usadas. Assim as variveis com mesmo nome, que pertenam a funes distintas, so protegidas dos efeitos colaterais (proteo de variveis), isto , uma modificao em nvel funcional no acarretar mudana na varivel em nvel global. Desta forma, mudanas de 11

Professora: Vera Lcia da Silva

Linguagens de Programao valores de variveis no corpo do programa principal no afetam as variveis de funes e vice-versa, a no ser que o programador assim o queira. Programa em Linguagem C/C++ tem aspecto modular e funcional; o prprio programa principal "main() " uma funo. O C/C++ permite chamadas recursivas de funes, isto , uma funo pode chamarse a si mesma repetidas vezes. O C/C++ permite a alocao da memria disponvel para armazenagem de dados em tempo de execuo do programa, a chamada alocao dinmica de memria (possvel atravs da utilizao de ponteiros = pointers). A Linguagem C/C++ permite que o programador acesse detalhes do hardware da mquina, no entanto prov recursos de alto nvel suficientes para que o programador implemente seus programas sem a necessidade de se preocupar com detalhes da mquina.

2. Tipos de Dados na Linguagem C/C++


Na Linguagem C/C++ as variveis podem assumir os tipos: Inteiro, ponto flutuante ou real, caractere e ponteiros. Varivel em C++ um espao de memria reservado para armazenar um certo tipo de dado, tendo um nome para referenciar o seu contedo. Um tipo de varivel define um tamanho e uma forma de armazenamento para a varivel definida. Os tipos apresentados podem ser agrupados como: Real (float, double) Inteiro (short, int, long) Caractere (char) Ponteiro definido por um * na frente do nome da varivel com o tipo para o qual o ponteiro apontar. Este tipo de varivel contm o endereo de outra varivel.

12

Professora: Vera Lcia da Silva

Linguagens de Programao As variveis em C/C++ podem ser dos seguintes tipos: Tipo void char Unsigned char short Unsigned short int Unsigned int Long int Unsigned long int float double Long double Definio no devolve nenhum valor, no ocupa memria variveis que contm os caracteres ASCII abrange os cdigos dos caracteres de -128 a 127 variveis que contm os caracteres ASCII abrange os cdigos caracteres de 0 a 255 valores numricos inteiros range: de -32768 a 32767 valores numricos inteiros no negativos range: de 0 a 65535 valores numricos inteiros range: de -32768 a 32767 valores numricos inteiros no negativos range: de 0 a 65535 valores numricos inteiros longos range: de 2147483648 a 2147483647 valores inteiros longos no negativos range: de 0 a 4294967265 nmeros reais em ponto flutuante range: de () 3.4E-38 a () 3.4E+38 valores numricos reais em ponto flutuante range: de () 1.7E-308 a () 1.7E+308. valores numricos reais em ponto flutuante range: de () 3.4E-4932 a () 1.1E+4932 Byte 0 1 1 2 2 2 2 4 4 4 8 10

Modificadores de tipos: Com exceo do tipo void, os tipos de dados bsicos da linguagem C/C++ podem ser acompanhados pelos modificadores: long, short e unsigned, como mostra a tabela acima. O modificador unsigned usado para considerar os tipos char, short, int e long s com valores positivo, aumentando um bit o tamanho do nmero a ser armazenado.

Observao: ao definir um tipo de dado em seu programa observe que o range, ao


ser ultrapassado ou antepassado, vir a provocar erro. Se o seu ambiente de programao C/C++ possuir dispositivo para tratamento desse tipo de erro, um aviso ser emitido ou o programa ser interrompido, caso contrrio, ao haver um estouro de range, o prprio ambiente "cuida do caso a seu modo", isto , o range visto como uma fita contnua, ligada pelas extremidades do range, onde ao maior elemento sucede o menor deles. Por exemplo, se estivermos usando um tipo int, a soma 32767+1 resultar -32768; a soma 32767+2 ter como resultado -32767, etc. 13
Professora: Vera Lcia da Silva

Linguagens de Programao

3. Operadores da Linguagem C/C++


3.1. Operadores Aritmticos adio: + subtrao: multiplicao: * diviso: / Resto de uma diviso de inteiros (mdulo): % (este um smbolo sobrecarregado) Observao: Um smbolo sobrecarregado quando utilizado de diversas formas ou com diversas funes, o que o caso do smbolo %. 3.2. Operadores de Decremento/Incremento Decremento de 1 unidade (ps ou prefixado): -- ; exemplo x-- ou --x Incremento de 1 unidade (ps ou prefixado): ++ ; exemplo x++ ou ++x Prefixado: incrementa/subtrai a varivel de 1 (um), e usa o novo valor da varivel na expresso que reside. Ps-fixado: usa o valor corrente da varivel na expresso na qual reside para avaliao e depois incrementa/subtrai a varivel de 1(um). 3.3 Operadores Relacionais maior: maior ou igual: menor: menor ou igual: igual (verificador de igualdade): desigual: > >= < <= == !=

3.4. Operadores Lgicos and (e): && or (ou): || (no teclado elas aparecem como barras interrompidas) not (No): !

14

Professora: Vera Lcia da Silva

Linguagens de Programao 3.5. Operadores de Atribuio O smbolo " =" chamado comando de atribuio quando ligar duas variveis ou uma varivel a esquerda e um valor numrico direita, assim, "x = n" deve ser lido a varivel x recebe o valor n, ou o valor da varivel n. Operadores de Atribuio Aritmticos: +=, - =,*=,/=,%= Como regra geral, se x uma varivel, exp uma expresso e op um operador aritmtico, ento: x op= exp equivale a x = x op (exp)

Exemplos: 1) i +=2; equivale a i =i + 2; x = x * (y +1)

2) x *= y+1; equivale a 3) Seja d =12 d %= 9 equivale a

d = d % 9 => d = 3

3.6. Operador Ternrio: Operador ?: expresso 1 ? expresso 2 : expresso 3;

Se a expresso 1 for verdadeira, a expresso 2 avaliada e seu valor passa a ser o resultado, caso contrrio a expresso 3 avaliada e seu valor o resultado, por exemplo:

" x > y ? x = x-1 : x = x+ 1; " : que significa se x maior que y ento x decrementado de uma unidade, caso x seja menor ou igual a y, o x ser incrementado de uma unidade. Note que esta sentena poderia ser escrita como: "x>y ? x-- : x++; ".

15

Professora: Vera Lcia da Silva

Linguagens de Programao

Operadores
Aritmticos + adio - subtrao * multiplicao / diviso % mdulo Atribuio = Atribuio Incremento Relacionais Lgicos Aritmticos Decremento += ++ > && (e) -= ->= || (ou) *= < ! (no) /= <= %= == != Ternrio ?:

Precedncia e Associatividade dos operadores:


A precedncia define a ordem de avaliao dos operadores dentro de uma expresso. A tabela abaixo apresenta a ordem de prioridade na avaliao dos operadores de forma decrescente, do maior para o menor. A associatividade define o sentido da avaliao. Na maioria dos casos a avaliao realizada da esquerda para a direita, mas existem algumas excees como mostra a tabela abaixo: Operadores

() ++ -- - ! * / % + < <= > >= = = != && || ?: = += -= *= /= %=


Tabela Verdade: && e || Expresso 1 Expresso 2 Falso Falso Falso Verdadeiro Verdadeiro Falso Verdadeiro Verdadeiro Tabela Verdade: ! Expresso ! Expresso Falso Verdadeiro Verdadeiro Falso 16

Associatividade Esquerda para Direita Direita para Esquerda Esquerda para Direita Esquerda para Direita Esquerda para Direita Esquerda para Direita Esquerda para Direita Esquerda para Direita Direita para Esquerda Direita para Esquerda

Tipo parntese unrio Aritmticos Aritmticos Relacional Relacional E lgico OU lgico condicional Atribuio

Expresso 1 && Expresso 2 Falso Falso Falso Verdadeiro

Expresso 1 || Expresso 2 falso Verdadeiro Verdadeiro Verdadeiro

Professora: Vera Lcia da Silva

Linguagens de Programao

4. A Estrutura Bsica de um Programa em C++


Um programa em C/C++ uma coleo de objetos globais que podem ser variveis e funes. As unidades funcionais de um programa em C++ so as funes. Um programa C++ consiste em um conjunto de funes ou de uma nica funo com os seguintes elementos bsicos: <tipo> <nome> (<parmetro>) { <instruo 1>; <instruo 2>; . . . <instruo n>; } <tipo> - o tipo de dados que a funo ir retornar. (void se a funo no tiver valor de retorno). <nome> O nome da funo Seguir as regras de identificao de variveis. { } - Indicador de incio e trmino da funo. ; - Todo comando em C++ deve finalizar com ; (ponto-e-vrgula).

A comunicao entre as funes feita pela passagem de parmetros (por valor ou por referncia), por retorno de valores funcionais funo chamadora, ou atravs de variveis globais, que so visveis (tm validade) em todo o programa;

As funes podem ser definidas em qualquer ordem dentro de um programa fonte, sendo que o texto do programa fonte pode estar subdividido em vrios outros arquivos-fonte que podero ser compilados em separado e depois ligados (linkage);

Espaos em branco, tabulaes e mudanas de linha so ignorados pelo compilador. Portanto, torna-se possvel escrever vrias instrues em uma nica linha, inserir espaos em branco, tabulaes e pular linhas vontade. Porm existem algumas excees: o Cadeias de caracteres constantes como O primeiro programa no podem ser separadas em diversas linhas; o Nome de funes, operadores e comandos da linguagem no podem ser separados; o Diretivas do pr-processador como #include no podem ser escritas em vrias linhas;

17

Professora: Vera Lcia da Silva

Linguagens de Programao A funo main() (principal) nica para cada programa. Esta funo marca o ponto de partida e trmino de um programa e se este for constitudo de uma nica funo, esta ser a principal. A funo main() no precisa estar no incio do programa. 4.1. Um programa em C++ Um simples programa em C++. 1 2 3 4 5 6 } // Primeiro programa em C++ #include <iostream.h> void main() { cout << Primeiro programa;

Analisando o primeiro programa: A linha 1 trata de um comentrio.

Comentrio: Comentrios so utilizados para documentar o cdigo fonte. Podem ser


colocados em qualquer lugar do programa e so tratados pelo compilador como espaos em branco. Existem duas maneiras de colocar comentrios em um programa C++. 1) Duas barras (//) comentrios de linha: Este estilo de comentrio comea com duas barras e termina com o final da linha. Tudo que estiver escrito aps as duas barras ser ignorado pelo compilador. 2) Comentrios usando os smbolos /* e */ - Tudo que estiver escrito entre os smbolos /* (incio) e */ (trmino) ser ignorado pelo compilador. O contedo entre estes smbolos pode estar escrito em vrias linhas, numa nica linha ou na mesma linha de uma instruo C++. Exemplos: /* Declarao de variveis Inteiras e reais */ /* Programas em C++ */

18

Professora: Vera Lcia da Silva

Linguagens de Programao A linha 2 do programa apresenta uma diretiva do pr-processador C++. Pr-Processador C++ - O Pr-Processador C++ um programa que examina o programa-fonte em C++ e executa nele certas modificaes com base em instrues chamadas diretivas. Diretivas - Toda diretiva iniciada pelo smbolo # e seu texto deve ser escrito em uma nica linha. Caso ocorra a necessidade de quebra de linha, pode-se terminar a linha com a barra invertida \ e continuar em outra linha. Diretiva #include - Esta diretiva inclui no programa fonte o arquivo indicado antes do programa ser compilado. A linha 2 do programa solicita ao compilador incluir o arquivo iostream.h no programa fonte manipulado. A busca pelo programa indicado pode ocorrer de duas maneiras: Ao utilizar a diretiva #include com os smbolos <> (maior e menor) indica que a biblioteca ou arquivo especificado deve ser procurado no diretrio INCLUDE. Ao utilizar a diretiva #include com os smbolos (aspa duplas) indica que a biblioteca ou arquivo especificado deve ser procurado primeiramente no diretrio atual e depois, caso no seja encontrado, no diretrio INCLUDE. #include iostream.h. Arquivos de incluso ou arquivos de cabealho contm definies e declaraes necessrias para que o compilador reconhea vrios identificadores da linguagem C++. Geralmente possuem extenso .h (Header ou cabealho). O arquivo iostream.h contm declaraes necessrias ao uso dos objetos cout e cin e dos operadores de insero << e extrao >> e outras definies bsicas de entrada e sada padro. Exemplo:

A linha 3 apresenta a declarao da funo principal, main(); As linhas 4 e 6 apresentam os caracteres de incio e trmino de funo; A linha 5 apresenta uma instruo de impresso da frase entre aspas duplas na tela.

cout um objeto da classe de I/O predefinida em C++. Sua funo est associada sada padro. O operador <<, conecta a mensagem a ser impressa a cout.

19

Professora: Vera Lcia da Silva

Linguagens de Programao

5. Identificadores em C++
Para definir o nome de variveis em C++, faz-se necessrio seguir algumas regras bsicas para evitar confuses: 1. Letras maisculas e minsculas so diferentes. Considerando esta regra, os seguintes nomes de variveis so diferentes: PESO, Peso, peso, pESO, peSO, ... 2. A quantidade de caracteres significativos: somente os 32 primeiros caracteres que formam o nome da varivel so considerados. 3. Uma varivel em C++ no pode ter o mesmo nome que uma palavra-chave (palavra reservada da linguagem). A seguir temos uma tabela de palavras-chave em C++:

Palavra chave em C e C++ auto continue enum If short switch volatile break default extern int signed typedef while case do float long sizeof union char double for register static unsigned const else goto return struct void

Palavra chave somente em C++ Asm delete inline private template typied bool dynamic_cast mutable protected this typename catch explicit namespace public throw using class false new const_cast friend operator

reinterpret_cast static_cast true virtual try wchar_t

4. O nome de uma varivel em C++ pode conter letras, nmeros e o caractere underscore _, sendo obrigatrio que o incio do nome de uma varivel contenha uma letra ou o caractere de sublinhado (underscore).

20

Professora: Vera Lcia da Silva

Linguagens de Programao

5.1. Declarao de Variveis


Em C++ todas as variveis devem ser declaradas. A declarao de uma varivel deve ocorrer antes do uso da varivel pelo programa. Uma varivel pode ser declarada em qualquer lugar do programa. Uma declarao de varivel consiste no nome de um tipo e nome da varivel, seguido de ponto-e-vrgula. Exemplos: // Exemplo01.cpp #include <iostream.h> void main() { int num1; num1=44; cout << \nO Primeiro numero e << num1; int num2; num2=88; cout << \nO Primeiro numero e << num2; } A declarao de varivel pode ser combinada com o operador de atribuio, assim fornecendo a varivel um valor inicial. //Exemplo02.cpp #include <iostream.h> void main() { int evento = 5; char corrida = C; float tempo = 27.25; cout << \nO tempo vitorioso na eliminatria << corrida << \nda competio << evento << foi << tempo <<. ; }

21

Professora: Vera Lcia da Silva

Linguagens de Programao

5.2. Constantes
Uma constante tem valor fixo e inaltervel. Nmeros constantes em C++ podem ser escritos nas seguintes bases: Representao Normal Com 0x frente Com 0 frente Exemplos 6766, 10, 34,... 0x72, 0xFFA, ... 07, 045, 034,...

Base Decimal Hexadecimal Octal

Caracteres constantes so escritos entre aspas simples (). Exemplo: 5, a,Q,... Cadeia de caracteres constante reconhecida quando escrita entre aspas duplas (). Exemplo: Primeiro Programa

6. Cdigos Especiais
O pintf() (no C) ou o cout<< (no C++) pode conter dentro das aspas (" ") cdigos de escapes: Quando trabalhamos com a impresso de caracteres em tela ou impressora, alguns cdigos so necessrios em C++. Esses cdigos so representados pela barra invertida (\) acompanhada de outros caracteres indicadores. \b \f \n \r \t \" \' \0 \\ \v \a retrocesso form feed = alimentao de formulrio salta pgina de formulrio line feed (CR + LF) = mudana de linha retorno de carro, sem mudar de linha tabulao horizontal aspas duplas plic (ou aspas simples) - apstrofo zero, NULL, ou final de string imprime uma barra: \ tabulao vertical alerta (beep)

\xdd constante hexadecimal

22

Professora: Vera Lcia da Silva

Linguagens de Programao Exemplo: // Este programa salta uma linha antes de imprimir #include <iostream.h> void main() { cout << \nPulando linha; }

7. Imprimindo dados usando o cout C++ fornece uma biblioteca de funes e classes conhecida como streams. Ela fornece os elementos necessrios para a execuo de operaes de leitura e impresso (I/O). O objeto cout est associado sada padro. O objeto cout utiliza o operador <<, denominado operador de insero, para conectar a mensagem a ser impressa. O objeto cout permite imprimir valores numricos em diferentes bases: dec A impresso do campo apresentada em decimal (modo default). hex A impresso do campo apresentada em hexadecimal. oct A impresso do campo apresentada em octal. Exemplo: // Este programa imprime o valor 65 em diferentes bases #include <iostream.h> void main() { int n=65; cout << \n << hexadecimal << hex << n; cout << \n << Octal << oct << n; cout << \n << Decimal << dec << n; } Para imprimir smbolos entre 128 a 255 (smbolos de lngua estrangeira e caracteres grficos), o objeto cout utiliza a representao \xdd, onde dd representa o cdigo do caractere na base hexadecimal.

Bibliografia:
MIZRAHI, Victorine Viviane. Treinamento em Linguagem C++. So Paulo: Makron Books, 1995. LEITE, Aury de S. Introduo Linguagem de Programao C++. Notas de aulas. No publicado, 1999. 23
Professora: Vera Lcia da Silva

Linguagens de Programao

Programas exemplos: // Venus.cpp #include <iostream.h> void main() {


cout <<"\n VENUS ESTA A " <<67 <<" MILHOES DE MILHAS " <<'\n' <<" DO SOL.";

} // jota.cpp #include <iostream.h> void main() { cout << "\n A letra " << 'j'; cout << " pronuncia-se " << "jota" << '.'; } Imprimindo caracteres Grficos
possvel imprimir qualquer caractere da tabela ASCII, inclusive cdigos de 128 a 255, que consistem em smbolos de lnguas estrangeiras e caracteres grficos. Para imprimir caracteres acima de 127 utilizada a notao \xdd, onde dd representa o cdigo do caractere na base hexadecimal. Veja os exemplos abaixo: // Carros.cpp #include <iostream.h> void main() { cout << "\n\n"; cout << "\n \xDC\xDC\xDB\xDB\xDB\xDB\xDC\xDC"; cout << "\n \xDFO\xDF\xDF\xDF\xDFO\xDF"; cout << "\n\n"; cout << "\n \xDC\xDC\xDB \xDB\xDB\xDB\xDB\xDB\xDB"; cout << "\n \xDFO\xDF\xDF\xDF\xDF\xDFOO\xDF"; cout << "\n\n"; } // Quadrado.cpp #include <iostream.h> void main() { cout << "\n\n\n\xC9\xCD\xBB\n\xBA\x20\xBA\n\xC8\xCD\xBC"; }

24

Professora: Vera Lcia da Silva