Curso básico de C++ DicasBCB.

Tamanho: px
Começar a partir da página:

Download "Curso básico de C++ DicasBCB. http://www.dicasbcb.com.br"

Transcrição

1 Curso básico de C++ DicasBCB

2 Conteúdo O bê-a-bá da programação... 5 Afinal, o quê é C++?... 5 Um pouco de história... 5 Conceitos... 6 O bit e o byte Cuidados gerais Documentar o trabalho O programa main() Primeiro programa Imprimindo dados nos componentes Comentários Tipos fundamentais O tipo inteiro Os tipos ponto flutuante O tipo caracter Modificadores de tipos Variáveis Atribuição de valores a variáveis Variáveis signed e unsigned Excedendo o limite de uma variável Operações matemáticas com unsigned AnsiString Funções que modificam strings Funções que modificam strings AnsiString continuação... (dstring.h) AnsiString continuação AnsiString continuação A palavra-chave typedef A diretiva #define A palavra-chave const Operadores matemáticos Expressões Entendendo melhor o C++Builder #include <vcl.h> #pragma hdrstop Unit1.h #pragma package(smart_init) #pragma resource _fastcall, fastcall TComponent TComponent::Owner Operadores de incremento e decremento Operadores relacionais O comando if Apostila de C++ Builder Pagina -2-

3 O comando else if...else - Continuação Comandos aninhados e Indentação Operadores lógicos O operador condicional ternário Funções Chamada de Funções Definição de uma função Protótipos de funções Variáveis locais e globais A palavra-chave extern A palavra-chave static Parâmetros das funções O comando return Valores Default Funções inline O comando goto O loop while break e continue O loop while sem fim loop while - continuação O loop do... while O loop for loop for - continuação Omissão e aninhamento no loop for O comando switch métodos Canvas para desenhar objetos gráficos propriedades Canvas TPen::Width TPen::Mode TPenRecall Usando brushes TBrush::Color TBrush::Style TBrush::Bitmap TBrushRecall Ler e inserir pixels TCanvas::Pixels TBitmap::ScanLine Propriedades e métodos comuns de Canvas Conhecendo arrays Excedendo o limite de um array Matrizes multidimensionais Arrays de caracteres Estruturas Ponteiros A reutilização de um ponteiro Apostila de C++ Builder Pagina -3-

4 Ponteiros apontando para outros ponteiros Ponteiros apontando para structs O nome do array Variáveis dinâmicas Mais problemas... ponteiros soltos Ponteiros & constantes Referências Reatribuição de uma referência Apostila de C++ Builder Pagina -4-

5 O bê-a-bá da programação Não fique impressionado, se um dia você descobrir que o aplicativo que você está usando para ler ou tratar algum dado em seu computador foi desenvolvido em linguagem de programação C++ (pronuncia-se "cê mais mais"). Mesmo porque, em poucos dias, você já estará desenvolvendo um processador de texto que poderá, inclusive, ser usado para substituir o bloco de notas do seu Windows. Na escolha de uma linguagem de programação, deve-se considerar não apenas a facilidade de aprendizado, mas principalmente aquilo que se quer e que se pode fazer com ela. Uma escolha errada pode nos trazer prejuízos e frustrações. Certamente C++ não é a linguagem cujos conceitos mais facilmente são assimilados, mas também não é uma linguagem difícil. Na verdade, trata-se de uma linguagem de programação poderosa, para qualquer tipo de desenvolvimento computacional, e quando se começa compreender os seus conceitos fica bastante interessante e divertido o seu aprendizado. E não há nenhum inconveniente ou dificuldade em se aprender C++ como primeira linguagem de programação. O que é importante é que existam a vontade de aprender, a dedicação e a familiaridade com computadores. Afinal, o quê é C++? Segundo Bjarne Stroustrup (criador de C++), "C++ é uma linguagem de uso geral com uma tendência para a programação de sistemas que: é uma C melhor; suporta abstração de dados; suporta programação orientada a objetos; e suporta programação genérica". C++ é um superset de C. Portanto quaisquer códigos escritos para a linguagem C devem funcionar normalmente em C++, porém, não raras vezes, C++ oferece uma maneira melhor, ou mais de uma maneira, de se obter o mesmo resultado, o quê nos proporciona grande flexibilidade em nosso trabalho. C++ é uma linguagem de programação usada para a criação de uma infinidade de programas como sistemas operacionais, processadores de texto como o Microsoft Word, planilhas eletrônicas como o Excel, comunicação, automação industrial, bancos de dados, jogos, games, aplicativos multimídia, navegadores Web como o Internet Explorer etc; é uma linguagem que permite acesso aos recursos do hardware e vai por aí afora, sem deixar de lado os sistema embutidos usados nos automóveis, celurares etc. Um pouco de história Ocorreu em junho de 1983, a primeira utilização de C++ fora de uma organização de pesquisa. Podemos considerar C++ um resultado evolutivo da linguagem de programação BCPL, criada por Martin Richards Apostila de C++ Builder Pagina -5-

6 e que rodava num computador DEC PDP-7, com sistema operacional UNIX. Ken Thompson, em 1970, efetuou algumas melhorias na linguagem BCPL e a chamou de linguagem "B". Em 1972, Dennis M. Ritchie, no Centro de Pesquisas da Beel Laboratories, implementou diversas melhorias na linguagem "B" que, considerada uma sucessora de "B", foi chamada de "C", rodando pela primeira vez num DEC PDP- 11, em sistema operacional UNIX. O poder da linguagem "C" logo foi demonstrado, em sua primeira aplicação de peso, quando foi usada para reescrever o sistema operacional UNIX, até então escrito em linguagem assembly. Com o tempo, a linguagem "C" tornou-se bastante popular e importante. Contribuiriam para o sucesso o fato de essa linguagem possuir tanto características de baixo nível quanto de alto nível; a portabilidade da linguagem, ou seja, poder ser usada em máquinas de diferentes portes e diferentes sistemas operacionais; bem como o fato de, em meados de 1970, o sistema operacional UNIX ser liberado para as Universidades, deixando de ficar restrito aos laboratórios. Por volta de 1980, várias empresas já ofereciam diversas versões de compiladores "C", compatíveis com outros sistemas operacionais, além do original UNIX. Bjarne Stroustrup criou C++. Claramente, como pondera Stroustrup, C++ deve muito a "C" que foi mantida como um subconjunto. Também foi mantida a ênfase de "C" em recursos que são suficientemente de baixo nível para enfrentar as mais exigentes tarefas de programação de sistemas. Outra fonte de inspiração para C++ foi Simula67, da qual C++ tomou emprestado o conceito de Classes. Desde 1980, versões anteriores da linguagem, conhecidas como "C com Classes" têm sido utilizadas. O nome C++, criado em 1983 por Rick Mascitti, representa as mudanças evolutivas a partir de "C", onde "++" é o operador de incremento em "C". Bjarne Stroustrup projetou C++ basicamente para poder programar sem ter de usar Assembler, "C" ou outras linguagens de alto nível. Seu principal objetivo era tornar a escrita de bons programas mais fácil e mais agradável para o programador individual. Em março de 1998, o American National Standards Institute (ANSI) aprovou e publicou um padrão para a linguagem C++. A padronização melhora a portabilidade e a estabilidade dos programas. Usando a biblioteca Standart de C++, podemos, rapidamente, construir aplicações confiáveis, bem como mantê-las com menos custo e esforço. Desde seu desenvolvimento por Dr. Bjarne Stroustrup, C++ foi extensamente usado na construção de grandes e complexas aplicações como telecomunicações, finanças, negócios, sistemas embutidos e computação gráfica. A padronização final da biblioteca de C++ torna mais fácil o seu aprendizado, facilitando seu uso por uma grande variedade de plataformas, o que, por outro lado, significa garantia de colocação profissional permanente para os bons programadores da linguagem. Conceitos Podemos classificar as linguagens de programação em dois grupos: aquelas consideradas de baixo nível e aquelas consideradas de alto nível. Apostila de C++ Builder Pagina -6-

