Вы находитесь на странице: 1из 21

UTILIZANDO O DEV-C++

Algoritmos

Prof. Marcelo Marula

Utilizando o Dev C++


Para transformar o seu pseudocdigo em um programa executvel necessrio utilizar uma Linguagem de Programao. Existem diversas linguagens no mercado, mas vamos utilizar para nosso propsito a linguagem C++. Para realizar essa transformao necessrio escrever todo o algoritmo, traduzindo os comandos do pseudocdigo por comandos correspondentes na linguagem de programao (no nosso caso C++). A linguagem C++ contm uma lista de comandos padro, mas para poder escrev-los necessrio escolher uma ferramenta que permita essa operao. Normalmente essas ferramentas so chamadas Compiladores. Tambm existem diversos compiladores para a linguagem C++. Utilizaremos o Dev C++. Vamos utilizar como exemplo, o seguinte pseudocdigo: algoritmo EXEMPLO var inteiro QUANTIDADE; real PRECO, TOTAL; inicio leia (QUANTIDADE); leia (PRECO); TOTAL QUANTIDADE * PRECO;

escreva (TOTAL); se (TOTAL > 100) entao escreva (Valor muito alto); senao escreva (Valor normal); fim_se; fim Para criar um programa executvel baseado nesse pseudocdigo voc deve seguir as etapas apresentadas a seguir.

Algoritmos 1. Abrir o programa Dev-C++. Ele deve apresentar a seguinte aparncia.

Prof. Marcelo Marula

2. Quando criamos os nossos programas, estamos criando o nosso Arquivo Fonte (arquivo que contm os comandos na linguagem de programao). Para iniciarmos o nosso trabalho, acessar o menu Arquivo, escolher a opo Novo e clicar em Arquivo Fonte (veja a figura abaixo).

Feito isso deve surgir uma rea de trabalho branca (figura abaixo) com uma guia chamada Sem Ttulo 1. Essa a nossa rea de trabalho onde sero escritos os comandos na linguagem de programao C++.

Algoritmos

Prof. Marcelo Marula

OBS: Em algumas situaes a nossa rea de trabalho aparecer logo quando o programa for aberto. Nesse caso, no necessrio realizar esse procedimento. OBS: Existem dois caminhos alternativos para voc abrir essa nossa janela para criar o arquivo fonte. A primeira digitar CTRL+N ou clicar no boto Arquivo Fonte da barra de ferramentas .

3. Iniciar a digitao do cdigo fonte correspondente ao nosso pseudocdigo. Para isso devemos fazer a traduo dos comandos e algumas pequenas adaptaes (essas adaptaes vo ocorrer em todas as linguagens de programao). OBS: Todos os comandos na linguagem C++ devem ser escritos OBRIGATORIAMENTE em letras minsculas. 4. O pseudocdigo se inicia com o nome do algoritmo (programa). No existe esse comando na linguagem C++. O nome do programa ser dado diretamente ao arquivo que ser gerado pelo nosso trabalho. 5. A linguagem C++ exige que no incio do cdigo existam as Diretivas de Pr-Processamento. Esses comandos indicam as bibliotecas de comando que sero utilizadas e outras caractersticas importantes para o funcionamento do programa. Em todos os programas que vamos criar sempre aparecero os mesmos comandos. Escreva os seguintes comandos no cdigo fonte:

6. Em seguida, no nosso pseudocdigo temos a declarao das variveis. Para declarar as variveis na linguagem C++ no necessrio utilizar o comando var. Apenas declare as variveis, apenas tomando cuidado para utilizar a denominao correta para o tipo de varivel (conforme tabela abaixo): Pseudocdigo Linguagem C++

Tipos de variveis inteiro real caractere int float char

Algoritmos Baseado no nosso pseudocdigo de exemplo, escrever:

Prof. Marcelo Marula

