55
BCC201 Introdução à Programação Prof. Reinaldo Fortes 2014/2

BCC201 Introdução à Programação

Embed Size (px)

DESCRIPTION

BCC201 Introdução à Programação. Prof. Reinaldo Fortes 2014/ 2. Agenda. Como um programa é criado? Compilação por linha de comando Introdução à linguagem C. Como um programa é criado?. Como um programa é criado?. Quando queremos digitar um documento, recorremos a um editor de textos - PowerPoint PPT Presentation

Citation preview

Page 1: BCC201  Introdução à Programação

BCC201 Introdução à ProgramaçãoProf. Reinaldo Fortes2014/2

Page 2: BCC201  Introdução à Programação

Como um programa é criado? Compilação por linha de comando Introdução à linguagem C

2

Agenda

Page 3: BCC201  Introdução à Programação

Como um programa é criado?

3

Page 4: BCC201  Introdução à Programação

Quando queremos digitar um documento, recorremos a um editor de textos◦ Word, OpenOffice, etc.

Para criarmos uma imagem, recorremos a um editor de imagens◦ Paint, Gimp, etc.

Para criarmos planilhas, recorremos a um editor de planilhas eletrônicas◦ Excel, Calc, etc.

E para criarmos um programa?

4

Como um programa é criado?

Page 5: BCC201  Introdução à Programação

Programas são arquivos de texto simples◦ Então poderíamos usar qualquer editor de textos

simples;◦ Porém, existem editores específicos.

Para criarmos um programas criamos um código-fonte◦ Contém as instruções do programa na linguagem

de programações escolhida;◦ A extensão é “.c”.

5

Como um programa é criado?

Page 6: BCC201  Introdução à Programação

C é uma linguagem de programação de alto nível◦ Nos permite escrever programas usando notação

semelhante a que usamos para nos comunicar. Porém, sabemos que o computador usa o

sistema binário (0, 1); Torna-se necessário “traduzir” nosso

programa depois de pronto para que o computador possa executá-lo.

6

Como um programa é criado?

Page 7: BCC201  Introdução à Programação

Este processo de tradução é chamado de compilação◦ Durante a compilação, também é verificado se o

código-fonte possui erros de sintaxe ou semântica Os comandos estão escritos de forma correta? A estrutura dos comandos está de acordo com o

exigido pela linguagem? Erros de lógica não são verificados – o algoritmo é

por sua conta!

7

Como um programa é criado?

Page 8: BCC201  Introdução à Programação

O programa que realiza a compilação é o compilador◦ Diferentes compiladores para diferentes

linguagens. Depois do processo de compilação, é

gerado o programa-objeto ◦ Este é o programa traduzido para a linguagem de

máquina;◦ Utiliza a extensão “.o”.

8

Como um programa é criado?

Page 9: BCC201  Introdução à Programação

Programas frequentemente utilizam rotinas e estruturas definidas em códigos-fonte (chamados bibliotecas) separados.

O processo de ligação adiciona estes códigos-fonte “emprestados” ao programa-objeto;

O programa que faz a ligação é chamado ligador ou linkeador◦ O arquivo resultante é o programa-executável;◦ Geralmente, usa a extensão “.exe” (no windows).

9

Como um programa é criado?

Page 10: BCC201  Introdução à Programação

10

Processo de criação de um programa

Page 11: BCC201  Introdução à Programação

Vamos primeiro aprender a editar nossos programas◦ Ou seja, criar arquivos fonte.

Qualquer editor simples serve para criarmos nossos arquivos◦ Porém, existem editores específicos para

programação, que são mais úteis.◦ No Windows, podemos usar o Notepad++

http://notepad-plus-plus.org/download◦ No Ubuntu, podemos usar o Gedit.

11

Como um programa é criado?

Page 12: BCC201  Introdução à Programação

Uma vez selecionado um editor, digitamos as instruções que desejamos◦ Ou seja, o corpo do programa;◦ Salvamos o arquivo com a extensão .c◦ O editor vai “colorir” nosso programa, ressaltando

as instruções da linguagem, de forma a melhorar a organização.

12

Como um programa é criado?