7 1º. Linguagens de baixo nível. Quando nascemos, à medida que crescemos, nossa percepção e o contato com a realidade do mundo, nos anexa às coisas como elas já foram sedimentadas na cultura de um povo. Assim também ocorre com o idioma e, de um modo geral, com algumas ciências que assimilamos em sequer darmos conta disso. Por exemplo, quando uma criança conta para outra que possui trinta ou quarenta figurinhas, não percebe, mas está fazendo uso do sistema numérico decimal (base 10). E o sistema numérico decimal está incrustado em nosso cotidiano. Via de regra, todos os valores que usamos e todas as contas que fazemos têm esse sistema numérico como base. Por exemplo, quando escrevo 543, você entende 543 e não tem dúvidas, pois sabe o que 543 significa. Raciocinando em sistema numérico decimal, também não é difícil compreender que: 543 = (5 x 10²) + (4 x 10¹) + (3 x 10º) pois 543 = (5 x 100) + (4 x 10) + (3 x 1) pois 543 = Infelizmente, os sistemas computacionais não representam valores usando o sistema numérico decimal. Internamente, os computadores representam valores usando dois níveis de voltagem (normalmente 0v e +5v). Com esses dois níveis de voltagem, nós podemos representar dois valores. Por convenção, adota-se o zero e o um. Então, para todos os efeitos, os computadores só conhecem uma linguagem que é constituída por zeros e uns, ou código de máquina, mais conhecida por linguagem binária. Nesse contexto, se quisermos representar o número 543, devemos escrever: Qualquer quantia de dígitos binários com valor igual a zero pode anteceder um número binário sem alterar-lhe o valor. Por exemplo, podíamos representar o número 543 assim: Ante o exposto, não fica difícil compreender que a menor unidade de dados num computador é um dígito binário. Um dígito binário é o mesmo que um bit, abreviatura de binary digits. Complicado? No início da era dos computadores (aqueles gigantes à válvula), os programas eram escritos basicamente em binário, mas, felizmente, longe se vão os dias em que se precisava programar diretamente em binário, embora ainda exista quem trabalhe nesta base. O sistema numérico binário tem um modo de funcionamento semelhante ao sistema numérico decimal, porém com duas diferenças básicas: Apostila de C++ Builder Pagina -7-

8 1ª. o sistema numérico binário contém apenas os dois valores 0 e 1, em vez de 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9; e 2ª. o sistema numérico binário usa potências de 2, em vez de potências de 10. Embora um bit seja capaz de assumir apenas dois valores (zero e um), o número de elementos que se pode representar com um único bit é infinitamente grande. Por exemplo, pode-se representar quaisquer dois valores diferentes com um único bit: falso ou verdadeiro, maior ou menor, redondo ou quadrado e assim por diante, numa lista incomensurável. Todavia, esse tipo de construção não é usual. Um sério problema com o sistema binário é o tamanho de suas representações. Veja bem, enquanto a versão decimal de 543 contém apenas três dígitos: 5, 4 e 3, a representação binária do mesmo valor contém dez dígitos: Disso decorre que, ao se trabalhar com valores grandes, os números binários rapidamente se tornam difíceis de ser controlados. Embora seja possível converter binários em decimal e vice-versa, tal tarefa não é simples nem trivial. Mas é essa a linguagem que a máquina entende. Alternativamente, tentou-se programar em hexadecimal, que pode representar dezesseis valores entre 0 e 15 decimais. Os números hexadecimais possuem duas características positivas: 1ª. sua conversão para binário é relativamente simples; e 2ª. são razoavelmente compactos. O sistema hexadecimal é uma base de numeração que começa a ser contado no "0" e termina em "F": 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. O sistema hexadecimal possui uma relação simples com o sistema binário, uma vez que para cada grupo de quatro dígitos binários temos um em hexadecimal. Apostila de C++ Builder Pagina -8-

9 veja a tabela abaixo: decimal binário hexadecimal A B C D E F A B C D E F Apostila de C++ Builder Pagina -9-

10 Existem algumas convenções que devem ser adotadas para se diferenciar os sistemas numéricos: 1ª. pode-se colocar um sufixo "d" num valor decimal; 2ª. a letra "b" deve ser colocada no final de todo e qualquer valor binário. Exemplo: b 3ª. a letra "h" deve ser colocada ao final de todo e qualquer valor hexadecimal. Exemplo 4D5Fh; Não há necessidade de enfatizar que a programação em hexadecimal, embora menos complexa que a binária, continuava sendo demasiadamente complicada e demorada. Nesse contexto, surge uma nova linguagem de programação: o Assembly, uma linguagem de símbolos designados mnemónicas, que são instruções Assembly. Cada mnemónica tem a sua correspondência em um comando elementar inteligível pelo computador. Nesse tipo de programação, o programador trabalha diretamente com registradores da CPU e com a memória, entre outras coisas. Programar em Assembly significa conversar quase que diretamente com a CPU, tal qual os sistemas binário e hexadecimal. Ou seja, nesses tipos de programação, o programa é escrito em uma linguagem muito próxima àquela que a máquina entende, e por isso são as linguagens ditas de baixo nível. Abaixo, exemplo de instrução em Assembly: a 100 MOV AX, 20 MOV BX, 30 ADD AX, BX NOP Do exemplo, AX e BX são registradores internos da CPU. O comando a 100 determina o endereço inicial para o programa em 0100h; o programa executa o seguinte: move para o registrador AX o valor 20; move para o registrador BX o valor 30; soma o conteúdo do registrador AX com o conteúdo do registrador BX e deixa o resultado em AX; e a instrução NOP finaliza o programa. 2º. Linguagens de alto nível Quando nos referimos às linguagens de alto nível, estamos falando daquelas que são escritas em um distanciamento relativo da linguagem máquina. Ou seja, as linguagens de alto nível são aquelas que se aproximam da linguagem humana, como a Linguagem Basic, C++, Pascal, Java etc. Por exemplo, Para fazer uma frase aparecer na tela no DarkBASIC, basta digitar: Apostila de C++ Builder Pagina -10-

11 PRINT " Esta frase que está entre aspas será exibida na tela! " Veja agora, a mesma frase em linguagem C: main() printf (" Esta frase que está entre aspas será exibida na tela! "); exit (0); Em Pascal: program begin write (" Esta frase que está entre aspas será exibida na tela! "); end Visualmente, o que diferencia estas linguagens de programação daquelas ditas de baixo nível é justamente o fato de nestas linguagens podermos encontrar algum sentido naquilo que estamos lendo ou escrevendo. Um simples programa como este que foi apresentado nessas linguagens de alto nível, seria praticamente ininteligível para nós, se fosse escrito em binário. De uma forma simplista, podemos dizer que nas linguagens de alto nível, o próprio programa tradutor (compilador ou interpretador) que usamos se encarrega de conversar com a máquina, transformando todos os comandos que inserimos no programa para uma linguagem que a máquina compreenda qual a resposta a ser dada. Ou seja, o tradutor converte o código-fonte em um código executável pela máquina. Apostila de C++ Builder Pagina -11-

12 O bit e o byte O tipo de dado mais utilizado pelos chips da família 80x86 não é o bit, e sim o byte. Um byte equivale a um grupo de oito bits. Para facilitar a leitura e a compreensão, costumam-se adotar algumas convenções: 1ª. completar com zeros os números binários para que eles se tornem um múltiplos de quatro ou de oito bits. Exemplo: 543 = ; 2ª. cada grupo de quatro bits deve ser separado por espaço. Exemplo: Um byte pode representar até 256 valores diferentes, pois são oito bits em potência de dois: 2 8 = 256. Geralmente um byte é usado para representar valores compreendidos entre 0 e 255 não sinalizados ou valores entre -127 a 128 sinalizados. Para os tipos de dados, como os caracteres (letras ou símbolos), que não possuem mais do que 256 elementos, um byte normalmente é suficiente. Embora sejam visualizadas como letras e símbolos, as constantes caracteres são armazenadas internamente pelo computador como um número inteiro entre 0 e 255. O caracter A, por exemplo, tem valor 65; o B, 66; o C, 67; e assim por diante. Os valores numéricos dos caracteres estão padronizados em uma tabela chamada de American Standard Code for Information Interchange Table ou simplesmente tabela ASCII. Um grupo de 16 bits denomina-se word, ou palavra. Com 16 bits podemos representar até (2 16 ) valores diferentes: 0 a não sinalizados e a sinalizados. Um dos principais usos para a palavra são para os valores de inteiros. Um grupo de 32 bits denomina-se double words. Com 32 bits podemos representar uma infinidade de tipos de dados, como por exemplo valores ponto flutuante de 32 bits. São (2 32 ) valores diferentes: 0 a não sinalizados e a sinalizados. Cuidados gerais Ao escrever um código-fonte em C++, algumas precauções extras devem ser adotadas. Apostila de C++ Builder Pagina -12-

