Introdução a Programação C

  • Published on
    08-Aug-2015

  • View
    56

  • Download
    8

Embed Size (px)

Transcript

<p>Programao I</p> <p>Snia Virginia Alves Frana</p> <p>Volume 1</p> <p>Recife, 2009</p> <p>Universidade Federal Rural de Pernambuco Reitor: Prof. Valmar Corra de Andrade Vice-Reitor: Prof. Reginaldo Barros Pr-Reitor de Administrao: Prof. Francisco Fernando Ramos Carvalho Pr-Reitor de Extenso: Prof. Paulo Donizeti Siepierski Pr-Reitor de Pesquisa e Ps-Graduao: Prof. Fernando Jos Freire Pr-Reitor de Planejamento: Prof. Rinaldo Luiz Caraciolo Ferreira Pr-Reitora de Ensino de Graduao: Prof. Maria Jos de Sena Coordenao Geral de Ensino a Distncia: Prof Marizete Silva Santos Produo Grfica e Editorial Capa e Editorao: Allyson Vila Nova, Rafael Lira e Italo Amorim Reviso Ortogrfica: Marcelo Melo Ilustraes: Diego Almeida Coordenao de Produo: Marizete Silva Santos</p> <p>SumrioApresentao ........................................................................................5 Conhecendo o Volume 1 ......................................................................6 Captulo 1 Introduo ao C ...............................................................9 1.1. Programas e Programao de Computadores ............................9 1.2. Linguagens de Programao..................................................... 11 1.3. Breve Histrico da Linguagem de Programao C ...................14 1.4. Criao, Compilao e Execuo de um Programa ..................15 Captulo 2 Conceitos Preliminares para Programar em C ...........20 2.1. Estrutura de um Programa Bsico em C ...................................21 2.2. Palavras Reservadas do C ........................................................24 2.3. Uso de Comentrios ..................................................................25 2.4. Os Fundamentos do Ambiente C...............................................27 2.5. Conhecendo o Dev-cpp .............................................................30 Captulo 3 Tipos de Dados, Variveis e Constantes .....................36 3.1. Tipos de dados ..........................................................................36 3.2. Variveis e Constantes ..............................................................38 3.3. Operador de Atribuio (=) ........................................................45 Captulo 4 Comandos de Entrada e Sada de Dados....................50</p> <p>4.1. Entrada de Dados ......................................................................50 4.2. Sada de Dados .........................................................................55 4.3. Erros Frequentes no Uso dos Comandos de Entrada e Sada .61 4.4. Primeiros programas em C ........................................................62 Captulo 5 Operadores, Expresses e Funes Matemticas .....71 5.1. Operadores Bsicos ..................................................................71 5.2. Operadores Aritmticos de Atribuio ......................................83 5.3. Operadores ++ e -- ....................................................................83 5.4. Converso de tipo......................................................................84 5.5. Funes Matemticas (biblioteca math.h) .................................86 Consideraes Finais .........................................................................96 Conhecendo a Autora .........................................................................97</p> <p>ApresentaoCaro(a) cursista, Seja bem-vindo (a) ao primeiro mdulo da disciplina Programao I. Nesta disciplina, voc ir aprender a programar na linguagem de programao C, uma das mais utilizadas mundialmente. Desenvolver programas e garantir que estes sejam confiveis, eficientes e agradveis de usar requer conhecimento tcnico e muito treinamento. Este livro foi escrito pensando em voc, que est iniciando neste mundo da programao de computadores e que precisa ser apresentado, com tranquilidade, a um conjunto de novos conceitos. Os assuntos sero transmitidos gradativamente, de forma que voc os absorva com naturalidade. Este livro contm muitos exemplos de questes resolvidas, comentadas em detalhes, para que voc no encontre dificuldades para aprender cada assunto. Alm de apresentar dicas para que voc desenvolva seus programas de forma eficiente e no cometa os principais erros de programao que ocorrem com quem est iniciando a programar. Ao final de cada captulo, voc poder testar o seu aprendizado e assimilar melhor o que foi estudado, atravs da resoluo de exerccios. Isto muito importante! No deixe de resolv-los. De antemo, informamos que programar muito bom, voc vai gostar! Nada melhor do que ver um programa rodando e saber que foi voc quem o criou. Mas, no desanime se encontrar alguma dificuldade durante esta caminhada. s vezes ocorre um erro no programa e no sabemos onde est o problema. Seja persistente! Ao longo do tempo, a experincia vai te deixar mais seguro e voc conseguir encontrar tais erros com facilidade. O objetivo deste primeiro mdulo fazer uma introduo linguagem C, conhecer um pouco da sua histria e iniciar o estudo da sintaxe da linguagem, que possibilitar o desenvolvimento de programas bsicos. Ao final deste primeiro mdulo, voc j estar desenvolvendo seus primeiros programas em C. O que voc est esperando? Vamos comear? Bons estudos! Professora Snia Virginia Alves Frana</p> <p>Programao I</p> <p>Conhecendo o Volume 1Neste primeiro volume, voc ir encontrar o mdulo 1 da disciplina: Programao I. Este volume est estruturado em cinco captulos, que sero estudados ao longo de 15h/aula. Para facilitar seus estudos, veja a organizao deste primeiro volume. Captulo 1: Introduo ao C Carga Horria do Captulo 1: 2 h/aula Objetivos do Captulo 1: Introduzir os conceitos bsicos da rea de programao e apresentar um breve histrico sobre a linguagem C. Contedo Programtico do Captulo 1 Conceito de programas e programao de computadores; Linguagens de programao; Breve histrico da linguagem de programao C; Etapas do desenvolvimento de um programa. Captulo 2: Conceitos Preliminares para Programar em C Carga Horria do Captulo 2: 3 h/aula Objetivos do Captulo 2: Apresentar detalhes mais especficos da linguagem, necessrios para dar incio programao em C. Neste captulo, tambm ser apresentado o ambiente de programao que utilizaremos no desenvolvimento dos programas. Contedo Programtico do Captulo 2 Estrutura de um programa bsico C; Palavras reservadas do C; Uso de comentrios; Fundamentos do ambiente C; Conhecendo o Dev-cpp.</p> <p>6</p> <p>Programao I</p> <p>Captulo 3: Tipos de Dados, Variveis e Constantes Carga Horria do Captulo 3: 2 h/aula Objetivos do Captulo 3: Apresentar os tipos de dados suportados pelo C e introduzir o conceito de variveis e constantes Contedo Programtico do Captulo 3 Tipos de dados; Variveis e constantes; Operador de atribuio; Captulo 4: Comandos de Entrada e Sada de Dados Carga Horria do Captulo 4: 4 h/aula Objetivos do Captulo 4: Apresentar os comandos de entrada e sada de dados do C. Neste captulo, voc ter acumulado conhecimento suficiente para desenvolver os primeiros programas em C. Contedo Programtico do Captulo 4 Entrada de dados; Sada de dados; Desenvolvimento dos primeiros programas C. Captulo 5: Operadores, Expresses e Funes Matemticas Carga Horria do Captulo 5: 4 h/aula Objetivos do Captulo 5: Apresentar os operadores bsicos (aritmticos, relacionais e lgicos), alm de funes complementares para o desenvolvimento de programas que executem expresses mais complexas. Contedo Programtico do Captulo 5 Operadores aritmticos, lgicos e relacionais; Operadores aritmticos de atribuio; Operadores ++ e --; 7</p> <p>Programao I</p> <p> Converso de tipos; Funes matemticas. Ao final de cada captulo voc encontrar: A seo Atividades e Orientaes de Estudo: que contm exerccios para a fixao do assunto estudado, alm de indicao de fruns de discusso. A seo Conhea Mais: que contm dicas de sites e livros que devem ser lidos para ampliar os seus conhecimentos. A seo Vamos Revisar?: que apresenta um resumo dos principais tpicos abordados no captulo.</p> <p>8</p> <p>Programao I</p> <p>Captulo 1 Introduo ao CVamos conversar sobre o assunto? Neste primeiro captulo, ser feita uma apresentao do que programao e quais as principais linguagens de programao do mercado, dando nfase linguagem C. Este captulo importante, porque conheceremos um pouco da histria da linguagem de programao que iremos aprender nesta disciplina. Sempre que conhecemos uma pessoa nova, queremos saber alguns detalhes da sua vida, no mesmo? Quantos anos ela tem, onde nasceu, quem so seus pais, etc. Neste captulo, tambm sero introduzidos conceitos utilizados na rea de programao, visando a nossa preparao para nos lanarmos nesse mundo intrigante da criao de programas computacionais. Ento, prontos (as) para o desafio?</p> <p>Saiba Mais1 Alm dos software aplicativo e software de sistema, ainda possivel utilizar a categoria software embutido ou embarcado, destinado a funcionar dentro de uma mquina que no um computador. Normalmente, estes software tm um propsito muito especfico, como, por exemplo: controlar a injeo eletrnica de um carro ou gerenciar o cozimento dos alimentos no forno de microondas. Mais recentemente, surgiu tambm o software como servio, que um software que roda diretamente na internet, no sendo necessrio instalar nada no computador do usurio.</p> <p>1.1. Programas e Programao de ComputadoresUm programa de computador um conjunto de instrues que descrevem uma tarefa que ser executada por um computador. Um programa de computador tambm conhecido como software, software aplicativo, software de sistema ou simplesmente programa. O termo software mais utilizado quando feita uma referncia parte no fsica do sistema computacional, juntamente com o termo hardware, que faz referncia ao conjunto de componentes eletrnicos que constituem um computador. Os programas que permitem ao usurio fazer uma ou mais tarefas especficas, como as planilhas eletrnicas, editores de texto e jogos so chamados de software aplicativo ou aplicao. J os programas que do suporte funcional aos computadores, como os sistemas operacionais e drivers de dispositivos, so chamados de software de sistema1. O ato de desenvolver programas chamado de programao de computadores. A programao o processo de escrita, teste e manuteno de um programa (ASCENIO e CAMPOS, 2002). O desenvolvimento de programas baseado em metodologias ou processos formalizados conhecido por engenharia de software. 9</p> <p>Programao I</p> <p>Os programas so escritos em uma linguagem de programao. Assim como o Portugus, o Ingls e o Espanhol, as linguagens de programao tm as suas regras e devemos segu-las para escrever nossos programas corretamente. Portanto, a programao de computadores uma cincia e, por isso, devemos seguir uma metodologia para termos como resultado: programas seguros e eficientes. Em uma disciplina anterior, vocs aprenderam a desenvolver algoritmos, que so uma sequncia de passos para realizar uma tarefa ou resolver um problema. Utilizamos algoritmos no nosso cotidiano para realizar atividades corriqueiras, definindo a sequncia de passos que deve ser executada para atingirmos um objetivo, como, por exemplo, os passos que executamos para tomar banho, calibrar um pneu ou fazer um bolo (Figura 1.1).</p> <p>Figura 1.1: Exemplos de algoritmos</p> <p>Para efetuarmos estas atividades, seguimos uma sequncia lgica de passos. Se esses passos no tiverem uma lgica, podemos no conseguir atingir o nosso objetivo. Se vocs observarem, para fazer um bolo, existe uma ordem em que os ingredientes devem ser adicionados receita, caso no sigamos esta ordem, o bolo no ficar bom. Na programao ir ocorrer a mesma coisa, devemos passar as instrues ao computador, utilizando uma linguagem de programao, seguindo uma lgica a lgica computacional. Na prxima seo vamos abordar as linguagens de programao, de uma forma mais abrangente, tratando os principais conceitos que envolvem este assunto. Vamos seguir em frente?</p> <p>10</p> <p>Programao I</p> <p>1.2. Linguagens de Programao atravs das linguagens de programao que poderemos criar nossos programas. Uma linguagem de programao um conjunto de regras sintticas e semnticas usadas para definir um programa. O conjunto de cdigos (palavras e smbolos), compostos de acordo com essas regras, constituem o cdigo fonte do nosso programa. Para ser executado pelo processador, o cdigo fonte precisa ser traduzido para cdigo de mquina. Aprender uma linguagem de programao um pouco similar a aprender um novo idioma. Temos que saber o significado das palavras, as regras da estruturao das frases, etc., para podermos nos comunicar corretamente no novo idioma.</p> <p>Por que voc no faz o que eu quero?</p> <p>Figura 1.2: Aprenda a dar ordens ao seu computador</p> <p>Existem vrias linguagens de programao. Vocs sabiam que cada linguagem de programao possui o seu conjunto de regras e um modo de funcionamento prprio? A escolha de uma linguagem de programao para o desenvolvimento de um programa deve estar atrelada ao tipo de problema que deseja resolver. Existem linguagens 11</p> <p>Programao I</p> <p>que so melhores para resolver um certo tipo de questo do que outras. De acordo com Sebesta (2003), as linguagens de programao vm sendo classificadas de vrias formas: por gerao, de acordo com o paradigma de programao, quanto ao grau de abstrao, de acordo com a estrutura de tipos, dentre outras. Uma das classificaes mais utilizadas quanto ao grau de abstrao. Segundo esta classificao, as linguagens de programao so divididas em trs grupos: linguagens de mquina, linguagens de baixo nvel e linguagens de alto nvel. A linguagem de mquina a linguagem natural dos computadores. Estas linguagens so ininteligveis para o ser humano no treinado. As linguagens de mquina so representadas por sequncias de bits (zeros e uns). Estas sequncias representam instrues que sero executadas pelo processador do computador. As instrues correspondem a sequncias muito simples de operaes, tais como: transferir um dado em memria para a CPU ou somar dois valores. As linguagens de mquina so dependentes do processador, isto , uma determinada linguagem de mquina s poder usada por um tipo de computador.Saiba MaisNo contexto da informtica, a portabilidade de um programa a sua capacidade de ser compilado ou executado em diferentes arquiteturas (seja de hardware ou de software).2</p> <p>Esse termo tambm vem sendo utilizado pelas empresas de telefonia mvel, quando se referem portabilidade de nmero, ou seja, voc muda de operadora, mas no muda o nmero do celular.</p> <p>As linguagens de baixo nvel so prximas da linguagem de mquina. No entanto, os zeros e uns que formam uma instruo foram substitudos por palavras que representam tais instrues, tornando-as um pouco mais legveis. Estas linguagens so mais voltadas para a mquina, isto , so escritas usando as instrues do microprocessador do computador. So chamadas de linguagens Assembly (que significa montagem). Estas linguagens apresentam as seguintes vantagens: os programas so executados com maior velocidade de processamento (j que so executadas diretamente pela mquina) e ocupam menos espao na memria. No entanto, de modo geral, os programas em Assembly tm pouca port...</p>