Docsity
Docsity

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

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


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


apostila Cpp, Notas de estudo de Engenharia Elétrica

apostila com ensinamentos de algoritmos e instrução C++

Tipologia: Notas de estudo

2015

Compartilhado em 20/01/2015

maykon-tony-6
maykon-tony-6 🇧🇷

1 documento

1 / 103

Toggle sidebar

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

Não perca as partes importantes!

bg1
Universidade Estadual Paulista "Júlio de Mesquita Filho"
Faculdade de Engenharia de Ilha Solteira
Departamento de Matemática
Linguagem de Programação
C++
Alan Rodrigo Panosso
Fábio Roberto Chavarette
2014
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe apostila Cpp e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity!

Universidade Estadual Paulista "Júlio de Mesquita Filho"

Faculdade de Engenharia de Ilha Solteira

Departamento de Matemática

Linguagem de Programação

C++

Alan Rodrigo Panosso

Fábio Roberto Chavarette

Sumário

UNESP - FEIS

Apostila C++

1. Introdução

1.1 Histórico da linguagem C++

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

UNESP - FEIS

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

1.2 Compilador – Tutorial de Instalação

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.

  1. Inicialmente Acesse o endereço http://www.bloodshed.net/devcpp.html e clique na opção " Go to Download Page" , como apresentado na imagem abaixo.
  2. Na próxima página localize o item Downloads. Faça o download da versão mais atual do programa, no nosso exemplo, é " Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2". Clique na opção SourceForge , e o download deverá iniciar automaticamente.
UNESP - FEIS

c. Clique em "Seguinte".

d. Selecione "Instalar".

e. Aguarde o assistente terminar a instalação do programa.

UNESP - FEIS

f. Escolha a opção "Yes".

  1. Ao final da instalação, deixe marcado a opção "Executar Dev-C++ ..." e clique em terminar. Ou, localize o ícone do programa, e inicialize-o.

ou

a. Selecione "OK".

b. Selecione a linguagem "Portugues (Brazil)".

UNESP - FEIS

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.

1.3 Apresentando o Dev-C++

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

UNESP - FEIS

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.

UNESP - FEIS

é 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".

UNESP - FEIS

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.

UNESP - FEIS

2.1 Controle dos Fluxos de Entrada e de Saída

É 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 ou #include <iostream.h>

2.2 Primeiro Programa

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 using namespace std; int main(void) { cout << "Oi mundo" << endl; system ("Pause"); }

Oi mundo Press any key to continue...

O programa principal escrito em linguagem C++ é uma função, por natureza própria.

UNESP - FEIS

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 Linhas iniciando com o sinal (#) são diretrizes para o pré-processador, ou seja, instruções para o compilador. Neste caso, estamos dizendo ao pré-processador para incluir os arquivos padrões da biblioteca iostream. Estes arquivos específicos incluem as declarações da biblioteca básica de controle do fluxo de entrada (cin) e saída de dados (cout).

UNESP - FEIS

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.

2.3 Segundo Programa

Vamos estudar alguns novos comandos básicos. #include using namespace std; int main() { int a, b, soma; cout << "Digite o valor de a: "; cin >> a; b=2; soma = a + b; cout << soma << '\n'; system ("Pause"); }

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.

UNESP - FEIS

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.