13 1. Deixar o código o mais claro e compreensível possível, inserindo comentários e usando-os adequadamente, bem como tomar bastante cuidado com a grande liberalidade na forma que o formato livre admite. Documentar o trabalho Em princípio, comentários são textos que inserimos no programa para esclarecer qual é a tarefa que determinado comando realiza. Comentários são muito importantes em nossos códigos C++. A linguagem C++ suporta dois estilos de comentários: a) comentário no estilo C: /*...*/ /* Neste tipo de comentário, tudo aquilo que estiver inserido entre a chave de abertura do comentário (barra e asterisco) e a chave de fechamento do comentário (asterisco e barra) será desconsiderado pelo compilador, independentemente da quantidade de linhas usadas. */ b) comentário no estilo C++: // // Neste tipo de comentário, tudo aquilo que estiver inserido à direita // do comentário (barras duplas), até o final da linha // será desconsiderado pelo compilador. // Neste estilo, a cada nova linha, // precisamos iniciar um novo comentário. Outra aplicação que podemos dar aos comentários, é a de tirar, temporariamente, a validade de uma parte do programa: cout << " Esta mensagem aparece na tela! \n"; // cout << " Esta mensagem não aparece na tela! \n"; /* cout << Esta mensagem não aparece na tela! \n"; * Uma vez iniciado um comentário no estilo C, não podemos inserir outro comentário dentro deste, pois o compilador considerará apenas a primeira chave de fechamento, o quê ocasionará um erro: /* Abrimos um comentário no estilo C; /* até a primeira chave de fechamento não há problemas, pois a abertura desse novo comentário, na verdade não ocorreu, sendo considerada parte integrante do comentário inicial */ aqui começa a parte ilegal do comentário, e o compilador deve acusar o erro */ Cuidado com o formato livre Há uma grande liberalidade na forma em que podemos escrever um código C++, o que significa que o posicionamento de alguns comandos ou caracteres dentro do texto, de regra, não influenciarão no resultado da compilação. Esclarecendo melhor, espaços, tabulações, retornos ou comandos escritos em novas linhas são caracteres desconsiderados pelo compilador. Abaixo transcrevemos um mesmo programa escrito de três formas diferentes: Apostila de C++ Builder Pagina -13-

14 void main(void) cout << " C++ possui formato livre!!!\n"; getch(); void main ( void ) cout << " C++ possui formato livre!!!\n" ; getch ( ) ; void main(void)cout << " C++ possui formato livre!!!\n";getch(); O resultado apresentado pelo programa acima é rigorosamente o mesmo em qualquer das três hipóteses. Evidentemente, se, quando trabalharmos num projeto, não tivermos cuidado de escrever um bom e legível código, o resultado poderá apresentar-se bagunçado, dificultando sua compreensão e, até mesmo, a localização e conserto de bugs (erros no código que afetam diretamente o resultado) no programa. Certamente em pouco tempo você já estará desenvolvendo sua própria técnica para escrever bons programas, usando o formato livre a seu favor. 2. Cuidado com o uso de letras maiúsculas e minúsculas C++ é Case Sensitive C++ é Case Sensitive, isto é, letras maiúsculas e minúsculas são interpretadas de forma diferente pelo compilador. Dentre outras implicações, isso significa que se, por acaso, declararmos uma variável com o nome Temp, os seguintes nomes terão significados diferentes: TemP; TEMP; temp; temp; TeMp. Atenção especial devemos ter quando escrevemos os comandos da linguagem nas instruções dos códigos-fontes, Apostila de C++ Builder Pagina -14-

15 bem como com algumas funções pré-existentes. Boa parte desses comandos são digitados com letras minúsculas, como por exemplo: cout, cin, if, else, while, do... while, for, switch... case, include, iostream.h, conio.h, open(), getch(), define, undef, \n, \t, \a etc. Mas essa regra, dependendo do compilador, não é absoluta e comporta exceções, como algumas funções ou classes internas do C++ Builder, como ShowMessage() ou AnsiString ou quando, por exemplo no IBM-PC, trabalhamos com os 128 caracteres adicionais da tabela ASCII, pois neste tipo de dado, trabalhamos com o código do símbolo na base hexadecimal. É bastante comum erros de compilação por causa da sensitividade de C++, mas esse não é um erro difícil de se corrigir. O programa main() Todo programa C++ deve ter uma função principal denominada main(), não podendo haver outra função com esse mesmo nome, sendo que a execução do programa sempre será iniciado em main(). O menor programa possivel em C++ é: main() Ele define a função main, que não recebe nenhum argumento e não devolve nada. O programa logo encerra e o máximo que se percebe é uma janela piscando rapidamente na tela. Em se tratando aplicações tradicionais Windows, necessário far-se-á entendermos a função WinMain. Em capítulos posteriores, estudaremos essa função com detalhes Primeiro programa Diversos programas-exemplo serão apresentados durante este curso, sendo que os mesmos foram processados no c++builder 5.02, c++builder 3, c++builder 4 e no c++builder 6, todos da borland. Alguns desses programas foram escritos com o intuito de ilustrar os tópicos apresentados; outros, para deixar o curso mais interessante. Sendo assim, procuraremos apresentar tutoriais sobre a confecção de programas, que irão se completando aos poucos, à medida que avançamos no curso. No final, tudo deverá fazer sentido. O código-fonte de um programa C++ pode ser escrito em qualquer editor de texto simples que possa salvar seu conteúdo em formato de texto puro. Podemos, inclusive, usar o Bloco de Notas do Windows. Porém, no lugar da extensão.txt, devemos salvar os códigos do programa com extensão.cpp. Contudo, a forma mais rápida e sensata de se escrever um programa C++ é usando o próprio editor de códigos que acompanha o ambiente de desenvolvimento C++. Esclarecemos aqui que muitos exemplos deste livro estão redigidos com fonte formatada (itálica, negrito, colorida etc) apenas para fins didáticos e para facilitar uma eventual localização no mesmo. Um código-fonte C++ não deverá ser escrito com este formato e sim, conforme já exposto, em formato de texto puro, não formatado. Se você está procurando um bom editor de códigos para seus programas, nos atrevemos a indicar o ConTEXT. Usamos esse editor grandemente na elaboração destas páginas. Com ele ficou muito fácil padronizar a visualização dos Apostila de C++ Builder Pagina -15-

16 códigos fontes, bem como exportar os mesmos, já formatados, para o padrão.html ou.rtf. Para maiores informações, consulte Inicialmente, para compreendermos melhor o conceito dos comandos e das instruções em C++, trabalharemos um programa definido como aplicação Console Win32, que gera programas parecidos com o DOS quando estão rodando, mas, na realidade, trata-se de programas de 32 bits executados no ambiente Windows. Bem, chega de conversa e vamos por as mãos na obra: 1. inicialize o C++Buider; 2. dê um clique no menu File; 3. dê um clique em New Na janela que se abrir, selecione a opção Console Wizard e clique em OK; 5. selecione Console em Window Type e clique em finish. Apostila de C++ Builder Pagina -16-

17 O Builder C++, abrirá o editor de textos para você. É nesta janela que digitaremos o código-fonte de nosso programa. Observe o próprio BuiderC++, por default (padrão), já digita parte do código que usaremos. Porém essa sugestão da Borland, neste tipo de aplicação Console Wizard, em princípio, pode ser ignorada, conforme demonstramos abaixo. Você pode optar por qualquer uma das duas formas para desenvolver seus programas: Apostila de C++ Builder Pagina -17-

18 Na sugestão da Borland: #pragma hdrstop #include <condefs.h> // #pragma argsused int main(int argc, char* argv[]) return 0; devemos digitar o código-fonte de nosso programa imbricando-o no código pré-estabelecido acima. Outra opção que temos é deletar todo esse código e simplesmente iniciar nosso programa a partir do código já visto do menor programa possível em C++: main() Esse modelo é aconselhável, se você estiver usando outro tipo de compilador. Caso haja algum conflito entre o exemplo apresentado e o seu compilador, procure ajuda no manual do mesmo. Nosso primeiro programa, ao ser compilado, escreverá na saída de vídeo uma string (cadeia de caracteres) com um espaço de tabulação na segunda linha da tela, levará o cursor para a terceira linha da tela, emitirá um beep e, por fim, aguardará que uma tecla qualquer seja pressionada para encerrar a aplicação. Delete toda a sugestão da Borland e, no editor de textos, digite: #include <iostream> #include <conio> main() std::cout << "\n\testou fazendo o meu primeiro programa\n\a"; getch(); Se preferir manter a sugestão da Borland, o código deverá ficar assim: #pragma hdrstop Apostila de C++ Builder Pagina -18-

19 #include <condefs.h> #include <iostream> #include <conio> #pragma argsused int main(int argc, char* argv[]) std::cout << "\n\testou fazendo o meu primeiro programa\n\a"; getch(); return 0; Para Salvar, clique o menu File, escolha a opção Save e, na pasta de sua preferência, salve o programa com o nome PrimProgram.bpr. Agora vamos rodar o programa para ver o resultado. Compilar significa converter o código-fonte em linguagem que o processador (CPU) entenda, ou seja, em código de máquina, reunindo todos os comandos em um só arquivo. Linkeditar é transformar esse código fonte em um executável - um.exe (programa pronto). Para executar o programa, nós podemos pressionar a tecla F9, ou podemos dar um clique em Run no menu Run, ou podemos clicar a seta verde (Run F9) sob o botão Open Project. Feito isso, seu primeiro programa produzirá um executável semelhante à figura abaixo: Apostila de C++ Builder Pagina -19-

