550 likes | 645 Views
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
E N D
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? • 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?
Como um programa é criado? • Programas são arquivos de texto simples • Então poderíamos usar qualquer editor de textos simples; • Porém, existemeditoresespecí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”.
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.
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!
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”.
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).
Como um programa é criado? • 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.
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.
Vamos padronizar nossas aulas • 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!
Processo de criação de um programa Teste • Digite os comandos a seguir no código que você criou em um editor.
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.
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.
MinGW • 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
GNU • GNU é um sistema operacional tipo Unix, idealizado por Richard Stallman; • De onde veio este nome? • GNU is Not Unix (GNUNão é Unix).
GCC • 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.
MinGW • 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.
Como Compilar com o GCC? • 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
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.
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.
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.
Como Compilar com o GCC? • 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.
Como Executar um Programa? • 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.
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.
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;
Tipos de Erros • Quandocompilamos um programa e encontramoserros, dizemosquehouveerroemtempo de compilação; • Porém, frequentemente o código é compiladoperfeitamente e quando o executamosacontecealgumerro • O chamadoerroemtempo de execução; • Geralmentesãoerros de lógica, e não de programaçãoemsi. • Obviamente, o compiladorsódetectaerrosem tempo de compilação. • Atenção, programas com erros de compilaçãosãozeradosemexercícios e provas.
Introdução ao C • 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.
Introdução ao C • Em 1967, foi desenvolvida a linguagem BCPL (Basic Combined Programming Language), uma versão simplificada da CPL • Criadaoriginalmenteparaconstruircompiladores; • 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.
Em 1971, Dennis Ritchie desenvolvia uma “nova linguagem B”, que, em 1973 seria batizada de linguagem C. Introdução ao C Ken Thompson e Dennis Ritchie
Introdução ao C • AlgumasCuriosidades: • C foidesenvolvidoparaajudar a desenvolver o sistemaoperacional Unix • No qualbaseia-se o sistemaoperacional Linux. • Existempouquíssimasarquiteturasquenãopossuamcompiladorespara a linguagem C; • Existe a linguagem D • Outraslinguagensbaseadasem C sãoC++,C#, Python, Perl, PHP e Go (emdesenvolvimentopeloGoogle).
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.
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.
Introdução ao C • 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?
Introdução ao C • Agora, troquem o nome da função main por qualquer outro nome; • Compilem e executem; • O que aconteceu?
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.
Partes de um Código-Fonte • 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. Diretiva de Compilação
Partes de um Código-Fonte • 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”. Função Principal
Partes de um Código-Fonte • Os símbolos ‘{’ e ‘}’ delimitam o início e fim do bloco de instruções da função. Delimitadores
Partes de um Código-Fonte • 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 ‘;’. Instrução Instrução
Diretivas e Bibliotecas • 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.
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.
Indentação • A indentação de um código-fonte é o formatoemque as instruçõesestãodispostas no arquivo • Ouseja, o alinhamento das instruções. • Porpadrãoapenas a declaração de bibliotecas e constantes, o main e suaschavesficamalinhados à esquerda • Todas as outrasinstruções e expressõessãoalinhadasmais à direita • 3 espaçosoutab.
Comentários • 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.