7. Agora devemos indicar o comando inicio (incio do programa). Para isso devemos escrever o comando main() e na linha de baixo abrir chaves ({).

8. A prxima etapa acrescentar os dois comandos leia (entrada de dados para o programa). Para isso devemos substituir o comando leia pelo comando cin, seguido de dois smbolos de maior (>>) e o nome da varivel que receber o dado digitado (sem parnteses).

Podemos imaginar que o comando aponta para a varivel que receber os dados de entrada de dados. 9. Agora devemos escrever o comando com a operao aritmtica e a atribuio de valor. O processo bastante simples: para as operaes aritmticas, utilizar a mesma simbologia do pseudocdigo e para a atribuio, substituir o smbolo pelo smbolo =.

Algoritmos

Prof. Marcelo Marula

Pseudocdigo

Linguagem C++

Operadores Aritmticos + * / + * /

10. O prximo comando apresentar o valor calculado e armazenado na varivel TOTAL. Para isso devemos traduzir o comando escreva (pseudocdigo) para o comando cout, seguido de dois sinais de menor (<<) e o contedo que deve ser apresentado (sem parnteses). O comando ficar da seguinte forma:

Observe a tabela abaixo com alguns exemplos de utilizao do comando de sada de dados (cout): Comando
Sada somente de texto Sada somente de valor de varivel Sada utilizando textos e valores de variveis

Pseudocdigo
escreva (Dev-C++); escreva (TOTAL); escreva (O valor total , TOTAL);

Linguagem C++
cout << Dev-C++; cout << TOTAL; cout << O valor total << TOTAL;

Observe que neste ltimo exemplo, a separao entre texto e varivel realizada pelo smbolo <<, que substitui a vrgula do pseudocdigo.

Algoritmos

Prof. Marcelo Marula

11. A prxima etapa escrever o comando de deciso. Em primeiro lugar, devemos observar que os operadores relacionais sofrem algumas alteraes (conforme tabela abaixo): Pseudocdigo Linguagem C++

Operadores Relacionais = <> > >= < <= == != > >= < <=

Agora, quanto ao comando de deciso (comando se), vamos escrev-lo aos poucos para entender as diferenas. Em primeiro lugar temos a seguinte linha de comando (pseudocdigo): se (TOTAL > 100) entao Ela deve ser escrita da seguinte maneira, substituindo o comando se pelo comando if:

Observe que no existe comando correspondente ao entao na linguagem C++. A seguir devemos escrever todos os comandos que devem ser executados quando a condio (TOTAL > 100) do comando if for verdadeira. Devemos ento seguir a seguinte regra: colocar todos os comandos entre chaves ({....}). Dessa maneira o nosso cdigo fica da seguinte forma:

Algoritmos

Prof. Marcelo Marula

Obs: O uso das chaves obrigatrio quando forem usados mais do que um comando em cada lado do comando if (comando se do pseudocdigo), por esse motivo, usar sempre as chaves no ocasionar problemas. Agora devemos escrever os comandos que devem ser realizados quando a condio (TOTAL > 100) for verdadeira. um comando escreva (pseudocdigo), que deve ser traduzido para um comando cout, como j vimos anteriormente. O comando ficar da seguinte forma:

O prximo passo escrever o comando senao (indicando que existem comandos que devem ser feitos quando a condio TOTAL > 100 for falsa). O comando deve ser substitudo pelo comando else e, como anteriormente apresentado, todos os comandos que devem ser executados quando a condio for falsa devem aparecer entre chaves. O comando ficar da seguinte forma:

Algoritmos

Prof. Marcelo Marula

O comando que deve ser realizado quando a condio for falsa novamente um comando de sada de dados (cout). O cdigo ficar da seguinte maneira:

Obs: o comando de deciso est encerrado, portanto o comando fim_se do pseudocdigo no representado na linguagem C++ (porque ele no existe). O que indica que os comandos pertencem ao comando de deciso (if) so as chaves. Caso o comando de deciso no possua o comando else (nada deve ser realizado quando a condio for falsa), o comando ficaria da seguinte maneira: Pseudocdigo Linguagem C++

Comando de deciso sem comandos no senao se (VALOR > 10) ento VALOR VALOR * 2; fim_se if (VALOR > 10) { VALOR = VALOR * 2; }

Algoritmos

Prof. Marcelo Marula

12. O prximo comando a escrever o comando fim (fim de programa). Para isso basta traduzir esse comando por um fechar de chave ( } ). O cdigo fica da seguinte maneira:

