Você está na página 1de 8

APRENDENDO A PROGRAMAR

Introduo programao

Nesta apostila vamos aprender como construir nossas prprias aplicaes usando uma linguagem de programao. A linguagem que iremos utilizar ser a C. Para programar em C, no precisamos de nada alm de um editor de textos ASCII (Notepad do Windows, por exemplo) e de um compilador, que vai transformar os cdigos que programarmos em linguagem de mquina (binrio). Existem vrios compiladores para C, mas vamos usar nesta apostila o MingW, que uma verso para Windows do compilador gratuito GCC para Linux. Para facilitar o trabalho dos programadores, foram criadas IDEs (Interfaces de desenvolvimento), que unem editor, compilador e outras ferramentas. Existem vrias IDEs gratuitas. A que iremos utilizar se chama Code::Blocks e pode ser baixada em: http://prdownloads.sourceforge.net/codeblocks/codeblocks1.0rc2_mingw.exe?download

CAPTULO I Programao terica Antes de aprender a linguagem C, vamos ter uma rpida aula sobre lgica de programao, para que possamos desenvolver algoritmos do que pretendemos programar, tendo assim uma lgica aplicvel a qualquer linguagem de programao. Um algoritmo tem a mesma organizao de um cdigo-fonte, mas no pode ser compilado, pois no pertence a linguagem nenhuma, por isso chamado de pseudo-cdigo. Vamos tentar resolver um problema: como proceder para se trocar o pneu de um carro? 123456789Sair do carro Abrir o porta-malas Pegar o macaco, estepe e chave de roda Usar a chave para tirar os parafusos do pneu furado Posicionar o macaco e levantar o carro Tirar o pneu furado e colocar o estepe Colocar os parafusos no novo pneu Abaixar o carro e tirar o macaco Apertar os parafusos

Quando desenvolvemos um cdigo, devemos fragmentar o problema em vrias partes e cuidar de cada uma delas individualmente. Obviamente no problema do pneu furado podemos ter uma situao como esta: 3- Pegar o macaco, estepe e chave de roda Se no houver Fim Seno 4- Usar a chave para tirar os parafusos do pneu furado Impomos uma condio para que a troca do pneu continue. Se no tivermos ao menos um dos trs itens do passo 3, no conseguiremos trocar o pneu, mas se tivermos a troca continua. Isso se chama condio e representada por SE. Quando se desenvolve um programa usa-se o que chamamos de variveis, que funcionam como containers, armazenando valores dentro delas. As variveis podem ser dos tipos: Inteiro (-1,0,1,2,...) Real (-54.6666, 0.000, 6.5,...) Caracteres (o, $, blblbl,...) Lgica (Verdadeiro, Falso) Um exemplo de utilizao de variveis dentro de um algoritmo : Inteiro: N; N10; O que fizemos foi criar uma varivel chamada N, do tipo inteiro e atribuir a ela o valor 10. Os ; no final de cada linha so uma conveno das linguagens de programao para dizer que uma instruo terminou, assim temos duas instrues nesse cdigo: Inteiro: N e N10. Vamos a mais um exemplo com variveis: Inteiro: A, B; Escreva(Digite Leia(A); Escreva(Digite Leia(B); Se((A+B)=10) Escreva(A soma Seno Escreva(A soma um nmero: ); mais um nmero: ); igual a 10); diferente de 10);

Nesse exemplo temos duas variveis inteiras (A e B). O comando escreva serve para mostrarmos uma mensagem na tela para o usurio. O comando leia serve para guardar o que o usurio digitar dentro de uma

varivel. Temos ainda a condio Se((A+B)=10), que diz que se a soma de A e B for igual a 10, o programa deve executar o comando dentro do bloco Se, se for diferente, deve ignorar esse bloco. A soma de A e B est entre parnteses por conveno, funciona exatamente igual s regras de prioridade na Matemtica, o que est entre parnteses deve ser executado primeiro. Como queremos comparar dois valores (o resultado da soma e 10) , primeiro temos que saber qual o resultado da soma, para depois o comparar com um valor. Cada Seno funciona para apenas um Se, o que est logo antes dele. Agora vamos aprender a usar estruturas de repetio, que servem para repetir comandos ou blocos de comandos. As principais estruturas so: Enquanto/faa Repita/at Para/passo

Vamos dar um exemplo simples, vamos supor que quisssemos ler uma varivel e ir somando esse valor outra varivel at que a soma da segunda varivel seja maior ou igual a 100. Com o Enquanto/faa ficaria assim: Inteiro: valor, soma; soma0; Enquanto(soma<100) faa Incio Escreva(SOMA: ,soma); Escreva(Digite um valor para somar: ); Leia(valor); somasoma+valor; Fim Escreva(Sua soma atingiu o limite, parou em ,soma); Isso resolve nosso problema, temos duas variveis (valor e soma), sendo que antes de comear o processo de soma, damos o valor 0 varivel soma. Depois impomos uma condio para repetio, que diz que enquanto a varivel soma for menor ou igual a 100, o bloco deve ser repetido. Depois, mostramos o valor da varivel soma na tela e perguntamos o prximo valor para somar, feito isso adicionamos esse valor varivel soma. Isso conclui o bloco, que ser repetido tantas vezes quando necessrio. O bloco est contido entre o Incio e o Fim. Depois que as somas forem feitas e a condio for satisfeita, executada a prxima linha do cdigo, dizendo que no mais possvel somar e mostrando o valor final da soma. O mesmo problema pode ser resolvido com Repita/at, desta forma: ... Repita Incio Escreva(SOMA: ,soma); Escreva(Digite um valor para somar: );

