1 / 55

BCC201 Introdução à Programação

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

Download Presentation

BCC201 Introdução à Programação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Como um programa é criado?

  4. 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?

  5. 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”.

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

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

  8. 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”.

  9. 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).

  10. Processo de criação de um programa

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

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

  13. 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!

  14. Processo de criação de um programa Teste • Digite os comandos a seguir no código que você criou em um editor.

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

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

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

  18. GNU • GNU é um sistema operacional tipo Unix, idealizado por Richard Stallman; • De onde veio este nome? • GNU is Not Unix (GNUNão é Unix).

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

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

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

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

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

  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.

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

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

  28. Compilando e Executando

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

  30. 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;

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

  32. Introdução à Linguagem C

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

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

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

  36. 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).

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

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

  39. 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?

  40. Introdução ao C • Agora, troquem o nome da função main por qualquer outro nome; • Compilem e executem; • O que aconteceu?

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

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

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

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

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

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

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

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

  49. Indentação

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

More Related