13. Com a traduo do pseudocdigo para a linguagem de programao C++ terminada (cdigo fonte escrito) devemos salvar o nosso trabalho. Para isso, acessar o menu Arquivo, escolher a opo Salvar Como. Surgir a seguinte janela:

Essa uma janela comum utilizada para salvar arquivos. Nela devemos escolher o local para que o arquivo com o cdigo fonte (Arquivo Fonte) seja armazenado e devemos atribuir um nome para o arquivo. Depois disso, clicar no boto Salvar. O nome atribudo para o arquivo ser o mesmo nome do arquivo executvel gerado posteriormente, ou seja, o nome do programa. Obs: Cuidado para NO modificar a opo que consta em Salvar como tipo. Ele apresenta a opo C++ source files, ou seja, arquivo fonte C++. Esta deve ser a opo.

10

Algoritmos

Prof. Marcelo Marula

Observe que a guia onde estamos escrevendo o cdigo fonte mudou para o nome do arquivo que acabamos de salvar (figura abaixo).

14. At o momento fizemos a traduo dos comandos do pseudocdigo para os comandos da linguagem de programao C++. Agora o momento de transformarmos o cdigo fonte em um arquivo executvel (com extenso .exe), ou seja, em um programa autnomo que pode ser executado em qualquer computador (mesmo que no tenha o compilador C++). Esse processo se chama Compilao e realizado clicando-se no boto Compilar de ferramentas. Outras opes para realizar o mesmo comando utilizar a opo Executar do menu e clicar em Compilar. Outra opo pressionar CTRL+F9 no teclado. muito importante observar que nesse momento o compilador vai conferir se existe algum erro de sintaxe. Erro de sintaxe aquele cometido quando escrevemos algum nome de comando errado, quando esquecemos o ponto-e-vrgula, quando usamos uma varivel que no foi declarada, etc. Obs: os compiladores no conseguem detectar erros de lgica, como por exemplo, uma operao matemtica escrita da forma correta, mas que realiza o clculo errado. Em caso de erro, quando mandarmos compilar o programa, aparecer uma tela parecida com essa apresentada abaixo, com alguma linha do cdigo fonte destacada (para ajudar a identificar o erro). da barra

11

Algoritmos

Prof. Marcelo Marula

Nesse exemplo, o erro cometido foi esquecermos o ponto-e-vrgula do comando cout anterior ao comando if. Observe que o compilado no vai necessariamente indicar a linha onde escrevemos errado, mas sim indicar o momento onde o erro ocorreu. Mesmo assim, podemos ter uma idia que o erro est por perto da indicao. Alm disso, na parte de baixo da tela, aparece um indicador com os erros encontrados. Se voc conhece um pouco da lngua inglesa ela tambm pode ajudar.

Observe que existe uma indicao na linha 11 de: expected ; before if, ou seja, se esperava um ponto-e-vrgula antes do comando if. Corrigido o erro e compilado novamente, o processo ocorre sem erros e a seguinte janela apresentada, indicando que o processo ocorreu sem problemas:

Basta clicar em Fechar para concluir o processo. 15. Neste momento j possumos um programa compilado (arquivo executvel) gravado no mesmo local onde foi gravado o seu arquivo fonte. Podemos acessar o arquivo e execut-lo dando duplo clique sobre o cone correspondente, ou podemos execut-lo diretamente do compilador, para verificar se o funcionamento est correto (opo mais aconselhvel). Para executar o programa diretamente do compilador basta clicar no boto Executar da