20 Muito bem, salvado o programa, encerre o aplicativo C++Builder. Abra a pasta onde você salvou o projeto PrimProgram.bpr e observe que o compilador colocou lá cinco arquivos: PrimProgram.bpr PrimProgram.cpp PrimProgram.exe PrimProgram.obj PrimProgram.tds Ora, mas vejam só, nós já temos um arquivo.exe (PrimProgram.exe) em nossa pasta! Inicialize-o e perceba que o nosso primeiro programa já roda sem auxílio do compilador. Pois bem, pressione uma tecla qualquer para encerrar o aplicativo e dê um (ou dois) clique(s) em PrimProgram.bpr para ver o que acontece:... Estamos de volta no ambiente de desenvolvimento do primeiro programa. A seguir, procuraremos entender como conseguimos criar esse programa. Na explanação, aparecerão nomes como Classes, objetos, macros, funções etc, que talvez lhe pareçam estranhos e incompreensíveis. Não se preocupe, pois, no momento certo, tudo ficará claro. Apostila de C++ Builder Pagina -20-

21 Diretivas de pré-processador O pré-processador C++ é um programa que fornece mecanismos para inclusão de arquivos-textos, cabeçalhos padrão e compilação condicional baseada em macros. Esse programa também pode ser usado para definir e usar macros. Talvez você esteja se perguntando: afinal, o quê quer dizer esse monte de coisas? Por enquanto, apenas para elucidar nosso primeiro programa sem tumultuar nosso entendimento, vamos nos contentar com uma explicação bem singela: O pré-processador C++ é um programa que roda antes do compilador e, baseando-se em certas instruções denominadas diretivas de compilação, examina o programa fonte e implementa-lhe algumas modificações. As diretivas de compilação mais comuns são: #include #define #line #ifdef #ifndef #if #else #elif #endif #undef #error #pragma Apostila de C++ Builder Pagina -21-

22 Algumas particularidades: 1ª. todas as diretivas iniciam com #; 2ª. devemos respeitar a regra de colocar somente uma diretiva em cada linha. Ou seja, não podemos colocar outro comando qualquer na linha em que há uma diretiva. a diretiva #include Imagine que muitos dos resultados que esperamos obter de nossos programas já estão, de certa forma, prontos, na biblioteca padrão, para ser inseridos em nosso código-fonte. Ou seja, não temos necessidade de desenvolver determinados arquivos (classes, funções ou gabaritos) porque eles já existem e podem ser usados em qualquer momento que precisemos deles. Quando o pré-processador encontra a diretiva #include em nosso código fonte, substitui a mesma pelo conteúdo do arquivo indicado (no nosso exemplo, o conio e o iostream). O resultado é que o compilador encontrará e processará o arquivo implementado, e não a diretiva de compilação. A diretiva #include é um mecanismo de tratamento do código-fonte que reúne, em um único arquivo de compilação, códigos (arquivos de cabeçalho ou hearder files, ou arquivos que contenham funções ou definições de dados) que se encontram dispersos em vários arquivos. Para incluir os herder files em nosso código-fonte, devemos usar os símbolos < e > ou " e " para envolver o arquivo de cabeçalho: #include <iostream> ou #include "iostream.h" Se deixarmos espaço entre o caracter < e o nome do arquivo de cabeçalho, ou entre o caracter " e o nome do arquivo de cabeçalho, o compilador indicará erro: < iostream.h> // [C++ Error] Project2.cpp(4): E2209 Unable to open include file ' iostream'. Convencionou-se usar para os arquivos de cabeçalho o sufixo.h e para outros tipos de arquivos que contenham funções ou definições de dados, o sufixo.hpp,.c, ou.cc,.cpp,.cxx,.c, conforme o compilador. No caso do C++Builder, o arquivo que se encontra associado é o.hpp, responsável pela interface com a VCL, que foi escrita em Object Pascal. Historicamente, o sufixo.h era padrão para todos os arquivos de cabeçalho. Entretanto, para evitar problemas de compatibilidade com cabeçalhos de versões redefinidas de biblioteca padrão, ou com novos recursos de biblioteca que foram surgindo, resolveu-se suprimir o sufixo.h dos nomes de cabeçalho padrão (podemos dizer que cabeçalho padrão é o arquivo de cabeçalho definido na biblioteca padrão). A Apostila de C++ Builder Pagina -22-

23 partir de então, nenhum sufixo é necessário para cabeçalhos da biblioteca padrão: <iostream>, <conio>, <map> etc. A principal diferença entre a biblioteca padrão e a não padrão é que, enquanto uma biblioteca não padrão tem de ser incorporada manualmente, a padrão é incorporada automaticamente pelo compilador. É importante saber, ainda, que os recursos da biblioteca padrão estão definidos num ambiente de nomes chamado std e apresentados como uma série de cabeçalhos. O arquivo de cabeçalho iostream Para o nosso programa imprimir a string Estou fazendo o meu primeiro programa no vídeo, nós providenciamos para que a Classe iostream fosse chamada à compilação através da diretiva #include. A biblioteca iostream contém as declarações necessárias ao uso de streams de entrada (teclado) e saída (vídeo), como, por exemplo, o objeto cout e o operador de inserção <<. Obtém-se o operador de inserção << digitando-se o caracter "menor que" duas vezes. O objeto cout é o responsável pela saída, no console ou na tela, da string que digitamos: Estou fazendo o meu primeiro programa. O operador de inserção << (envie para) escreve o argumento da direita (a string) no da esquerda (no cout). Além do cout e do operador de inserção << a Classe iostream contém outras definições de impressão e leitura (I/O), que estudaremos mais adiante. Você deve ter notado que demonstramos a inclusão dos arquivos de cabeçalho da Classe iostream de três modos diferentes: #include <iostream> // Cabeçalho padrão sem sufixo.h #include "iostream.h" // Cabeçalho de biblioteca não padrão #include <iostream.h> // Cabeçalho padrão com sufixo.h Não há necessidade de inserirmos nenhum sufixo para cabeçalhos da biblioteca padrão, porque os símbolos < > já denotam o chamamento de cabeçalhos padrão. Contudo, as declarações dos cabeçalhos mais antigos, são colocadas no ambiente de nomes global, carecendo do sufixo.h. Os cabeçalhos colocados entre aspas " " determinam que o pré-processador procure o cabeçalho primeiro no diretório atual, e depois na biblioteca padrão (Include). Em nosso programa: #include<iostream> instrui o pré-processador a incluir os recursos de entrada e saída de iostream padrão, e std::cout determina a inclusão do cout padrão. Apostila de C++ Builder Pagina -23-

24 Se quisermos, podemos tornar todos os nomes std globais, o que nos poupa da tarefa de ter que digitar constantemente o prefixo std:: antes de cout: #include <iostream> using namespace std; Se algum dos nossos programas não rodar, podemos usar uma versão mais tradicional. Para isso colocamos o sufixo.h nos cabeçalhos e removemos o prefixo std::. Exemplo: #include <iostream.h> #include <conio.h> main() cout << "\n\testou fazendo o meu primeiro programa\n\a"; getch(); Boa parte dos programadores, talvez por praticidade, parece preferir essa segunda versão. Daqui para frente, escolha é sua! O arquivo de cabeçalho conio Nosso programa possui outro cabeçalho, o arquivo conio. Trata-se de um arquivo de inclusão necessário à utilização da função getch(). Quando descrevemos o que o nosso programa faria, afirmamos que, por fim, ele aguardaria que uma tecla qualquer fosse pressionada para encerrar a aplicação. Essa tarefa foi desempenhada pela função getch() que retorna o caracter lido no teclado, sem imprimi-lo no vídeo. Se quisermos que o caracter lido seja impresso no vídeo, podemos usar a função getche(), também integrante de a conio. Lembra-se do menor programa possível em C++, quando afirmamos que tudo o que veríamos seria um breve piscar da janela na tela e o encerramento do programa? Pois bem, poderíamos usar getch() para segurar a janela na tela até que uma tecla fosse pressionada! Caracteres especiais Antes que nossa string fosse imprimida no vídeo, o programa pulou uma linha (caracter de nova linha) e imprimiu uma caracter de tabulação horizontal. Depois da string, o programa colocou o cursor na linha de baixo (nova linha) e emitiu um beep (sinal sonoro). Como fizemos isso? Apostila de C++ Builder Pagina -24-