Leia(valor); somasoma+valor; Fim At que(soma>=100) ... A lgica a mesma, mas dessa vez dissemos que o bloco tem que ser repetido at que a varivel soma seja maior ou igual a 100. Para a estrutura Para/passo, modificar um pouco nosso programa: Queremos que o mximo de somas seja igual a 10, para isso fazemos assim: Inteiro: valor, soma,contador; soma0; Para contador de 1 at 10 faa Incio Escreva(SOMA: ,soma); Escreva(Digite um valor para somar: ); Leia(valor); somasoma+valor; Fim Escreva(Sua soma atingiu o limite, parou em ,soma); A estrutura Para/passo define um raio de repetio. O passo pode no ser utilizado, quando queremos que a varivel contador seja somada com 1 a cada repetio, caso contrrio, teremos que usar o passo, como no exemplo: Para contador de 1 at 10 passo 5 faa Incio <comandos> Fim No exemplo acima, adicionaremos 2 ao valor da varivel contador a cada repetio que for feita. Sendo assim, o cdigo vai se repetir 5 vezes.

CAPTULO II Programao prtica Vamos agora aplicar o conhecimento com algoritmos com linguagem C, para isso devemos ter instalado o Code::Blocks com MingW. Abra o Code::Blocks e crie um novo projeto (File New Project), escolha a opo Console Aplication e marque Do not create any files. Agora clique em OK para salvar o projeto. Crie uma nova pasta e coloque seu projeto dentro dela para facilitar.

Depois de salvar seu projeto, vamos adicionar um novo cdigo a ele, clicando no menu File- New File e usando um nome com a extenso .cpp, e salvando o arquivo na mesma pasta do projeto. Depois clicamos em Sim quando formos perguntados sobre adicionar o novo arquivo ao projeto.

Agora estamos prontos para programar, nossa IDE deve ter aberto o arquivo exemplo1.cpp para que ns o editemos.

Agora estamos prontos para comear. Vamos comear falando um pouco sobre como a linguagem C funciona. A linguagem C depende de bibliotecas, que contm as funes (os comandos nos algoritmos). Sem incluir as bibliotecas, no temos como programar nada, pois no vai funcionar. Ento vamos adicionar duas dessas bibliotecas. A sintaxe para se fazer isso #include <>, vamos incluir as seguintes bibliotecas:

#include <stdio.h> #include <stdlib.h> Agora vamos criar o nosso bloco de cdigo principal (chamado main), desse jeito: main(){ } Os smbolos { e } funcionam como o Incio e o Fim nos algotimos. dentro do bloco main que o compilador vai buscar primeiro as funes a executar. E nele que iremos trabalhar. Vamos adicionar os seguintes comandos no bloco main: printf(Estou programando em C!); getchar(); A funo printf funciona como o Escreva nos algoritmos. O problema que o compilador fecha o programa quando no existem mais comandos para serem executados, para isso colocamos a funo getchar, que serve para ler um caractere do teclado, ela est sem parmetros, o que significa que no far nada com o caractere digitado. Essa funo faz com que o programa fique esperando por uma resposta do teclado para continuar a execuo. Isso nos d tempo de ler a mensagem que digitamos. Ao final disso tudo, nosso cdigo deve estar assim:

Salve seu trabalho com CTRL+S e vamos executar nosso projeto teclando F9. Temos algo assim:

Agora vamos tentar resolver o problema da soma que tnhamos falado no captulo I, com Enquanto/faa. O cdigo, com alguns incrementos, fica assim:

A funo system serve para que o nosso programa execute um comando do MS-DOS. O comando cls serve para limpar a tela. Na funo printf temos algumas coisas estranhas: %: mostra na tela uma varivel (%d significa varivel inteira), a varivel colocada fora da mensagem e antecedida por uma ,. \n: serve para pular uma linha. Como colocamos dois, sero puladas duas linhas. A funo puts tem a mesma funo do printf, porm mostra apenas mensagens fixas, e no valores de variveis. Quando a mensagem exibida, automaticamente uma linha pulada. A funo scanf tem a mesma funo do Leia nos algorimos. Em C, devemos dizes o tipo de varivel que vamos ler dentro de uma mensagem (), depois colocamos a varivel com um & no incio, antecedido por uma ,. contador++: Adiciona 1 ao valor da varivel contador. o mesmo que: contador=contador+1; Vamos agora a um exemplo com vetores:

A varivel vetor tem 10 posies, ou seja, pode armazenar 10 valores diferentes. A funo for funciona como a estrutura Para/passo em algoritmos. A diferena que separamos as partes com ;. No printf temos (...%d...,i+1). O que isso faz imprimir o valor da varivel i, mas somando-se 1. Isso serve apenas para a impresso no vdeo e no altera o valor da varivel. No scanf estamos lendo vetor[i]. Isso significa que a posio do vetor que estamos gravando a mesma da varivel i. Quando se trabalha com vetores, usa-se o ndice para dizer qual posio est sendo utilizada. A estrurura Para/passo serve para aumentar o valor da varivel i, fazendo com que acessemos os valores do vetor, um a um. Quando precisarmos usar apenas um comando, no precisamos criar blocos, como foi o caso do ltimo for. Essa regra no vale para a funo main. E assim conclumos nossa introduo programao. Ainda h muitas outras coisas para falar, mas depende do seu interesse em buscar essas informaes. Alguns exemplos de cdigo em C podem ser encontrados em:

www.avt3d.pop.com.br/exemplos_c.rar

Tutorial by Brutto AVT

www.avt3d.pop.com.br

Você também pode gostar