




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
apostila com ensinamentos de algoritmos e instrução C++
Tipologia: Notas de estudo
1 / 103
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































O C++ foi inicialmente desenvolvido por Bjarne Stroustrup dos Bell Labs, durante a década de 1980 com o objetivo de programar uma versão distribuída do núcleo Unix. Como o Unix era escrito em C , dever-se-ia manter a compatibilidade, ainda que adicionando novos recursos. Stroustrup observou que a linguagem Simula possuía características bastante úteis para o desenvolvimento de software, mas que era muito lenta para uso prático. Por outro lado, a linguagem BCPL era rápida, mas possuía demasiado baixo nível, dificultando sua utilização no desenvolvimento de aplicações. A partir de sua experiência de doutorado, começou a acrescentar elementos do Simula no C. A linguagem C foi escolhida como base para o desenvolvimento da nova linguagem, pois possuía uma proposta de uso genérico, era rápida e também portável para diversas plataformas. Algumas outras linguagens que também serviram de inspiração para o cientista da computação foram ALGOL 68, Ada, CLU e ML. Ainda em 1983 o nome da linguagem foi alterado de C with Classes para C++. Antes, implementada usando um pré-processador, a linguagem passou a exigir um compilador próprio, escrito pelo próprio Stroustrup. Novas características foram adicionadas, como funções virtuais, sobrecarga de operadores e funções, melhorias na verificação de tipo de dado e estilo de comentário de código de uma linha (//). Em 1985 foi lançada a primeira edição do livro "The C++ Programming Language" , contendo referências para a utilização da linguagem, já que ainda não era uma norma oficial. A primeira versão comercial foi lançada em outubro do mesmo ano. Em 1989 a segunda versão foi lançada, contendo novas características como herança múltipla, classes abstratas, métodos estáticos, métodos constantes e membros protegidos, incrementando o suporte a orientação a objeto. Assim como a linguagem, sua biblioteca padrão também sofreu melhorias ao longo do tempo. Sua primeira adição foi a biblioteca de E/S , e posteriormente a Standard Template Library ( STL ); ambas tornaram-se algumas das principais funcionalidades que distanciaram a linguagem em relação a C. Criada primordialmente na HP por Alexander Stepanov no início da década de 1990 para explorar os potenciais da programação genérica, a STL foi apresentada a um
comitê unificado ANSI e ISO em 1993 à convite de Andrew Koenig. Após uma proposta formal na reunião do ano seguinte, a biblioteca recebeu o aval do comitê. Pode-se dizer que C++ foi a única linguagem, entre tantas outras, que obteve sucesso como uma sucessora à linguagem C , inclusive servindo de inspiração para outras linguagens como Java , a IDL de CORBA e C#.
Dentre os vários compiladores disponíveis, escolhemos para adotar na disciplina o Bloodshed Dev-C++ , ou simplesmente Dev-C++ que é um ambiente de desenvolvimento integrado completo para as linguagens C e C++ , que utiliza uma coleção de compiladores GNU. Este tutorial apresenta, de maneira simplificada, as principais etapas para a instalação do Dev-C++. Serão apresentadas a instalação no Sistema Operacional Windows 7.
c. Clique em "Seguinte".
d. Selecione "Instalar".
e. Aguarde o assistente terminar a instalação do programa.
f. Escolha a opção "Yes".
ou
a. Selecione "OK".
b. Selecione a linguagem "Portugues (Brazil)".
f. Ao final da aplicação, clique em "OK".
g. Na janela de "Dica do Dia", marque a opção "Não exibir dicas na inicialização" e clique em fechar.
Após a realização das etapas anteriores, será apresentado ao usuário a seguinte tela, onde podemos distinguir os seguinte elementos:
Barra de Menu Barras de ferramentas
Navegador de classes/projetos
Na barra de Ferramentas Menu , selecione a opção " Arquivo/Novo/Projeto... ", como apresentado na imagem abaixo:
Na janela " Novo Projeto ", escolha o ícone " Console Application " e em "Opções de Projeto" digite no campo Nome , o nome do projeto (sem espaços ou caracteres especiais) e em seguida marque a opção " Projeto C++ ".
Salve o projeto ( .dev ) em uma pasta pessoal destinada a armazenar seus projetos pessoais.
é a análise do código fonte, onde a estrutura e significado do programa de alto nível são reconhecidos. A segunda atividade é a síntese do programa equivalente em linguagem simbólica. Embora conceitualmente seja possível executar toda a análise e apenas então iniciar a síntese, em geral estas duas atividades ocorrem praticamente em paralelo. A figura abaixo apresenta as operações executas em um ambiente típico C++.
No Dev-C++ , as opções para compliação e execussão são encontradas na barra de ferramentas "Compilar e Executar".
Compila (Ctrl + F9) Executar (Ctrl + F10) Compilar & Executar (F9) Recompilar Tudo (Ctrl + F11)
Selecione o botão " Compilar & Executar " ou pressione a tecla "F9". A seguinte tela deve aparecer, indicando que todos os passos anteriormente apresentados foram executados com sucesso pelo compilador.
Pressione qualquer tecla para continuar, ou feche a janela do console para voltar ao editor do programa.
É por meio dos fluxos de entrada e de saída que os operadores de acesso ao teclado e vídeo podem ser efetuados. Assim sendo será possível efetuar entrada (cin – console input) e saída de dados (cout – console output) para todas as operações realizadas por um programa. cin – trabalha com o teclado. cout – trabalha com o monitor. Para fazer uso básico dos fluxos cin (fluxo de entrada) e cout (fluxo de saída), é necessário inserir no início do programa a chamada ao arquivo de cabeçalho correspondente denominado iostream. Chamada do cabeçalho: #include
A melhor maneira de iniciarmos o aprendizado de uma nova linguagem de programação é escrevendo nossos próprios programas. Neste material, será adotada a seguinte estrutura, o primeiro painel mostra o código fonte para os nossos programas, e o segundo painel apresenta o resultado do programa uma vez compilado e executado.
Janela Código Fonte Resultado (após compilação e execução) // Programa em C++ #include
Oi mundo Press any key to continue...
O programa principal escrito em linguagem C++ é uma função, por natureza própria.
Vamos entender linha por linha do programa: // Programa em C++ Está é uma linha de comentário. Todas as linhas começando com duas barras (//) não tem qualquer efeito no comportamento de um programa. Recomendamos que, no processo de aprendizagem, várias linhas de comentários sejam adicionadas, para explicações ou observações a respeito do código.
C++ apresenta duas maneiras de fazer comentários // Linha de comentário /* Bloco de comentário que pode abranger um grande número de linhas */
A primeira forma de comentário é conhecida como linha de comentário, descartando tudo a partir das duas barras (//) até o final da mesma linha. O segundo tipo é conhecido como bloco de comentário, descartando tudo entre a instrução /* e a primeira ocorrência da instrução */, com a possibilidade da inclusão mais de uma linha.
#include
system("Pause"); Esta declaração pausa a janela de saída do programa, permitindo, ao usuário, a sua inspeção.
Observe que a função principal do nosso primeiro programa poderia ser escrita da seguinte maneira: int main () {cout << "Oi mundo" << endl; system ("Pause");} Sem comprometer o funcionamento do programa. Entretanto, um código estruturado em diferentes linhas é mais legível para os seres humanos, tornando muito mais simples a sua inspeção e compreensão.
Vamos estudar alguns novos comandos básicos. #include
Digite o valor de a: 5 7 Press any key to continue...
Para o compilador, este segmento nada mais é do que uma sequência de caracteres em um arquivo texto. O primeiro passo da análise é reconhecer que agrupamentos de caracteres têm significado para o programa, por exemplo, saber que int é uma palavra-chave da linguagem e que a e b serão elementos individuais neste programa. Posteriormente, o compilador deve reconhecer que a sequência int a, corresponde à declaração de uma variável inteira cujo identificador recebeu o nome a. As regras de formação de elementos e frases válidas de uma linguagem são expressas na gramática da linguagem. O processo de reconhecer os comandos de uma gramática é conhecido como reconhecimento de sentenças.
cin >> variável; Fluxo de entrada de dados p/ transferência do conteúdo do teclado para a variável .O trabalho com a entrada padrão no C++ é feito aplicando-se o operador de extração (>>) no comando cin. Isso precisa ser seguido pela variável que irá guardar o dado que será lido.
Declarando a variável como desejada, então o programa fica na espera por uma entrada do cin (teclado) para que possa armazena-la em um espaço reservado da memória. O comando cin só pode processar a entrada do teclado depois que a tecla ENTER for pressionada. No nosso exemplo, digitamos o número inteiro 5 , e esse valor foi guardado dentro da variável a por meio da sentença: cin >> a; Sendo assim, mesmo que você peça um único caractere, o cin não irá processar a entrada até que o usuário pressione ENTER depois que o caractere tenha sido digitado. Deve-se atentar ao tipo da variável que estamos utilizando para guardar o valor extraído pelo cin. Se você pedir um inteiro, você receberá um inteiro, se você pedir um caractere, você receberá um caractere, e se você pedir uma string de caracteres, você receberá uma string de caracteres.
cout << soma << '\n'; Observe o uso de execução do programa com o uso do caractere '\n' é semelhante ao uso do manipulador de saída endl.