25 Alguns caracteres não podem ser inseridos diretamente pelo teclado. Por exemplo, se, durante a elaboração do código-fonte, no meio da string, pressionarmos a tecla Enter pensando que estaremos inserindo uma nova linha, faremos com que o compilador apresente uma mensagem de erro. A solução é usarmos algumas combinações de caracteres que realizam essas tarefas. Essas combinações, conhecidas como seqüência de escape, são representadas por uma barra invertida \ e um caracter. Por exemplo, a combinação \n representa nova linha (Enter), \t representa tabulação horizontal (Tab) e \a representa o beep. Essas seqüências de escape, nós já conhecemos. Vejamos outras: Escape Nome Valor ASCII Descrição \a Bell (alerta) 007 emite um som do computador \b Backspace 008 retrocede um caracter \n New Line 010 envia o curso para a próxima linha \r Carriage return \t Horizontal Tab \xff 013 move o cursor para o início da linha 009 põe o cursor para a próxima tabulação representação hexadecimal \0 Null 000 exibe um caracter nulo \" Aspas duplas 034 exibe aspas duplas ( ) \' apóstrofe 039 exibe apóstrofe (') \? Interrogação 063 exibe ponto de interrogação \\ Barra invertida 092 exibe barra invertida String(s) de texto Constante caracter é uma letra ou símbolo colocado entre apóstrofes: 'a', 'b', '~', 'A', 'B', '\n, '\r', '\xa0', '\xa2', 'xa3' etc. Uma importante atividade nos programas em geral é a manipulação de textos como palavras, frases, nomes etc. Na realidade, esses textos são constantes string(s), que se compõem de um conjunto de caracteres colocados entre aspas: "Estou fazendo o meu primeiro programa", "constante string", "\touviram do Ipiranga as margens pl\xa0" "cidas\n\tde um povo her\xa2ico o brado retumbante\n\te o sol da liberdade em raios f\xa3lgidos,\n\tbrilhou no c\x82u da P\xa0tria nesse instante.\n" Apostila de C++ Builder Pagina -25-

26 Funções Funções são a base de qualquer programa C++. Elas compõem, juntamente com as Classes, os blocos construtivos da linguagem. Dentro das funções, encontramos todos os comandos executáveis, sendo que as mesmas são a maneira típica de se obter alguma execução em C++. Vamos reescrever o primeiro programa. Por enquanto, não queira compreender todos os detalhes da alteração, uma vez que, por ora, nossa preocupação é apenas esclarecer, sem pormenores, quais são os elementos básicos de uma função. Em outra seção deste curso, abordaremos as funções de uma forma mais abrangente e minuciosa. Inicialize PrimProgram.bpr, caso não esteja com ele aberto. No compilador, clique em Edit e depois em Select All; Clique novamente em Edit e depois em Delete. Agora copie o código abaixo no editor de textos do compilador. /*Dica: não use o recurso de copiar e colar códigos-fontes quando estiver estudando. Procure digitar todo o código e entender o resultado que cada. instrução conhecida produzirá no programa.*/ #include <iostream> #include <conio> using namespace std; // torna todos o nomes std globais void ModifPrimProg(void); // declara a finção ModifPrimProg int main() // estamos em main() ModifPrimProg(); // chama a função ModifPrimProg return 0; // fim de main() void ModifPrimProg(void) // cabeçalho da definição da função cout << "\n\t\tmodificando o primeiro programa." "\n\n\n\t\tdigite dois caracteres mas veja " "s\xa2 o primeiro: "; getche(); // retorna e imprime o caracter lido no vídeo cout << '\a'; // beep - sinal sonoro getch(); // retorna o caracter sem imprimi-lo no vídeo // fim de ModifPrimProg() Execute o programa e volte aos estudos. Com essa pequena alteração no código, podemos visualizar melhor alguns detalhes sobre as funções. Uma função deve ter a seguinte forma geral: Apostila de C++ Builder Pagina -26-

27 tipo nome(declaração dos parâmetros) Primeira_Instrução; Segunada_Instrução; Etc_instrução; Nosso programa agora possui quatro funções: main(), ModifPrimProg(), getche() e getch(). O nome delas é: main, ModifPrimProg, getche e getch respectivamente. A função main(), como sabemos, é a principal, é aquela onde a execução do programa se inicia; ModifPrimProg() é uma função que não estava em biblioteca alguma, tendo sido criada por nós; getche() e getch() nós também já conhecemos do arquivo de cabeçalho conio. Precedendo o nome da função main() temos o tipo int, que informa ao compilador que main() pode retornar um tipo int. Já a função ModifPrimProg() é do tipo void. O tipo void significa que a função não possui valor de retorno. Quando nenhum tipo de retorno for especificado, presume-se o valor de retorno int para a função. As funções retornam valores por meio do comando return. Após o nome de qualquer função temos parênteses de abertura "(" e de fechamento ")". Nesses parênteses, informamos ao compilador a lista de parâmetros que a função pode receber. Logo, ModifPrimProg(void) não pode receber nenhum parâmetro por causa do tipo void. Entende-se por cabeçalho da definição da função o conjunto tipo nome(declaração dos parâmetros) que antecede a chave "" de abertura do corpo da função. Entre a chave de abertura "" e a de fechamento "" do corpo da função, encontramos as tarefas (instruções) que a mesma realiza. Instruções são as tarefas que determinados comandos realizam. Toda instrução é encerrada com um ponto e vírgula ";": cout << "uma instrução!"; getch(); return 0; A falta do ponto e vírgula ensejará mensagem de erro pelo compilador. Porém, não se coloca ponto e vírgula após as chaves de abertura e fechamento das funções. Apostila de C++ Builder Pagina -27-