barra de ferramentas. Outra opo utilizar a opo Executar do menu e clicar em Executar. Alm disso, podemos simplesmente pressionar CTRL+F10 no teclado. Como resultado aparecer a seguinte janela, esperando a entrada de dados para processar:

12

Algoritmos

Prof. Marcelo Marula

A entrada de dados acontece nessa tela preta. Observe que temos apenas um cursor ( _ ) piscando, indicando que temos que entrar com os dados (QUANTIDADE e depois PRECO). Em primeiro lugar, o programa est executando o primeiro comando de entrada de dados (cin >> QUANTIDADE). Ele est aguardando que voc digite um valor e pressione ENTER no teclado para confirmar a entrada desse valor. Obs: Para digitar valores no inteiros utilizar o ponto como separador decimal. Portanto, 3.5 correto e 3,5 errado. Feito isso, o valor digitado aparece na tela e o cursor ( _ ) passa para a linha de baixo. Agora o programa est executando o segundo comando de entrada de dados (cin >> PRECO). O processo de entrada de dados o mesmo: digitar e pressionar ENTER. Algo de estranho aconteceu! Ao invs de mostrar o resultado (comando de sada de dados aps o processamento) a janela simplesmente fechou sem mostrar nada. Isso acontece devido ao compilador usado (os compiladores podem apresentar alguns comportamentos diferentes entre eles). 16. Para resolver isso, antes do ltimo comando do programa precisamos escrever o seguinte comando: system(pause). Esse comando manter a janela aberta, at que seja pressionado algo no teclado, com isso permitindo que vejamos o resultado. Esse comando deve ser colocado em todos os programas. Dessa forma o nosso cdigo fica assim:

13

Algoritmos

Prof. Marcelo Marula

14

Algoritmos

Prof. Marcelo Marula

IMPORTANTE Sempre que voc alterar o cdigo, depois de ter salvado e compilado, necessrio repetir os dois processos, pois s dessa forma ser gerado o programa executvel novamente, com as alteraes realizadas. Para salvar agora s necessrio escolher o menu Arquivo e clicar na opo Salvar. Feito isso, basta executar o programa novamente e obteremos o seguinte:

Apareceram os valores digitados (10 para QUANTIDADE e 3.5 para PRECO) e depois o valor de TOTAL (35 nesse exemplo) e a mensagem (Valor Normal). Mas, eles apareceram todos juntos em uma s linha junto com a mensagem de pausa no programa (Pressione qualquer tecla para continuar...). Por que isso aconteceu? Isso acontece porque o comando de sada de dados (cout) apenas indica para o computador o valor que ele deve apresentar na tela e no a sua posio, ou seja, se quisermos que cada valor aparea em uma linha devemos inserir comandos que indiquem ao computador para ir para a linha de baixo aps apresentar a sada. 17. O comando para indicar que a apresentao deve ir para a linha de baixo o \n (barra invertida mesmo). Lembrando que esse comando s pode aparecer entre aspas, ou seja, junto com um texto. Como temos dois tipos de comando de sada nesse programa temos que observar o que fazer com cada um. Para o comando de sada de dados que apenas apresenta o valor da varivel (cout << TOTAL) devemos acrescentar um texto que contenha o comando de pular linha. O cdigo fica da seguinte maneira:

15

Algoritmos

Prof. Marcelo Marula

Para os comandos de sada de dados que apresentam textos entre aspas, basta acrescentar o comando de pular linha dentro das aspas. O cdigo fica da seguinte maneira:

Depois de salvar e compilar novamente podemos executar o programa e observar o resultado esteticamente bem melhor:

18. Para terminarmos esse nosso primeiro programa criado com C++, podemos acrescentar alguns pequenos detalhes que tornaro o nosso programa mais interessante para quem vai us-lo.

16

Algoritmos

Prof. Marcelo Marula