Page 13: BCC201  Introdução à Programação

Salvem como SeuNome_Lab01_Exe01.c◦ Todos os programas feitos nas aulas práticas

devem obedecer esta nomenclatura [SeuNome]_Lab[número da aula]_Exe[número do exercício].c

Lembrem-se de onde salvaram o arquivo!

13

Vamos padronizar nossas aulas

Page 14: BCC201  Introdução à Programação

Teste

Digite os comandos a seguir no código que você criou em um editor.

14

Processo de criação de um programa

Page 15: BCC201  Introdução à Programação

Agora que criamos nosso primeiro código-fonte, vamos compilá-lo e ligá-lo;

Não precisamos criar nossos próprios compiladores e ligadores◦ Podemos escolher entre vários◦ Utilizaremos o GCC.

15

Processo de criação de um programa

Page 16: BCC201  Introdução à Programação

Usaremos a interface de linha de comando para compilarmos nossos programas◦ O que significa que não utilizaremos ambientes

de desenvolvimento integrado, ou IDEs Code::Blocks; MS Visual Studio; Etc.

◦ No Ubuntu, usamos o terminal;◦ No Windows, usamos o Prompt ou o MSYS, que

simula o terminal do Linux, juntamente com o MinGW.

16

Processo de criação de um programa

Page 17: BCC201  Introdução à Programação

Minimalist GNU for Windows◦ http://www.mingw.org/

Fornece um conjunto de programação Open Source;

Grátis◦ Tutorial sobre a instalação:◦ http://www.dcc.ufrj.br/~genesio/tutoriais/mingw.html

17

MinGW

Page 18: BCC201  Introdução à Programação

GNU é um sistema operacional tipo Unix, idealizado por Richard Stallman;

De onde veio este nome?◦GNU is Not Unix (GNU Não é Unix).

18

GNU

Page 19: BCC201  Introdução à Programação

O mesmo criador do GNU, criou um compilador de linguagem C, chamado GCC ◦ GNU C Compiler.

Com o tempo, ganhou suporte a outras linguagens, e com isso o significado da sigla mudou◦ GNU Compiler Collection.

19

GCC

Page 20: BCC201  Introdução à Programação

Resumindo, MinGW é um GNU que roda em Windows ◦ E tem o GCC, que usaremos como compilador.

Nos laboratórios também temos o sistema operacional Ubuntu◦ Que também possui o GCC instalado, basta

acessar o terminal. O uso do GCC no Windows e Ubuntu é igual

◦ O aluno escolhe qual vai usar.

20

MinGW

Page 21: BCC201  Introdução à Programação

No terminal, acesse a pasta onde está seu código-fonte, usando o comando cd:◦ cd pasta1/pasta2/pasta3◦ A barra “/” significa que uma pasta está dentro da

outra Neste exemplo, pasta3 está dentro de pasta2 que

está dentro de pasta1.◦ Para verificar o conteúdo de uma pasta, utilize o

comando ls: ls

21

Como Compilar com o GCC?

Page 22: BCC201  Introdução à Programação

Uma vez na pasta correta, digite o seguinte comando:◦ gcc arquivo.c –o programa -Wall◦ Neste exemplo, substitua o nome “arquivo” pelo

nome do seu arquivo.◦ Substitua também o nome programa pelo nome

que você desejar.◦ O “-o” significa que o programa compilado se

chamará programa;◦ O “-Wall” significa que pedimos que sejam

mostrados todos os erros e avisos de compilação.

22

Como Compilar com o GCC?

Page 23: BCC201  Introdução à Programação

Se o seu programa não apresentar erros, nenhuma mensagem será apresentada pelo compilador◦ Você já pode executar seu programa.

Caso contrário, o compilador tentará te avisar onde está o erro do seu programa◦ Será necessário corrigir o erro em seu código

fonte e compilá-lo novamente.

23

Como Compilar com o GCC?

Page 24: BCC201  Introdução à Programação

24

Como Compilar com o GCC?

Page 25: BCC201  Introdução à Programação

25

Como Compilar com o GCC?

