Post on 04-Jan-2016
description
BCC201 Introdução à ProgramaçãoProf. Reinaldo Fortes2014/2
Como um programa é criado? Compilação por linha de comando Introdução à linguagem C
2
Agenda
Como um programa é criado?
3
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?
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?
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?
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?
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?
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?
10
Processo de criação de um programa
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?
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?
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
Teste
Digite os comandos a seguir no código que você criou em um editor.
14
Processo de criação de um programa
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
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
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
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
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
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
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?
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?
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?
24
Como Compilar com o GCC?
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.
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?
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?
28
Compilando e Executando
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
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
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
Introdução à Linguagem C
32
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
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
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
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
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
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
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
Agora, troquem o nome da função main por qualquer outro nome;
Compilem e executem; O que aconteceu?
40
Introdução ao C
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
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
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
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
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
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
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
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
49
Indentaçã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
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
52
Comentários - Exemplos
53
Para a janela não fechar automaticamente…