Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação 2013.1 Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia Prof. Luiz Eduardo Leite Aula 02 – Introdução à Linguagem C++ Hora de silenciar o celular • Manter o celular sempre desligado/silencioso quando estiver em sala de aula • Nunca atender o celular em sala de aula Objetivo da Aula • Introduzir o conceito de linguagens de programação • Apresentar a linguagem C++ • Explicar como funciona o processo de compilação e interpretação • Demonstrar o funcionamento da ferramenta Code Blocks. Linguagens de Programação • Uma linguagem de programação é um método padronizado para expressar instruções para um computador. • É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. CPU Pos Conteúdo 00 1010 10 11 01 0110 11 10 02 00000001 03 00000011 04 00000001 05 06 07 08 09 ... Contador de Programa: 00 Memória RAM Exemplo de Programa em Binário 01 Pos Conteúdo 00 1010 10 11 01 0110 11 10 02 00000001 03 00000100 04 00000001 05 06 07 08 09 ... 02 Pos. Conteúdo 00 1010 10 11 01 0110 11 10 02 00000001 03 00000110 04 00000001 05 06 07 08 09 ... Linguagem Assembly • Escrever programas de computador em binário pode ser uma tarefa extremamente árdua. • A memorização de cada comando em binário seria um grande desafio • A linguagem Assembly associa a cada comando em binário um comando textual que possa ser mais facilmente assimilado pelo programador • Os programas em Assembly precisam ser “traduzidos” para Binário para que possam ser executados por um computador. • O processo de tradução é chamado de compilação. Exemplo de Programa em Assembly .model small .data opr1 dw 1234h opr2 dw 0002h result dw 01 dup(?),'$' .code mov ax,@data mov ds,ax mov ax,opr1 mov bx,opr2 clc add ax,bx mov di,offset result mov [di], ax mov ah,09h mov dx,offset result int 21h mov ah,4ch int 21h end Linguagens de Alto nível • Apesar de ser mais fácil programar em Assembly do que em binário, desenvolver programas utilizando esta linguagem de programação não é simples. • A programação em Assembly requer um conhecimento do Hardware para o qual se está programando. • A programação em Assembly requer manipulação de endereços de memória e registradores da CPU • Outras linguagens de programação, tais como C++, com comandos mais simples, foram desenvolvidas para facilitar o desenvolvimento de software. • Programas escritos nessas linguagens são NORMALMENTE traduzidos para Assembly e em seguida para binário (compilação). Linguagens de Programação Proximidade entre o usuário e o computador: • Linguagens de baixo nível ▫ Linguagens de máquina, assembly • Linguagens de alto nível ▫ Fortran, Cobol, C, C++, Java, Python, Lua, Basic, Pascal, Sage... Níveis das linguagens • Baixo nível ▫ Código otimizado ▫ Indicado para situações onde não há opção de alto nível • Alto nível ▫ Programação do algoritmo mais fácil ▫ Portabilidade ▫ Manutenção do código A linguagem C++ é ... • Linguagem de alto nível com funcionalidades de baixo nível. ▫ Permite operações com bits, bytes, endereços de memórias. • Portável • Flexível A linguagem C++ é ... • Usada no desenvolvimento de: ▫ Unix ▫ Linguagem C, C++ ▫ Java ▫ Gerenciadores de Banco de Dados ▫ Sistemas Operacionais ▫ Editores ▫ Programas de planilhas eletrônicas ▫ Compiladores ▫ Etc. Forma de um programa em C++ • A estrutura de um programa em C++: – Comandos do pré-processador e compilador – Definições de tipos – Variáveis globais – Protótipos de funções - declaração dos tipos de retorno e dos tipos dos parâmetros das funções – Funções • Deverá existir sempre uma função main(). Exemplo de programa em C++ #include <iostream> using namespace std; /* Sem definição de tipos */ int c; int f (int y); int main(int argc, char **argv) { c = 3; cout << f(c); return 0; } int f (int y) { return 2 * y; } A diretiva #include • É uma diretiva de pré-processador. • Provoca a inclusão de um arquivo dentro do nosso programa. ▫ #include <iostream> //arquivo no diretório do compilador ▫ #include “meuArq” //arquivo no diretório local do prog. • Para os compiladores modernos, os arquivos de inclusão normalmente não possuem extensão. • Nos compiladores antigos, os arquivos de inclusão possuem extensão .h ▫ #include <iostream.h> ▫ #include “meuArq.h” A função main • As funções têm a seguinte estrutura: tipo nome_da_funcao(parâmetros) { variáveis locais instruções em C } • A função main: int main(int argc, char **argv) { cout << “Alô Mundo!"; } • Deve existir exatamente uma função chamada main • Ela é executada quando o programa é iniciado. • Os parâmetros da função são os passados para o programa na sua execução. Exemplo sem namespace (arquivo.h) #include <iostream.h> /* Sem definição de tipos */ int c; int f (int y); int main(int argc, char **argv) { c = 3; cout << f(c); return 0; } int f (int y) { return 2 * y; } Processo de Compilação Compilação Programas para compilação C++ • Exemplos de Compiladores: ▫ No Windows: Mingw: ▫ No Linux: gcc (GNU C Compiler) Interfaces Gráficas para Compiladores • Ex.: ▫ CodeBlocks (Usado nesse curso) ▫ Dev-C++ ▫ Geany Download do Codeblocks Esta mensagem pode aparecer na primeira execução do programa, se alguma versão anterior foi instalada no computador. 1 2 1 - Inserir Nome do Projeto 2 – Escolher pasta onde Ficarão TODOS os projetos NÃO ALTERAR! Preenchido automaticamente A extensão do nome do projeto é CBP mesmo! 3 Nome do Projeto (Análogo a uma pasta) Arquivo main.cpp (Que está dentro do projeto) Dois clicks Compilar e Executar Depuração Clicar com o botão direito no número da linha em que se deseja adicionar um ponto de quebra (linha em que a execução do programa deve ser pausada). Ex.: Linha 09 Certifique-se de que o item watches no menu: Debug \ Debugging Windows \ Watches Está marcado. Nesse caso, a janela Watches estará sendo exibida. Pressione a tecla F8 para iniciar a execução do programa (ou clique em Debug \ Start / Continue) O programa será executado até encontrar o primeiro ponto de quebra, quando será pausado. A seta amarela indica a próxima linha a ser executada Pressione a tecla F7 para executar a próxima linha do programa (ou clique em Debug \ Next Line) Acompanhe a mudança das variáveis na janela Watches, à medida em que cada linha do programa é executada. Processadores de linguagens (tradutores) Compilador X Interpretador Interpretador
Compartilhar