O compilador tenta indicar em qual linha está o erro, e qual é o tipo de erro.Neste exemplo, o erro está na linha 4, e se refere à falta de ponto e vírgula.

Page 26: BCC201  Introdução à Programação

Toda vez que alterarmos nossos códigos, não podemos nos esquecer de salvar antes de compilar◦ Senão, estaremos compilando uma versão antiga

de nossos programas, que não refletem as alterações realizadas.

26

Como Compilar com o GCC?

Page 27: BCC201  Introdução à Programação

Uma vez compilado, seu programa pode ser executado pelo próprio terminal◦ Basta digitar ./ antes do nome do programa;◦ ./programa

Por enquanto, nossos programas não terão janelas, mouse e etc.

Eles serão executados dentro do próprio terminal.

27

Como Executar um Programa?

Page 28: BCC201  Introdução à Programação

28

Compilando e Executando

Page 29: BCC201  Introdução à Programação

Lembram do arquivo SeuNome_Lab01_Exe01.c?◦ Vamos compilá-lo e executá-lo!◦ gcc arquivo.c –o lab01_exe01 –Wall◦ ./lab01_exe01

◦ Veja que agora o “programa” tem um nome específico para facilitar a identificação.

29

Compilando e Executando

Page 30: BCC201  Introdução à Programação

Abra o windows explorer (windows) e acesse a pasta que contém seu programa◦ Verifique a existência dos arquivos “.c”, “.o” e do

executável; Dê um duplo clique no ícone do arquivo

“.exe”◦ O que aconteceu?

No Ubuntu, abra a Pasta Pessoal, e acesse a pasta que contém seu programa◦ Verifique a existência do arquivo “.c” e do

executável;

30

Compilando e Executando

Page 31: BCC201  Introdução à Programação

Quando compilamos um programa e encontramos erros, dizemos que houve erro em tempo de compilação;

Porém, frequentemente o código é compilado perfeitamente e quando o executamos acontece algum erro◦ O chamado erro em tempo de execução;◦ Geralmente são erros de lógica, e não de programação

em si. Obviamente, o compilador só detecta erros em

tempo de compilação. Atenção, programas com erros de compilação são

zerados em exercícios e provas.

31

Tipos de Erros

Page 32: BCC201  Introdução à Programação

Introdução à Linguagem C

32

Page 33: BCC201  Introdução à Programação

Durante a década de 60, os computadores ainda estavam em um estágio de desenvolvimento◦ Surgiam várias linguagens de programação;◦ Duas das mais utilizadas eram ALGOL e FORTRAN.

Em 1963, surge a linguagem CPL (Combined Programming Language) mais ampla que ALGOL e FORTRAN, contudo, mais difícil.

33

Introdução ao C

Page 34: BCC201  Introdução à Programação

Em 1967, foi desenvolvida a linguagem BCPL (Basic Combined Programming Language), uma versão simplificada da CPL◦ Criada originalmente para construir compiladores;◦ Ainda assim possuía muitos conceitos.

Em 1970, Ken Thompson criou a linguagem B ◦ BCPL- “supérfluos”;◦ Era um pequeno subconjunto da BCPL, e era

muito limitado.

34

Introdução ao C

Page 35: BCC201  Introdução à Programação

35

Introdução ao C

Em 1971, Dennis Ritchie desenvolvia uma “nova linguagem B”, que, em 1973 seria batizada de linguagem C.

Ken Thompson e Dennis Ritchie

Page 36: BCC201  Introdução à Programação

Algumas Curiosidades:◦ C foi desenvolvido para ajudar a desenvolver o

sistema operacional Unix No qual baseia-se o sistema operacional Linux.

◦ Existem pouquíssimas arquiteturas que não possuam compiladores para a linguagem C;

◦ Existe a linguagem D Outras linguagens baseadas em C são C++, C#,

Python, Perl, PHP e Go (em desenvolvimento pelo Google).

36

Introdução ao C

Page 37: BCC201  Introdução à Programação

Introdução ao C

Este é o esqueleto do programa mais básico em C;

main é uma função◦ Porção de código com

objetivo específico;◦ Esta é a função

principal;◦ Todos programas têm; ◦ A execução do programa