28 Não se preocupe em entender, por ora, todos os conceitos apresentados, posto que os abordaremos novamente no correr do curso. Até aqui, tivemos apenas a intenção de colocá-los em contado com o ambiente de programação C++Builder e com os fundamentos da linguagem C++. Imprimindo dados nos componentes Se você ainda não se sente familiarizado com o C++Builder, ou não se sente seguro para a respeito da forma correta de se colocar componentes nos formulários (Forms), antes de prosseguir no curso, dê uma olhada nas seguintes lições: Introdução ao BCB( Introdução ao BCB - 2ª parte( Podemos inserir palavras, textos ou frases em diversos componentes através códigos ou de suas propriedades no Object Inspector. Essas propriedades, uma vez demarcadas, determinam o modo que o programa iniciará a sua execução. Podemos, posteriormente, em tempo de execução, alterar essas propriedades de diversas formas, conforme o caso. Exemplos: No Object Inspector, mude o texto da propriedade Caption do Form, de um Label, de um botão, e assim por diante e visualize, já no projeto, o resultado da alteração. Outros componentes, derivados de outros ramos, possuem outras formas de ser alterados. Por exemplo, altere a propriedade Text de um Edit, ou de um MaskEdit; ou a propriedade Items de um ListBox; ou as propriedades Text e Items de um ComboBox etc. Vejamos algumas formas de inserir textos em componentes, através do código, em tempo de execução: void fastcall TForm1::Button1Click(TObject *Sender) Canvas->TextOut( Canvas->PenPos.x, Canvas->PenPos.y, "Imprimindo um texto no form com o objeto Canvas" ); Label1 -> Canvas->TextOut( Canvas->PenPos.x, Canvas->PenPos.y, "Imprimindo um texto no Label com o objeto Canvas" ); Canvas->TextOut( Canvas->PenPos.x = 100, Canvas->PenPos.y = 100, "Imprimindo um texto nas coordenadas X = 100 e Y = 100 do Form" ); Outro exemplo: void fastcall TForm1::Button1Click(TObject *Sender) Apostila de C++ Builder Pagina -28-

29 /* Este exemplo deve ser testado com dois cliques. O primeiro chamará a propriedade Caption; o segundo, o objeto Canvas */ Label1 -> Caption = "Testando o Caption"; /* Na linha de código abaixo, precisamos determinar uma coordenada diferente da default (0, 0), para que esse texto não venha a sobrescrever o Caption de Label */ Label1 -> Canvas->TextOut( Canvas->PenPos.x = 100, Canvas->PenPos.y = 100, "Imprimindo um texto nas coordenas X = 100 e Y = 100 do Label" ); Outro exemplo: void fastcall TForm1::Button1Click(TObject *Sender) Label1 -> Caption = "Testando propriedades"; Edit1->Text = "Continuando o teste..."; ListBox1->Items-> Add(Label1 -> Caption); ListBox1->Items-> Add("Testando..."); ComboBox1 -> Text = "Fala, Grande!"; ComboBox1 -> Items -> Add(Label1 -> Caption); ComboBox1 -> Items -> Add("Fala, Grande..."); ComboBox1 -> Items -> Add(Edit1->Text); Outro exemplo: void fastcall TForm1::Button1Click(TObject *Sender) ShowMessage("Alô, Thérbio!"); ShowMessage("Alô, Thérbio!" "\nestou na segunda caixa de mensagem,\n e na terceira linha"); MessageBox(0, "Agora uma caixa de mensagens \nm\n\ta\n\t\ti\n\t\t\ts\neditada!", "Caixa de Aprendizagem...", 64); Nota introdutória. No avançar deste curso, você perceberá que, propositadamente, usamos alguns nomes, comandos ou tipos de dados com os quais você poderá não estar habituado a trabalhar. Não se assuste e nem se preocupe em querer entender imediatamente todos os detalhes apresentados, pois tudo deverá ficar bastante claro no tempo certo. Concentre-se, basicamente, em entender a manipulação dos dados referentes ao tópico apresentado. Apostila de C++ Builder Pagina -29-

30 Conhecendo melhor as propriedades que capturam dados Nos exemplos anteriores, conhecemos um modo de inserir textos ou strings nos componentes, sem nos preocuparmos de que modo isso nos pode ser útil. Agora aprofundaremos um pouco mais o estudo para podermos entender que essas propriedades não estão limitadas e pode produzir alguns resultados mais úteis: void fastcall TForm1::Button1Click(TObject *Sender) /* Neste exemplo, iremos corrigir uma falha referente à cor do primeiro exemplo em que usamos o objeto Canvas do Form. Como você deve ter notado, as cores da frase sairam com um fundo branco (clwhite), enquento que o form manteve a cor original clbtnface, visto que não procedemos a nenhuma alteração nela. Para visualizar melhor essa situação, dê uma olhada na propriedade Color do Form no Object Inspector. Pois bem, vamos corrigir a cor do fundo da frase para igualá-la ao Form.*/ // Ok. A cor do fundo igual à cor do Form Canvas -> Brush -> Color = clbtnface; /* A linha de código abaixo nos mostra como podemos usar propriedades matemáticas diretamente no Form*/ Canvas->TextOut( Canvas->PenPos.x = 10, Canvas->PenPos.y = 100, (5 * 4) + (60-50) ); /* Podemos chamar funções que nos mostrem a data e a hora...*/ Canvas->TextOut( Canvas->PenPos.x, Canvas->PenPos.y, Date()/* +Time()*/); Evidentemente, outros componentes também são férteis para trabalharmos com dados: void fastcall TForm1::Button1Click(TObject *Sender) /*Uma caixa de mensagem que pode nos mostrar a data, a hora ou ambas.*/ ShowMessage( Time() /* + Date()*/ ); Por certo, as operações abaixo já não causam muitas surpresas em você: void fastcall TForm1::Button1Click(TObject *Sender) ShowMessage("Alô, Thérbio!\nVocê sabe qual é o resultado de " "286 multiplicado por 132 somado com 412?"); Apostila de C++ Builder Pagina -30-

31 ShowMessage((286 * 132) + 412); Label1 -> Caption = (5 * 4) + 13; // imprime 33 no label AnsiString a = ; // AnsiString pode funcionar como inteiro ou ponto flutuante /* neste exemplo, o sinal + neste local do código, serve para concatenar os dados. Só ocorre a concatenação porque usamos o tipo AnsiString. Se tivéssemos usado uma variável inteira ou ponto flutuante, o resultado seria diferente*/ Label2 -> Caption = "Multiplicação de 14 X 14 = " + a * a; /* produz o mesmo resultado no Label. O mesmo resultado teríamos se tivéssemos usados variáveis inteiras ou ponto flutuante*/ Edit1 -> Text = "****Elimina os quatro primeiros caracteres" + 4; Vamos aproveitar para conhecer a base do código que será usado para construirmos uma calculadora. Usaremos um Label e um Botão qualquer no Form. void fastcall TForm1::BitBtn1Click(TObject *Sender) /* O código abaixo determina que o programa coloque no Caption de Label1 tudo aquilo que já está nele e mais o número 1. */ Label1 -> Caption = Label1 -> Caption + 1; Comentários Quando estamos empenhados na tarefa de escrever uma aplicação, é fundamental tomarmos algumas providências para que não nos percamos nas diversas linhas de código que por ventura utilizaremos. Uma coisa muito útil que podemos, ou melhor, que devemos fazer é colocar comentários que nos esclareçam a utilidade das diversas partes do código. Evidentemente, você já tem percebido que, junto às linhas de código, nós colocamos algumas frases esclarecedoras dentro de um par de barras com asterisco /* */, ou imediatamente após duas barras //. Essas frases são os comentários. C++ aceita esses dois estilos de comentários: /* Esse estilo de comentário é derivado da linguagem C. Ele é aberto com uma barra seguida de um asterisco. Tudo aquilo que estiver após essa chave de abertura, até encontrar uma chave de fechamento (um asterisco e uma barra) será desconsiderado pelo compilador */ // Essas duas barras significam comentários no estilo C++. // Uma vez aberto, esse comentário não precisa ser fechado. // Mas ele só vale para a linha em que foi aberto, // a partir do ponto em que foi aberto // e até o final da linha nada mais será considerado Apostila de C++ Builder Pagina -31-

32 Comentários também podem ser úteis para tirar o efeito de determinadas partes de código, quando estamos fazendo experiências. Você já viu tal fato, nos exemplos que colocamos o código para apresentar a data ou a hora. Se você retirar as chaves de abertura e de fechamento, perceberá que o resultado do programa será diferente. Abaixo apresentamos um exemplo de como podemos usar comentários para retirar efeitos de um código que já usamos anteriormente. Compile e execute para ver que o resultado do programa será outro: void fastcall TForm1::Button1Click(TObject *Sender) // Label1 -> Caption = "Testando propriedades"; // Edit1->Text = "Continuando o teste..."; /* ListBox1->Items-> Add(Label1 -> Caption); ListBox1->Items-> Add("Testando..."); */ ComboBox1 -> Text = "Fala, Grande!"; ComboBox1 -> Items -> Add(Label1 -> Caption); ComboBox1 -> Items -> Add("Fala, Grande..."); ComboBox1 -> Items -> Add(Edit1->Text); Tipos fundamentais A linguagem C++ possui tipos fundamentais de dados que representam valores como caracteres, inteiros, pontos flutuantes e booleanos. Os tipos inteiro (int) e pontos flutuantes (float e double) representam os números de um modo geral. Caracteres (char) representam as letras ou símbolos e o tipo booleano (bool) oscila entre dois valores, geralmente para representar duas situações inversas como, por exemplo, falso ou verdadeiro. Podemos, ainda, considerar um tipo básico de dados, o tipo enum, ou enumerados, o qual nos permite definir conjuntos de constantes, normalmente do tipo int, chamados tipos de dados enumerados. As variáveis declaradas deste tipo poderão adquirir somente entre os valores definidos. Coloque um Memo e um Button no Form. No evento OnClick do botão digite: void fastcall TForm1::BitBtn1Click(TObject *Sender) char ValChar = 'a'; int ValInt = 100; float ValFloat = ; // problemas na precisão double ValDoub = ; bool ValBool = ( == (20-18)); //Verdade: dois = a vinte menos dezoito Memo1->Lines->Strings[0] = ValChar; // 1ª linha do Memo imprime: a Memo1->Lines->Strings[1] = ValInt; // 2ª linha do Memo imprime: 100 Memo1->Lines->Strings[2] = ValFloat; // 3ª linha do Memo imprime: Memo1->Lines->Strings[3] = ValDoub; // 4ª linha do Memo imprime: // Se a afirmação feita na declaração de ValBool é verdadeira if( ValBool == True) /*5ª linha de Memo imprime: Afirmação Verdadeira*/ Memo1->Lines->Strings[4] = "Afirmação Verdadeira"; Apostila de C++ Builder Pagina -32-

Curso de Linguagem C

Curso de Linguagem C Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

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

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

Leia mais

Curso de Programação Computadores

Curso de Programação Computadores 3 O Primeiro Programa em C Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 3 O Primeiro Programa em C 3.1 - Introdução Depois dos conceitos

Leia mais

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

AMBIENTE. FORMULÁRIO: é a janela do aplicativo apresentada ao usuário. Considere o formulário como a sua prancheta de trabalho.

AMBIENTE. FORMULÁRIO: é a janela do aplicativo apresentada ao usuário. Considere o formulário como a sua prancheta de trabalho. DELPHI BÁSICO VANTAGENS Ambiente de desenvolvimento fácil de usar; 1. Grande Biblioteca de Componentes Visuais (VCL - Visual Component Library), que são botões, campos, gráficos, caixas de diálogo e acesso

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

Iniciação à Informática

Iniciação à Informática Meu computador e Windows Explorer Justificativa Toda informação ou dado trabalhado no computador, quando armazenado em uma unidade de disco, transforma-se em um arquivo. Saber manipular os arquivos através

Leia mais

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

MC102 Algoritmos e programação de computadores Aula 3: Variáveis MC102 Algoritmos e programação de computadores Aula 3: Variáveis Variáveis Variáveis são locais onde armazenamos valores na memória. Toda variável é caracterizada por um nome, que a identifica em um programa,

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor

Leia mais

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2005/2006. 0.5 Valores

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2005/2006. 0.5 Valores ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA INTRODUÇÃO À PROGRAMAÇÃO (ENG. INFORMÁTICA) COMPUTADORES E PROGRAMAÇÃO I (ENG. ELECTROTÉCNICA) 2005/2006 TRABALHO PRÁTICO Nº

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

O Microsoft Office é composto por diversos softwares, dentre eles o Word, o Excel, o Access e o Power Point.

O Microsoft Office é composto por diversos softwares, dentre eles o Word, o Excel, o Access e o Power Point. Editor de Texto Microsoft Word 1. Microsoft Office O Microsoft Office é composto por diversos softwares, dentre eles o Word, o Excel, o Access e o Power Point. O Word é um editor de texto com recursos

Leia mais

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

Leia mais

Resumo da Matéria de Linguagem de Programação. Linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

ÍNDICE... 2 INTRODUÇÃO... 4

ÍNDICE... 2 INTRODUÇÃO... 4 Mic crosoft Excel 201 0 ÍNDICE ÍNDICE... 2 INTRODUÇÃO... 4 Interface... 4 Guias de Planilha... 5 Movimentação na planilha... 6 Entrada de textos e números... 7 Congelando painéis... 8 Comentários nas Células...

Leia mais

Criando um script simples

Criando um script simples Criando um script simples As ferramentas de script Diferente de muitas linguagens de programação, você não precisará de quaisquer softwares especiais para criar scripts de JavaScript. A primeira coisa

Leia mais

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

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

Dicas para usar melhor o Word 2007

Dicas para usar melhor o Word 2007 Dicas para usar melhor o Word 2007 Quem está acostumado (ou não) a trabalhar com o Word, não costuma ter todo o tempo do mundo disponível para descobrir as funcionalidades de versões recentemente lançadas.

Leia mais

20 Caracteres - Tipo char

20 Caracteres - Tipo char 0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,

Leia mais

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. Data: 14/8 Página 1 de 9 Primeiros passos Introdução Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. No tutorial anterior, mostramos como

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Questão - 01. Essência do Excel 2003...

Questão - 01. Essência do Excel 2003... Valdir Questão - 01 Como deve proceder o usuário do Microsoft para que sejam atualizados os cálculos das funções ou fórmulas utilizadas nas planilhas? a) Pressionar a tecla F9 no teclado b) Pressionar