Vamos observar, em primeiro lugar, as entradas de dados. Se no soubssemos como o cdigo seria impossvel descobrir o que deveria ser digitado primeiro no programa (QUANTIDADE ou PRECO). Dessa forma, interessante perceber que toda vez que utilizarmos um comando de entrada de dados (cin) seria muito bom colocarmos um texto antes, indicando o que deve ser digitado pelo usurio. Como o comando cin no permite isso (ele apenas permite entrada de dados e no sada), temos que usar um comando cout (sada de dados) para apresentar um texto. Dessa maneira o nosso cdigo fica da seguinte forma:

Obs: Devemos utilizar um cout para cada cin, ou seja, um texto informativo para cada entrada de dados. O resultado disso (aps salvamento e compilao) o seguinte:

Em segundo lugar vamos observar o comando de sada de dados que apresenta o contedo da varivel TOTAL (comando cout << TOTAL). O resultado dele simplesmente um nmero, que um

17

Algoritmos

Prof. Marcelo Marula

usurio menos avisado no vai saber do que se trata, ento seria interessante acrescentar a esse comando um texto que explique o que esse valor. Observe o nosso cdigo:

O resultado disso (aps salvamento e compilao) o seguinte:

Com isso o nosso primeiro programa est terminado e o cdigo fonte dele ficou da seguinte maneira:

18

Algoritmos

Prof. Marcelo Marula

DETALHES IMPORTANTES OPERADORES MATEMTICOS Como vimos, alm dos operadores aritmticos, podemos utilizar alguns operadores matemticos (resto da diviso, raiz quadrado e potenciao). a) Resto da Diviso (somente possvel se as duas variveis forem do tipo int) Pseudocdigo Linguagem C++

Comando Resto da Diviso RESULTADO NUM1 mod NUM2; RESULTADO = NUM1 % NUM2;

Obs: Para utilizar os operadores matemticos de raiz quadrada e de potenciao necessrio acrescentar uma diretiva de pr-processamento math.h. O incio do cdigo dever ficar da seguinte maneira:

b) Raiz Quadrada Pseudocdigo Linguagem C++

Comando Raiz Quadrada RESULTADO raiz (NUM1); RESULTADO = sqrt (NUM1);

19

Algoritmos c) Potenciao Pseudocdigo

Prof. Marcelo Marula

Linguagem C++

Comando Potenciao RESULTADO NUM1 ^ NUM2; RESULTADO = pow(NUM1,NUM2);

19. Vamos agora, imaginar que existe mais uma opo de mensagem a ser apresentada utilizando o comando de deciso (if). Se o valor de TOTAL for menor do que 10 deve ser apresentada a mensagem Valor baixo. Ou seja, se temos trs opes, teremos que utilizar dois comandos if aninhados (um dentro do outro). Para ajudar, vamos observar o pseudocdigo modificado: algoritmo EXEMPLO var inteiro QUANTIDADE; real PRECO, TOTAL; inicio leia (QUANTIDADE); leia (PRECO); TOTAL QUANTIDADE * PRECO;

escreva (TOTAL); se (TOTAL > 100) entao escreva (Valor muito alto); senao se (TOTAL < 10) entao escreva (Valor baixo); senao escreva (Valor normal); fim_se; fim_se; fim As regras para a montagem dos comandos if aninhados segue a mesma regra dos comandos if simples. O segundo comando de deciso ser realizado somente caso a condio TOTAL > 100 seja falsa, ou seja, ele deve estar dentro das chaves aps o else. O segundo comando if deve ser escrito

20

Algoritmos

Prof. Marcelo Marula

como se fosse um comando simples (com todos os comandos e chaves necessrios). O cdigo fica da seguinte maneira:

Observe que o segundo comando if (com a condio TOTAL < 10) est dentro do primeiro if (com a condio TOTAL > 100). Se houvessem mais comandos if a serem aninhados, o procedimento continuaria sendo sempre o mesmo.

21