sempre começa por ela.

37

Page 38: BCC201  Introdução à Programação

Introdução ao C

int significa que a função retornará um número inteiro;

Os símbolos ( e ) indicam quais são os dados enviados para a função◦ Chamados

parâmetros. Os símbolos { e }

delimitam o escopo da função◦ Tudo que está entre { e

} pertence à função.38

Page 39: BCC201  Introdução à Programação

Criem um novo código-fonte e o salvem seguindo a nomenclatura utilizada;

Digitem o esqueleto básico de um programa em C;

Compilem e executem; O que aconteceu?

39

Introdução ao C

Page 40: BCC201  Introdução à Programação

Agora, troquem o nome da função main por qualquer outro nome;

Compilem e executem; O que aconteceu?

40

Introdução ao C

Page 41: BCC201  Introdução à Programação

Abram o arquivo chamado Lab1Exe1.c criado anteriormente;

Substituam a frase “Bem vindo à Linguagem C” por seu nome completo;

Compilem e executem.

41

Introdução ao C

Page 42: BCC201  Introdução à Programação

Uma diretiva de compilação avisa ao compilador que transformações devem ser realizadas no código;

Sempre começam com ‘#’; Não terminam com ‘;’; Neste caso específico, diz ao compilador que

instruções da biblioteca de entrada e saída devem ser incluídas.

42

Partes de um Código-Fonte

Diretiva de Compilação

Page 43: BCC201  Introdução à Programação

Como vimos, a função main é a primeira no fluxo de execução de um programa;

int é o tipo da função que representa “inteiro”.

43

Partes de um Código-Fonte

Função Principal

Page 44: BCC201  Introdução à Programação

Os símbolos ‘{’ e ‘}’ delimitam o início e fim do bloco de instruções da função.

44

Partes de um Código-Fonte

Delimitadores

Page 45: BCC201  Introdução à Programação

Estas são instruções (ou comandos) em C; Sempre no final existe o símbolo ‘;’, não se

esqueçam◦ Apenas em assinaturas de funções, diretivas e

instruções de desvio ou repetição não se usa ‘;’.45

Partes de um Código-Fonte

Instrução

Instrução

Page 46: BCC201  Introdução à Programação

As bibliotecas mais importantes para o curso são: stdio.h

◦#include<stdio.h>◦ Fluxo de dados (entrada e saída).

math.h◦#include<math.h>◦ Operações matemáticas

Trigonométricas; Hiperbólicas; Exponenciais; Logarítmicas; Arredondamento, módulo e valor absoluto.

46

Diretivas e Bibliotecas

Page 47: BCC201  Introdução à Programação

stdlib.h◦#include<stdlib.h>◦ Biblioteca padrão que contém funções diversas.

string.h◦#include<string.h>◦ Contém funções de manipulação de cadeias de

caracteres.

47

Diretivas e Bibliotecas

Page 48: BCC201  Introdução à Programação

A indentação de um código-fonte é o formato em que as instruções estão dispostas no arquivo ◦ Ou seja, o alinhamento das instruções.

Por padrão apenas a declaração de bibliotecas e constantes, o main e suas chaves ficam alinhados à esquerda◦ Todas as outras instruções e expressões são

alinhadas mais à direita 3 espaços ou tab.

48

Indentação

Page 49: BCC201  Introdução à Programação

49

Indentação

Page 50: BCC201  Introdução à Programação

As linguagens de programação frequentemente fornecem meios para que possamos fazer “anotações” em códigos fonte, chamados comentários◦ Elas não são instruções do programa, são

“lembretes” para nós;◦ O compilador não as leva em consideração.

50

Comentários

Page 51: BCC201  Introdução à Programação

Em C, existem duas maneiras de fazer comentários:◦ Comentários de uma linha são identificados pelos

símbolos “//”; ◦ Comentários de mais de uma linha são

identificados pelos símbolos “/*” no início do comentário e “*/” ao final do comentário.

51

Comentários

Page 52: BCC201  Introdução à Programação

52

Comentários - Exemplos

Page 53: BCC201  Introdução à Programação

53

Para a janela não fechar automaticamente…