Leia mais

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme AULA 2: INTRODUÇÃO A LINGUAGEM DE C Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Agenda Introdução a linguagem C Compiladores Variáveis IDEs Exemplos Exercícios Introdução A Linguagem C

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais

Leia mais

INTRODUÇÃO AO WINDOWS

INTRODUÇÃO AO WINDOWS INTRODUÇÃO AO WINDOWS Paulo José De Fazzio Júnior 1 Noções de Windows INICIANDO O WINDOWS...3 ÍCONES...4 BARRA DE TAREFAS...5 BOTÃO...5 ÁREA DE NOTIFICAÇÃO...5 BOTÃO INICIAR...6 INICIANDO PROGRAMAS...7

Leia mais

Inserindo Dados no Banco de Dados Paradox.

Inserindo Dados no Banco de Dados Paradox. Inserindo Dados no Banco de Dados Paradox. - Construção do Banco de Dados: Para podermos inserir algo em um banco precisaremos de um Banco de Dados, para isto iremos montar um utilizando o Programa Database

Leia mais

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos Banco de Dados Microsoft Access: Criar tabelas Vitor Valerio de Souza Campos Objetivos do curso 1. Criar uma tabela no modo de exibição Folha de Dados. 2. Definir tipos de dados para os campos na tabela.

Leia mais

INTRODUÇÃO À LINGUAGEM C++

INTRODUÇÃO À LINGUAGEM C++ INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na

Leia mais

Conceitos Básicos de C

Conceitos Básicos de C Conceitos Básicos de C Bibliografia Problem Solving & Program design in C, Jeri R. Hanly e Elliot B. Kpffman, 3 a edição Data Structures and Algorithm Analysis in C, Mark Allen Weiss, 2 a edição, Addison-Wesley,

Leia mais

2 echo "PHP e outros.";

2 echo PHP e outros.; PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem

Leia mais

Linguagem de Programação I. Aula 05 Linguagem C

Linguagem de Programação I. Aula 05 Linguagem C Linguagem de Programação I Aula 05 Linguagem C Da Aula Anterior Algoritmos Portugol: aspectos básicos Estruturas repetição e controle Array: vetores e matrizes Nesta Aula Linguagens de Programação A Linguagem

Leia mais

AMBIENTE DE PROGRAMAÇÃO PYTHON

AMBIENTE DE PROGRAMAÇÃO PYTHON Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2003/2004 FICHA 1 AMBIENTE DE PROGRAMAÇÃO PYTHON 1.1. Objectivos

Leia mais

PHP Material de aula prof. Toninho (8º Ano)

PHP Material de aula prof. Toninho (8º Ano) Na aula anterior entendemos como se faz o acesso aos nossos arquivos PHP; Como construir um script em php. Nesta aula (3) vamos entender: Como roda o PHP Inserindo comentários Visualizando páginas a partir

Leia mais

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel Tabela e Gráficos Dinâmicos Como estruturar! Para que serve a Tabela e o Gráfico Dinâmico?! Como criar uma Tabela Dinâmica?! Como criar um Gráfico Dinâmico?! Como podemos atualizar dos dados da Tabela

Leia mais

Word 1 - Introdução 1.1 - Principais recursos do word 1.2 - A janela de documento 1.3 - Tela principal

Word 1 - Introdução 1.1 - Principais recursos do word 1.2 - A janela de documento 1.3 - Tela principal Word 1 - Introdução O Word para Windows ou NT, é um processador de textos cuja finalidade é a de nos ajudar a trabalhar de maneira mais eficiente tanto na elaboração de documentos simples, quanto naqueles

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO]

[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO] Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob

Leia mais

Banco de Dados Microsoft Access: Criar tabelas

Banco de Dados Microsoft Access: Criar tabelas Banco de Dados Microsoft Access: Criar s Vitor Valerio de Souza Campos Objetivos do curso 1. Criar uma no modo de exibição Folha de Dados. 2. Definir tipos de dados para os campos na. 3. Criar uma no modo

Leia mais

Introdução. O que é o Registro do Windows

Introdução. O que é o Registro do Windows Introdução O objetivo deste tutorial é mostrar alguns conceitos básicos para a manipulação do Registro do Windows. Desde já o InfoWester deixa claro que é necessário cautela. Qualquer precipitação pode

Leia mais

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4. Aula 2 Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4. Conceitos O software controla os computadores(freqüentemente conhecido

Leia mais

Guia de Início Rápido

Guia de Início Rápido Guia de Início Rápido O Microsoft Word 2013 parece diferente das versões anteriores, por isso criamos este guia para ajudar você a minimizar a curva de aprendizado. Barra de Ferramentas de Acesso Rápido

Leia mais

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

5 Apresentando a linguagem C

5 Apresentando a linguagem C 5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto,

Leia mais

INTRODUÇÃO À LINGUAGEM C/C++

INTRODUÇÃO À LINGUAGEM C/C++ INTRODUÇÃO À LINGUAGEM C/C++ História da Linguagem C/C++ Dennis Ritchie, funcionário do Bell Telephone Laboratories, iniciou em 1972 o desenvolvimento da linguagem C. Ele elaborou grande parte de seu trabalho

Leia mais

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado. , ()! $ Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado. Uma estratégia muito utilizada para organizar visualmente informações numéricas

Leia mais

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna O que é uma planilha eletrônica? É um aplicativo que oferece recursos para manipular dados organizados em tabelas. A partir deles pode-se gerar gráficos facilitando a análise e interpretação dos dados

Leia mais

COLÉGIO ESTADUAL PAULO LEMINSKI APOSTILA SOBRE O BROFFICE IMPRESS

COLÉGIO ESTADUAL PAULO LEMINSKI APOSTILA SOBRE O BROFFICE IMPRESS COLÉGIO ESTADUAL PAULO LEMINSKI APOSTILA SOBRE O BROFFICE IMPRESS CURITIBA 2014 2 Conteúdo Definição:... 2 Detalhando a tela:... 4 BARRA DE FERRAMENTAS DESENHO... 4 PREENCHIMENTOS... 5 RÉGUAS E GUIAS...

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos Este procedimento corresponde ao fluxo de trabalho de Indexação de código de barras e de separação de documentos no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se

Leia mais

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word Tutorial Gerar arquivo PDF. Com o objetivo de simplificar e diminuir o tamanho de arquivos anexos nos projetos, elaboramos um pequeno tutorial mostrando como gerar um único arquivo no formato pdf contendo

Leia mais

Como Gerar documento em PDF com várias Imagens

Como Gerar documento em PDF com várias Imagens Como Gerar documento em PDF com várias Imagens Para Gerar documento em PDF com várias Imagens, temos que seguir dois passos: 1. Inserir Imagens no Word 2. Gerar PDF a partir de documento do Word 1- Inserir

Leia mais

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007 CURITIBA 2015 2 SUMÁRIO INTRODUÇÃO AO MICROSOFT POWERPOINT 2007... 3 JANELA PRINCIPAL... 3 1 - BOTÃO OFFICE... 4 2 - FERRAMENTAS DE ACESSO

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 1 APRESENTANDO O C#

LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 1 APRESENTANDO O C# LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 1 APRESENTANDO O C# 1.1 - Apresentação Quando fazemos nossas compras em um supermercado, é comum encontrarmos um código de barras impresso nos produtos expostos

Leia mais

Microsoft Office PowerPoint 2007

Microsoft Office PowerPoint 2007 INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em

Leia mais

Tutorial de Matlab Francesco Franco

Tutorial de Matlab Francesco Franco Tutorial de Matlab Francesco Franco Matlab é um pacote de software que facilita a inserção de matrizes e vetores, além de facilitar a manipulação deles. A interface segue uma linguagem que é projetada

Leia mais

Planilha Eletrônica Excel

Planilha Eletrônica Excel COLÉGIO LA SALLE CANOAS Técnico em Informática Planilha Eletrônica Excel Excel Prof. Valter N. Silva Colégio La Salle Canoas Página 2 1. NOÇÕES BÁSICAS O Microsoft Excel 7.0 é um programa de planilha eletrônica,

Leia mais

O Primeiro Programa em Visual Studio.net

O Primeiro Programa em Visual Studio.net O Primeiro Programa em Visual Studio.net Já examinamos o primeiro programa escrito em C que servirá de ponto de partida para todos os demais exemplos e exercícios do curso. Agora, aprenderemos como utilizar

Leia mais

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público 2015. Índice

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público 2015. Índice Índice Caderno 2 PG. MS-Excel 2010: estrutura básica das planilhas, conceitos de células, linhas, colunas, pastas e gráficos, elaboração de tabelas e gráficos, uso de fórmulas, funções e macros, impressão,

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

NORMAS PARA EDITORAÇÃO E ENVIO DE TRABALHOS TÉCNICOS AO EVENTOS BRASIL 2014

NORMAS PARA EDITORAÇÃO E ENVIO DE TRABALHOS TÉCNICOS AO EVENTOS BRASIL 2014 NORMAS PARA EDITORAÇÃO E ENVIO DE TRABALHOS TÉCNICOS AO EVENTOS BRASIL 2014 07 a 08 de dezembro de 2014 São Paulo - SP DATAS E CONSIDERAÇÕES IMPORTANTES Os trabalhos técnicos deverão ser enviados eletronicamente,

Leia mais

Lição 1 - Criação de campos calculados em consultas

Lição 1 - Criação de campos calculados em consultas 1 de 5 21-08-2011 22:15 Lição 1 - Criação de campos calculados em consultas Adição de Colunas com Valores Calculados: Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas

Leia mais

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

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Belo Horizonte 2009 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4

Leia mais

O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais.

O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais. MICROSOFT WINDOWS O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais. Apresentaremos a seguir o Windows 7 (uma das versões do Windows)

Leia mais

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO Capítulo 2. VARIÁVEIS DO TIPO INTEIRO OBJETIVOS DO CAPÍTULO Conceitos de: variáveis do tipo inteiro, atribuição, avisos e erros de compilação, erros de execução, comentários dentro do programa-fonte Operadores

Leia mais

SUMÁRIO TUTORIAL DO HQ. 2 DICAS PEDAGÓGICAS:. 2 DOWNLOAD DA INSTALAÇÃO. 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD. 2 PASSO 2 ESCOLHENDO A VERSÃO.

SUMÁRIO TUTORIAL DO HQ. 2 DICAS PEDAGÓGICAS:. 2 DOWNLOAD DA INSTALAÇÃO. 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD. 2 PASSO 2 ESCOLHENDO A VERSÃO. SUMÁRIO TUTORIAL DO HQ... 2 DICAS PEDAGÓGICAS:... 2 DOWNLOAD DA INSTALAÇÃO... 2 PASSO 1 FORMULÁRIO PARA DOWNLOAD... 2 PASSO 2 ESCOLHENDO A VERSÃO... 3 PASSO 3 INSTRUÇÕES DE INSTALAÇÃO... 4 CRIANDO NOVAS

Leia mais

Usando o simulador MIPS

Usando o simulador MIPS Usando o simulador MIPS O objetivo desta aula prática será a utilização do simulador MipsIt para executar programas escritos em linguagem de máquina do MIPS. 1 Criando um projeto Cada programa a ser executado

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Mozart de Melo Alves Júnior

Mozart de Melo Alves Júnior Mozart de Melo Alves Júnior WORD 2000 INTRODUÇÃO: O Word é um processador de texto com recursos de acentuação, formatação de parágrafo, estilo de letras diferentes, criação de tabelas, corretor ortográfico,

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

NetBeans. Conhecendo um pouco da IDE

NetBeans. Conhecendo um pouco da IDE NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

Sumário INTRODUÇÃO... 3. 1. Acesso ao Ambiente do Aluno... 4. 2. Ferramentas e Configurações... 5. 2.1 Ver Perfil... 5. 2.2 Modificar Perfil...

Sumário INTRODUÇÃO... 3. 1. Acesso ao Ambiente do Aluno... 4. 2. Ferramentas e Configurações... 5. 2.1 Ver Perfil... 5. 2.2 Modificar Perfil... Sumário INTRODUÇÃO... 3 1. Acesso ao Ambiente do Aluno... 4 2. Ferramentas e Configurações... 5 2.1 Ver Perfil... 5 2.2 Modificar Perfil... 6 2.3 Alterar Senha... 11 2.4 Mensagens... 11 2.4.1 Mandando

Leia mais

AULA: BrOffice Impress terceira parte. Ao final dessa aula, você deverá ser capaz de:

AULA: BrOffice Impress terceira parte. Ao final dessa aula, você deverá ser capaz de: AULA: BrOffice Impress terceira parte Objetivo Ao final dessa aula, você deverá ser capaz de: Conhecer a integração dos softwares do BrOffice; Aprender a trabalhar no slide mestre; Utilizar interação entre

Leia mais

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 TUTORIAL Entradas Digitais Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br

Leia mais

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

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais

Leia mais

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

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

Gerente de Tecnologia: Ricardo Alexandre F. de Oliveira Marta Cristiane Pires M. Medeiros Mônica Bossa dos Santos Schmid WORD 2007

Gerente de Tecnologia: Ricardo Alexandre F. de Oliveira Marta Cristiane Pires M. Medeiros Mônica Bossa dos Santos Schmid WORD 2007 WORD 2007 PREFEITURA DO MUNICÍPIO DE LONDRINA SECRETARIA MUNICIPAL DE EDUCAÇÃO GERÊNCIA DE TECNOLOGIA Gerente de Tecnologia: Ricardo Alexandre F. de Oliveira Marta Cristiane Pires M. Medeiros Mônica Bossa

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Continuando as aulas sobre os fundamentos

Leia mais

Importação de Dados no Sphinx

Importação de Dados no Sphinx Importação de Dados no Sphinx A importação de dados refere-se à transferência de dados coletados em outro ambiente para dentro do software Sphinx. No software, encontre a opção Importar dados no estágio

Leia mais

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

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional UNIX. O C é derivado de uma outra linguagem: o B,

Leia mais

Manual de Utilização

Manual de Utilização Manual de Utilização Versão 1.0 18/01/2013 Sempre consulte por atualizações deste manual em nossa página. O Cotação Web está em constante desenvolvimento, podendo ter novas funcionalidades adicionadas

Leia mais

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos TUTORIAL Barra de LEDs Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

Como funciona? SUMÁRIO

Como funciona? SUMÁRIO SUMÁRIO 1. Introdução... 2 2. Benefícios e Vantagens... 2 3. Como utilizar?... 2 3.1. Criar Chave / Senha de Usuário... 2 3.2. Recursos da Barra Superior... 2 3.2.1. Opções... 3 3.2.1.1. Mover Para...

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais