Buscar

trabalho computação 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

2 
 
UNI UNIVERSIDADE ESTADUAL DE GOIAS-UEG 
 UNIDADE UNIVERSITÁRIA DE CIÊNCIAS 
 EXATAS E TECNOLÓGICAS-UNUCET 
 DISCIPLINA DE COMPUTAÇÃO I 
 CURSO DE ENGENHARIA CIVIL 
 
 
MODELAGEM COMPUTACIONAL DE PROBLEMAS MATEMÁTICOS 
SIMPLES USANDO C++ 
 
 
 
 
 
 
 
 
ANÁPOLIS-GO 
DEZEMBRO DE 2013 
 
 
3 
 
UNI UNIVERSIDADE ESTADUAL DE GOIAS-UEG 
 UNIDADE UNIVERSITÁRIA DE CIÊNCIAS 
 EXATAS E TECNOLÓGICAS-UNUCET 
 DISCIPLINA DE COMPUTAÇÃO I 
 CURSO DE ENGENHARIA CIVIL 
 
 
MODELAGEM COMPUTACIONAL DE PROBLEMAS MATEMÁTICOS 
SIMPLES USANDO C++ 
 
 
 
 
 
 
 
 
 
ANÁPOLIS-GO 
DEZEMBRO DE 2013 
 
ACADÊMICOS: 
GABRIEL DE SOUSA MEIRA 
JESSIKA CAROLINE MOURA RODRIGUES 
PATRÍCIA SARDINHA DIAS 
TIBÉRIO CÉSAR DE SOUSA 
TRABALHO DE COMPUTAÇÃO I 
UTILIZADO NA COMPOSIÇÃO DA 
NOTA DE 1ª V.A. 
ii 
4 
 
RESUMO 
 
A modelagem computacional é a simulação de soluções para problemas científicos, 
analisando fenômenos, desenvolvendo representação matemática para sua descrição e 
elaborando códigos computacionais para obtenção daquelas soluções. Para que isso seja 
feito, é necessário observar o problema, desenvolver as equações que regem o mesmo 
através de modelagem matemática e, por fim, criar uma solução computacional 
mediante um código apropriado. 
Este trabalho tem como propósito apresentar informações acerca da modelagem 
computacional C++ e suas principais características, e também visa apresentar como é 
feita a leitura, a transferência de um problema matemático simples lido pela linguagem 
humana para um código fonte lido pelo computador. 
Em outras palavras, o trabalho mostra como definir uma representação matemática 
através da linguagem computacional, por meio de um sistema de programação, 
mostrando assim uma característica muito importante do contexto atual vivido pela 
humanidade, que é a inserção das culturas produzidas pelo homem, neste caso em 
particular, a álgebra simples, em linguagem computadorizada. 
Palavras-chave: modelagem, matemática, computador. 
 
 
 
 
 
 
iii 
5 
 
ABSTRACT 
 
Computer modeling is the simulation of solutions to scientific problems, analyzing 
phenomena, developing mathematical representation for describing and developing 
computer codes to obtain those solutions . For this to be done, it is necessary to observe 
the problem, develop the equations governing the same through mathematical modeling 
and, finally , create a computational solution by an appropriate code . 
This paper aims to present information on computer modeling C + + and its main 
features , and also aims to present how the reading is taken , the transfer of a simple 
math problem read by human language for a source read by the computer . 
In other words, it shows that a mathematical representation defined by the computer 
language by means of a programming system , thus showing a very important feature of 
the current context experienced by the humanity , that is the insertion of crops cultivated 
by man, in this case in particular , simple algebra, to computed language. 
Keywords : modeling, mathematics, computer. 
 
 
 
iv 
 
 
 
 
 
 
 
 
6 
 
SUMÁRIO 
 
1 INTRODUÇÃO.....................................................................................................................1 
2 FUNDAMENTAÇÃO TEÓRICA.............................................................................................4 
3 DESCRIÇÃO........................................................................................................................12 
4 ALGORITMO........................................................................................................................17 
5 CÓDIGO-FONTE...................................................................................................................19 
6 EXEMPLOS.........................................................................................................................27 
7 ANÁLISE.............................................................................................................................30 
8 CONCLUSÃO........................................................................................................................46 
9 REFERÊNCIAS BIBLIOGRÁFICAS...................................................................................47 
 
 
 
v 
1 
 
INTRODUÇÃO 
 
Um programa de computador indica ao computador a sequência de passos necessários 
para executar uma tarefa. O ato de projetar e implementar estes programas é conhecida 
como programação. Existem vários tipos de programas para programação, como por 
exemplo, o C, C++, Java, Pascal, UML, DELPHI, COBOL. Nesse trabalho usaremos a 
linguagem em C e C++. (CAY HORSTMANN, 2005). 
O “C” foi criado na década de 70, pelo inventor Dennis Ritchie, implementando-o pela 
primeira vez usando um DEC PDP-11 rodando o sistema operacional UNIX. O “C” é 
uma linguagem de computador de nível médio, (acrescentar definição de médio), que é 
utilizada para a criação de programas diversos como processadores de texto, sistemas 
operacionais, programas para a automação industrial, programas de projeto assistido por 
computadores, (acrescentar demais exemplos). A linguagem em C é bastante portátil o 
que significa que o software escrito para um tipo de computador pode ser adaptado para 
outro tipo de programa; Além disso, os programas em C podem ser processados com 
uma velocidade muito alta, o que fez com que o “C” ganhasse fama entre os 
programadores. (HERBERT SCHILDT, 1986). 
A linguagem C foi desenvolvida para ser traduzida eficientemente para código de 
máquina rápida com o menos possível de sobrecarga de manutenção. A linguagem C++ 
foi construída sobre a C, adicionando características para “programação orientada a 
objetos”, que é um estilo de programação que apresenta uma modelagem mais fácil de 
execução. (CAY HORSTMANN, 2005). 
A linguagem C++ foi desenvolvida nos Laboratórios Bell no inicio dos anos 80. C++ é 
uma linguagem híbrida e contém a funcionalidade orientada para objeto com as 
características de uma linguagem estruturada eficiente e tradicional. A linguagem C++ 
oferece ao programador e a quem soluciona problemas em relação ao objeto sem uma 
perca de tempo para executá-lo com uma maior eficiência de memória. (Richard S. 
Wiener; Lewis J. Pinson, 1941). 
C e C++ são bons exemplos de linguagens que cresceram de modo incremental. À 
2 
 
medida que usuários da linguagem perceberam defeitos no programas, eles adicionaram 
recursos. A linguagem C aproveita uma enorme capacidade de suporte de ferramentas, 
estas que podem apresentar erros diminuindo assim a qualidade do sistema. A partir 
desses erros surgiu a linguagem C++, que acabou promovendo uma crescente evolutiva 
nas linguagens em C e C++, o que acabou destacando-os dentre os demais outros 
programas de programação. Atualmente, C++ é a principal linguagem de programação 
de uso geral. (CAY HORSTMANN, 2005). 
Dentro d linguagem C e C++ existem diversos comandos. Alguns deles são: “printf( )”, 
que um comando que faz com que apareça uma determinada mensagem na tela do 
terminal; “scanf( )”, que é um comando que faz com que algo digitado no terminal seja 
lido pelo programa que está sendo executado; “if( )”, que é um comando que representa 
uma tomada de decisão, por exemplo: se o resultado for diferente de oito a declaração 
será executada, agora, se o resultado for igual a oito a declaração noa será executada; 
“else”,que é um comando que é considerado um complemento do comando if( ), o else 
será usado para indicar o oposto do declarado no if( ); “for”, que é um programa que é 
usado para repetir um comando ou bloco de comandos de maneira que se posssa ter um 
bom controle sobre o loop;”while”, que é um comando que é usado para repetir 
comandos, testa uma condição, se esta condição for verdadeira declaração é executada e 
o programa repete novamente; “return” que é um comando faz com que a função retorne 
a um determinado valor. (UFMG, 2013) 
Na linguagem C e C++, para que uma função ou comando ( printf( ), scanf( ), etc) seja 
reconhecida pela programação é preciso que haja a declaração de bibliotecas no 
programa a ser construído. Bibliotecas são conjuntos de funções especificas para 
determinado objetivo. “<stdio.h>”, “<stdlib.h> e “ <math.h>”, são exemplos de 
bibliotecas utilizadas por aquelas linguagens. (UFMG, 2013) 
Antes de se começar a realização de um programa, é necessária a construção de um 
algoritmo. Algoritmo é qualquer procedimento computacional bem definido que toma 
algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de 
valores como saída. O algoritmo também é visto como uma ferramenta para resolver um 
3 
 
problema computacional bem especificado O enunciado do problema especifica o 
relacionamento entre entrada e a saída, o algoritmo descreve um programa 
computacional especifico para se alcançar esse relacionamento entre entrada e a saída. 
Um exemplo de algoritmo seria: 
“- Algoritmo do cálculo da área do quadrado: 
1- Colocar cabeçalho; 
2- Colocar bibliotecas; 
3- Declarar variáveis; 
4- Ler o valor X; 
5- Calcular área pela fórmula: A=X*X; 
6- Imprimir valor de A. ” 
(THOMAS H. CORMEN, et al, 2001; UFMG, 2013). 
Para a execução de um programa é necessário a compilação deste. Compilação de um 
programa é transformar o código fonte em um programa executável. No C++, quando 
você copila um programa, o compilador traduz o código fonte (isto é, os comandos 
escritos no código fonte) em um código objeto. O código objeto consiste de instruções 
de maquina e informações sobre como carregar o programa na memória antes da 
execução. O código objeto ou o programa executado é armazenado em um arquivo 
separado, usualmente com a extensão “.e”, por exemplo: “exemplo.e”. No C++, o 
comando para compilação é: “g++ -o exemplo.cpp exemplo.e.”. O programa executado 
conterá somente a tradução do código fonte. (CAY HORSTMANN, 2005). 
 
 
4 
 
FUNDAMENTAÇÃO TÉORICA 
 
Fundamentos Teóricos da Linguagem de Programação C/C++ 
A linguagem em C++ foi criada junto ao sistema operativo Unix em 1970 e foi 
desenvolvida nos laboratórios por B. W. Kernigham. A linguagem em C/C++ tem 
características que foram se adequando ao não só em ambientes. Umas das suas dessas 
características era a capacidade de se programar um hardware com facilidade, outro 
detalhe era perceptível era capacidade de se trabalhar um byte dentro de outro byte. 
O programa permitia a construção de cabeçalhos e ficheiros que eram usados para 
declarar funções e defini-las. Uma última característica era efetuar, sem dificuldades um 
o reaproveitamento de um software. Como, por exemplo, criar um ficheiro que funcione 
em conjunto com um hardware. 
Com o passar dos anos, surgiu a necessidade de se criar que usasse toda a capacidade da 
linguagem em C que ao mesmo tempo facilitasse a programação que com o passar dos 
anos se tornava cada vez mais complexa. E assim surgiu a linguagem em C++ este 
avanço permitiu a criar estruturas como objetos que seriam executas numa caixa preta, 
hoje conhecida como terminal que facilitava o recurso de fazer uma mesma operação 
com algoritmos diversas vezes. 
O principal objetivo dessa caixa era muito simples, entenda como o som que sai de um som 
estéreo sabe-se o que entra, mais não como sai, que em si o resultado final era o som da música. 
Porém não sabemos o que esse leitor faz para ler o CD e converter essa leitura em música. 
Um outro princípio deste programa é a herança que funciona em relação as propriedades que 
possam existir entre os objetos, facilitando sua programação. Se pensarmos em programação 
gráfica, temos um objeto que efetuam nos pontos de um ecrã, que desenha as linhas que 
são desenhadas herdando o desenho formados por estes pontos, que podem formar 
figuras geométricas como um pentágono, retângulo entre outros. Este tipo de 
programação é bastante simples e facilita a reutilização do software criado. 
A linguagem em C usa unicamente funções, isto quer dizer que cada objeto criado é 
5 
 
considerado uma função. Mas oque seria uma função em C? Uma função é um bloco de 
códigos que pode ser chamado uma série de vezes e que pode ter valores que são 
aderidos quando elas são chamadas e que ao mesmo tempo, retorna a outros valores. 
Em C é uma função com o nome próprio MAIN. 
 A função MAIN, como qualquer outra, é definida por: 
 um cabeçalho constituído por: 
1. tipo de dados que a função devolve 
 seu nome 
 parâmetros formais que recebe 
 por um corpo (definido entre {}) com: 
 declarações 
 definições 
 instruções 
Um simples programa em C: 
1. #include<stdio.h> 
2. #int main (void) 
3. { 
4. printf( “beleza?”); 
A primeira linha serve para inserirmos o ficheiro cabeçalho. Neste programa é usado 
somente o stdio.h que possui definições necessárias para efetuar o programa na sua 
entrada e saída de funções. 
6 
 
A segunda linha define o corpo principal do programa. Que é a função descrita. 
A terceira linha é o símbolo para abrir a função. 
A quarta linha tem a função de imprimir a mensagem no terminal. 
A quinta linha finaliza fechar a função. 
Palavras reservadas em C: 
estrutura de dados: 
Para definir variáveis em C ou C++, temos os seguintes tipos: 
· int à número inteiro 
· float à vírgula flutuante de precisão simples 
· double à vírgula flutuante de precisão dupla 
Em C e C++ temos que falar em definições de variáveis. Estas definições dependem das 
localizações dessas variáveis. Oque significa quem essas variáveis tem que ser 
declaradas no inicio do programa (após o include) são chamadas de variáveis globais, 
possuem este nome por serem aceitas em qualquer programa. 
Operadores aritméticos: 
+ soma; 
- subtração; 
* multiplicação; 
/ divisão; 
% módulo. 
7 
 
Operadores Lógicos e de Comparação: 
< menor que; 
> maior que; 
<=menor ou igual a; 
== igual a; 
!= diferente 
||= ou , &&=e 
! negação 
Funções do C e C++: 
printf(“\n beleza?\n”); 
. \n pula uma linha 
. \t tabelamento 
. \b espaço para trás 
. \\ barra invertida 
. \r à “carriage return” o cursor volta ao início da linha sem mudar de linha 
Printf e opções de mostra: 
.%d valor numérico em decimal 
.%x valor numérico em hexadecimal 
.%o valor numérico em octal 
8 
 
.%f valor numérico do tipo real 
.%c valor á representar é do tipo character 
.%s valor representa strings 
scanf(“%d”,variável); 
if 
{ 
} 
else 
{ 
} 
while 
{ 
} 
for 
{ 
} 
Fundamentação matemática 
Equação de primeiro grau (equação da reta) 
Para se representar uma reta no plano cartesiano, usa-se geralmente a condição 
9 
 
geométrica ou a equação matemática. No caso, o interessante é usar a equação 
matemática da reta, que pode ser escrita nas seguintes formas: reduzida, segmentária, 
geral ou paramétrica. Na criação do código fonte deste trabalho, está sendo usada a 
representação de uma equação reduzida de reta. 
Para calculá-la, procede-se do seguintemodo: considerando a equação da reta que passa 
por um ponto Q (x1, y1), com coeficiente angular a, tem-se que: 
y – y1 = a * (x – x1) 
Escolhendo ao acaso, o ponto (0, b) e determinando que a reta o intersecte, percebe-se 
que: 
y – b = a * (x – 0) 
y – b = a * x – a * 0 
y – b = ax 
y = ax + b 
Portanto, a equação reduzida da reta possui a seguinte lei de formação: 
y = ax +b 
Equação de segundo grau (parábola) 
Chama-se função quadrática, ou função polinomial do 2º grau, qualquer função f de IR 
em IR dada por uma lei da forma f(x) = ax2 + bx + c, onde a, b e c são números reais e a 
é diferente de zero. O maior índice da incógnita na equação é igual a dois e é isto que a 
define como sendo uma equação do segundo grau. 
Alguns exemplos de função quadráticas: 
f(x) = 3x2 - 4x + 1, onde a = 3, b = - 4 e c = 1 
f(x) = x2 -1, onde a = 1, b = 0 e c = -1 
f(x) = 2x2 + 3x + 5, onde a = 2, b = 3 e c = 5 
f(x) = - x2 + 8x, onde a = -1, b = 8 e c = 0 
f(x) = -4x2, onde a = - 4, b = 0 e c = 0 
Zero e Equação do 2º Grau 
Chama-se zeros ou raízes da função polinomial do 2º grau f(x) = ax2 + bx + c , a 0, os 
10 
 
números reais x tais que f(x) = 0. 
Para a resolução de uma equação do segundo grau, pode-se recorrer à fórmula geral de 
resolução: 
 
Esta fórmula também é conhecida como fórmula de Bhaskara. 
O valor b2 -4ac é conhecido como discriminante da equação e é representado pela letra 
grega Δ. Temos então que Δ = b2 -4ac, o que nos permitir escrever a fórmula geral de 
resolução como: 
 
A quantidade de raízes reais de uma função quadrática depende do valor obtido para o 
discriminante, a saber: 
quando é positivo, há duas raízes reais e distintas; 
quando é zero, há só uma raiz real (para ser mais preciso, há duas raízes iguais); 
quando é negativo, não há raiz real. 
Área do triângulo dados três pontos do plano cartesiano (regra do determinante) 
Os elementos que fundamentam a geometria analítica são os pontos e suas coordenadas. 
Dentre os cálculos das áreas de figuras planas, existe uma expressão que determina a 
área de uma região triangular utilizando apenas as coordenadas dos vértices do 
triângulo. O cálculo da área (A) de um triângulo através dos conhecimentos da 
geometria analítica é dado pelo determinante dos vértices dividido por dois. 
A = |D|/2 
O parâmetro D é determinado pela matriz das coordenadas dos vértices do triângulo 
ABC. 
D= = xa.yb + xc.ya + xb.yc – xc.yb – xa.yc – xb.ya 
 
O parâmetro D é a mesma matriz determinante para verificar a condição de alinhamento 
11 
 
de três pontos. 
Assim sendo, caso ao verificar a área de um suposto triângulo e o determinante dê zero, 
na verdade esses três pontos não constituem um triângulo, pois estão alinhados (por isso 
a área é zero). 
Uma observação importante em relação à expressão para o cálculo da área é quanto ao 
Parâmetro D estar em módulo, ou seja, usaremos o seu valor absoluto. Por se tratar de 
área, não devemos adotar um determinante negativo, pois isso resultará em uma área 
negativa e isso não existe. 
 
12 
 
DESCRIÇÃO 
Para criar um código computacional, primeiramente coloca-se o cabeçalho, isto é, as 
informações básicas acerca do programa, em forma de comentário, para não ser 
compilado junto com o código fonte, apenas compreendido em linguagem humana. Isso 
pode ser feito através de barras duplas no começo de cada linha, ou com barra-asterisco 
no início e asterisco-barra no final do comentário-bloco. 
Feito isso, inclui-se as bibliotecas, que são acervos de informações específicas para 
determinado fim. A importância da biblioteca em C é imensa, pois ela poupa o 
programador de muita programação. Uma vez que a função já está pronta dentro da 
biblioteca, basta importar tal biblioteca e utilizar a função desejada. 
Por exemplo, se a intenção é mostrar uma mensagem na tela, não tem necessidade de 
produzir uma função inteira ou criar um comando novo, basta importar uma biblioteca 
de I/O (entrada e saída) e utilizar uma função dela. Quando for compilar, o compilador 
vai buscar nas bibliotecas tais funções para saber como utilizá-las. 
O papel do pré-processamento é indicar, antes mesmo de compilar, os parâmetros 
necessários para ser criado o arquivo executável. O pré-processamento é indicado pelo 
caracter sharp (#) no inicio da linha e deve ser usado no início da programação. As 
bibliotecas são declaradas desse modo: 
 #include<stdio.h> 
#include<stdlib.h> 
Após a declaração de bibliotecas, deve-se colocar a função principal int main, que é a 
função que será chamada quando o programa for executado. O conteúdo da função é 
delimitado por chaves { }. O código que estiver dentro das chaves será executado 
seqüencialmente quando a função for chamada. A palavra int indica que a função 
retorna um inteiro, por isso no final do código fonte aparece a expressa return 0, que 
indica o número retornado pela função, no caso, o número zero. 
13 
 
As variáveis em C++ devem ser declaradas antes de serem usadas. A forma geral de 
declaração de variáveis é: 
tipo_de_variavel lista_de_variaveis 
Exemplo: 
int a=0, b=0; 
float c=0.0, d=2.0; 
As variáveis da lista de variáveis têm o mesmo tipo e são separadas por vírgulas. 
Há três lugares nos quais podemos declarar variáveis. O primeiro é fora de todas as 
funções do programa. Estas variáveis são chamadas variáveis globais e podem ser 
usadas a partir de qualquer lugar no programa. Pode-se dizer que, como elas estão fora 
de todas as funções, todas as funções as vêem. O segundo lugar no qual se pode declarar 
variáveis é no início de um bloco de código. Estas variáveis são chamadas locais e só 
têm validade dentro do bloco no qual são declaradas, isto é, só a função à qual ela 
pertence sabe da existência desta variável, dentro do bloco no qual foram declaradas. O 
terceiro lugar onde se pode declarar variáveis é na lista de parâmetros de uma função. 
Mais uma vez, apesar de estas variáveis receberem valores externos, estas variáveis são 
conhecidas apenas pela função onde são declaradas. 
Os comandos utilizados na programação dos problemas matemáticos contidos neste 
trabalho são: “printf()” e “scanf()”. 
O comando printf() coloca uma sentença de caracteres na tela do computador, dando 
uma informação específica ao usuário, para que o mesmo realize uma determinada ação. 
A mensagem é colocada dentro dos parênteses, entre aspas. O\n é uma constante 
chamada constante barra invertida; é interpretado como mudança de linha. É importante 
observar que todos os comandos em C++ terminam com;. Exemplo: printf(“\n 
mensagem para o usuario \n”);. 
O comando scanf() é utilizado para ler um ou mais dados fornecidos pelo usuário. Usa-
14 
 
se o %d para ler um número inteiro; caso seja necessário ler um número racional, 
utiliza-se %f. A segunda informação indica em qual variável o número lido será 
armazenado. É importante colocar o símbolo & antes da variável a ser lida. Caso haja 
mais de uma variável, é importante separá-las por vírgula. Exemplo: scanf(%d,&dias);. 
Após a leitura de variáveis, a função printf() é chamada novamente para mostrar os 
valores lidos ao usuário. Para tanto, utiliza-se uma máscara, isto é, uma forma textual 
para representar um número, através do símbolo %. Usa-se também um número 
indicando a quantidade de algarismos que serão mostrados no computador na variável 
correspondente. Indica-se a variável lida após as aspas, depois de vírgula. Exemplo: 
printf(“\n %3d\n”,dias); printf(“\n %5.2f\n”,anos);. 
Algumas funções utilizadas na linguagem C++ são : “if” e “else” para indicar 
condições, e “for” e “while”, para indicar repetição de comandos. 
Ocomando if possui forma geral: 
if (condição) declaração; 
Exemplo: 
if(a>0) 
{printf(“\n a eh positivo \n”);} 
A expressão, na condição, será avaliada. Se ela for zero, a declaração não será 
executada. Se a condição for diferente de zero a declaração será executada. Caso a 
declaração seja zero e ainda assim deseja-se executá-la, usa-se o comando “else”, que 
pe complementar ao comando “if”. 
O for ou loop (laço) for é usado para repetir um comando, ou bloco de comandos, 
diversas vezes, de maneira que se possa ter um bom controle sobre o loop. Sua forma 
geral é: 
for (inicialização;condição;incremento) declaração; 
15 
 
Exemplo: 
for(i=i;i<=n;i++) 
A declaração no comando for também pode ser um bloco ({ } ) e neste caso o ; é 
omitido. O melhor modo de se entender o loop for é ver de que maneira ele funciona 
"por dentro". O loop for é equivalente a se fazer o seguinte: 
inicialização; 
if (condição) 
{ 
declaração; 
incremento; 
"Volte para o comando if" 
O for executa a inicialização incondicionalmente e testa a condição. Se a condição for 
falsa ele não faz mais nada. Se a condição for verdadeira ele executa a declaração, o 
incremento e volta a testar a condição. Ele fica repetindo estas operações até que a 
condição seja falsa. 
O comando while tem a seguinte forma geral: 
while (condição) declaração; 
Exemplo: 
while(a>0) 
{printf(“\n a eh positivo\n”);} 
Então o while seria equivalente a: 
16 
 
if (condição) 
{ 
declaração; "Volte para o comando if" } 
Podemos ver que a estrutura while testa uma condição. Se esta for verdadeira a 
declaração é executada e faz-se o teste novamente, e assim por diante. Mas assim que 
surgir uma condição falsa, o comando para e não é mais executado. Porém, assim como 
no caso do for, podemos fazer um loop infinito. Para tanto basta colocar uma expressão 
eternamente verdadeira na condição. Pode-se também omitir a declaração e fazer um 
loop sem conteúdo. 
 
17 
 
ALGORITMO 
Primeiro problema: Equação da Reta 
1- Ler os valores dos pontos A (xa,ya), B(xb,yb) 
2- Calcular dy=yb-ya, dx=xb-xa 
3- Calcular ca=dy/dx, cb= ya-ca*xa 
4- Calcular yc=cb, xd= -cb/ca 
5-Imprimir equação da reta f(x)=ca*x+cb 
6-Imprimir a reta intercepta eixo y em (0,yc) 
7-Imprimir a reta intercepta o eixo x em (xd,0,xc) 
 
Segundo problema : Equação do segundo grau: 
1-Ler os valores de A, B e C; 
2-Calcular D= B*B-4*A*C; 
3-Se D>=0 então, faça: 
3.1- X1= (-B + sqtr D) /2*A; 
3.2- X2= (-B-sqtr D) /2*A; 
3.3-Imprimir X1 e X2; 
4-Se não: 
4.1-Imprimir: este programa não calcula raízes imaginárias. 
18 
 
 
Terceiro problema :Área do triangulo 
1- Ler as coordenadas dos pontos A (xa,ya), B (xb,yb) C(xc,yc). 
2-Calcular det = xa*yb+xc*ya+xb*yc-xc*yb-xa*yc-xb*ya; 
3-Se det>0 então faça a área = det*0.5 
4-Se det==0 então imprima : impossível calcular 
5-Se det<0 então faça area= (-1)*det*0.5 
 
 
19 
 
CÓDIGO-FONTE 
Primeiro problema: Equação da reta 
/* 
Programa equação da reta 
Acadêmicos:Gabriel de Sousa, Jéssica, Patricia, Tibério 
Data: 06/12/2013 
Versão: beta 1.0 
*/ 
//bibliotecas utilizadas 
#include<stdio.h> 
#include<stdlib.h> 
// funcao principal 
int main() 
{ 
// declaração de variáveis 
float xa=0.0, ya=0.0, xb=0.0, yb=0.0; 
float ca=0.0, cb=0.0, yc=0.0, xd=0.0; 
float dy=0.0, dx=0.0; 
int i=0, n=0; 
20 
 
// leitura de dados 
printf("\n ====================================================\n"); 
printf("\n Quantas equacoes a resolver ?"); 
scanf("%d",&n); 
printf("\n Serao resolvidas %3d equacoes \n”,n); 
 
while(i<n) 
{ 
 printf("\n ================================================== \n"); 
 printf("\n Digite xa, ya, xb, yb \n "); 
 scanf("%f %f %f %f",&xa,&ya,&xb,&yb); 
 dy=yb-ya; 
 dx=xb-xa; 
 ca=dy/dx; 
 cb=ya-ca*xa; 
 
 yc=cb; 
 xd=-cb/ca; 
 printf("\n =================================================== \n"); 
21 
 
 printf("\n A reta %3d e f(x)= %7.3f X + %7.3f \n",i,ca,cb); 
 printf("\n ===================================================\n"); 
 printf("\n intercepta y em (0,%7.3f) \n", yc); 
 printf("\n intercepta x em (%7.3f,0) \n", xd); 
 i++; 
} 
 return 0; 
} 
 
Segundo problema: Equação do segundo grau 
/* 
Programa equaçao do segundo grau 
Programadores: Gabriel de Sousa,Jessica, Patricia, Tiberio 
Data: 06/12/2013 
Versao: 1.0 
*/ 
//inclusao de bibliotecas 
#include<stdlib.h> 
#include<stdio.h> 
22 
 
#include<math.h> 
int main() 
{ 
//declaracao de variaveis 
float a=0.0, b=0.0, c=0.0, d=0.0, X1=0.0, X2=0.0; 
//mensagem para o usuario 
printf("======================================================\n"); 
printf("\n digite os valores a, b e c=> \n"); 
scanf("%f %f %f",&a,&b,&c); 
d=b*b-4*a*c; 
//imprimir a,b,c 
printf("\n=====================================================\n"); 
printf("\n a=%7.3f b=%7.3f c=%7.3f d=%7.3f \n",a,b,c,d); 
//julgando o valor de d 
if(d>=0.0) 
{ 
X1=(-b+sqrt(d)/2.0*a); 
X2=(-b-sqrt(d)/2.0*a); 
printf("\n=====================================================\n"); 
23 
 
printf("\n a=%7.3f b=%7.3f c=%7.3f d=%7.3f X1=%7.3f X2=%7.3f \n",a,b,c,d,X1,X2); 
} 
else 
{ 
printf("\n======================================================"); 
printf("\n no momento esse programa ainda nao calcula \n"); 
printf("\n raizes imaginarias. Desculpe o transtorno \n"); 
} 
return 0;} 
 
Terceiro problema: Área do triângulo 
/* 
Programa: Area do triangulo 
Academicos: Gabriel de Sousa, Jessica, Patricia, Tiberio 
Data: 06/12/2013 
Versao: 1.0 
*/ 
//bibliotecas utilizadas 
#include<stdio.h> 
24 
 
#include<stdlib.h> 
//funcao principal 
int main () 
{ 
/Declaracao de variaveis 
float xa=0.0, xb=0.0, ya=0.0, yb=0.0, xc=0.0, yc=0.0; 
float det=0.0, area=0.0; 
int n=0, i=0; 
 printf("\n Quantas vezes voce quer calcular a area do triangulo=> \n"); 
scanf("%d",&n); 
printf("\n A area sera calculada %7d vezes",n); 
for(i=1;i<=n;i++) 
{ 
// mensagem 1 
printf("\n=====================================================\n"); 
printf("\n Digite os valores das coordenadas de xa,ya=> \n" ); 
scanf("%f %f",&xa,&ya); 
// mensagem 2 
printf("\n=====================================================\n"); 
25 
 
printf("\n Digite os valores das coordenadas de xb,yb=> \n" ); 
scanf("%f %f",&xb,&yb); 
// mensagem 3 
printf("\n=====================================================\n"); 
printf("\n Digite os valores das coordenadas de xc,yc=> \n" ); 
scanf("%f %f",&xc,&yc); 
// Calculando o Determinante 
 det= xa*yb+xc*ya+xb*yc-xc*yb-xa*yc-xb*ya; 
if(det>0) 
{ 
area= det*0.5; 
printf("\n A area do triangulo eh %7.3f \n",area); 
} 
if(det==0) 
{ 
printf("\n Impossivel Calcular \n"); 
} 
if(det<0) 
{ 
26 
 
area= (-1)*det*0.5; 
printf("\n A area do triangulo eh %7.3f \n",area); 
} 
} 
return 0;} 
 
27 
 
EXEMPLOS 
 
Primeiro problema: Equação da reta 
n=2 
Serão resolvidas 2 equações. 
 Primeira equação 
 xa = 2.0, ya = 0.0, xb = 5.0, yb = 3.0. 
dy = yb-ya = 3.0-0.0 = 3.0 
dx = xb-xa = 5.0-2.0 = 3.0 
ca = dy/dx= 3.0/3.0 = 1.0 
cb = ya – ca*xa = 0.0 - 1.0*2.0 = -2.0 
A equação da reta é f(x) = ca*X +cb = 1.0*X - 2.0 
yc = cb = 2.0 
xd =-cb/ca = -2.0/1.0 = -2.0 
A reta intercepta o eixo y em (0.0, 2.0) e intercepta o eixo x em (-2.0, 0.0). 
 
 Segunda equação 
xa=-1.0, ya=0.0, xb=-2.0, yb=4.0 
dy = yb-ya= 4.0-0.0 = 4.0 
dx = xb-xa = -2.0 +1.0= -1.0 
ca = dy/dx = 4.0/1.0 = 4.0 
cb = ya – ca*xa = 0.0 – 4.0*(-1.0) = 4.0 
A equação da reta é f(x) = ca*X + cb = 4.0*X + 4.0 
yc = cb = 4.0 
28 
 
xd = -cb/ca = -4.0/4.0 = -1.0 
A reta intercepta o eixo y em (0.0, 4.0) e intercepta o eixo x em (-1.0, 0.0). 
 
Segundo problema: Equação de segundo grau 
 Os valores dos coeficientes são: a = 1.0, b = -2.0, c = 1.0. 
d = b*b – 4*a*c = (-2.0)*(-2.0) – 4*(1.0)*(1.0) = 4.0 – 4.0 = 0.0 
Já que d=0, as raízes serão iguais: 
 x1 = -b + sqrt(d)/2.0*a = -(-2.0) + 0.0/2.0*1.0 = 2.0/2.0 = 1.0 
x2 = -b - sqrt(d)/2.0*a = = -(-2.0) + 0.0/2.0*1.0 = 2.0/2.0 = 1.0 
 
 Os valores dos coeficientes são: a = 1.0, b = -4.0, c = 3.0. 
d = b*b – 4*a*c = (-4.0)*(-4.0) – 4*1.0*3.0 = 16.0 – 12.0 = 4.0 
Já que d>0, as raízes serão distintas: 
 x1 = -b + sqrt(d)/2.0*a = -(-4.0) + 2.0/2.0*1.0 = 6.0/2.0 = 3.0 
x2 = -b - sqrt(d)/2.0*a = -(-4.0) - 2.0/2.0*1.0 = 2.0/2.0 = 1.0 
 
 Os valores dos coeficientes são: a = 2.0, b = 1.0, c=5.0. 
d = b*b – 4*a*c = 1.0*1.0 – 4*2.0*5.0 = 1.0 – 40.0 = -39.0 
Já que d<0.0, não há raízes reais a serem calculadas. 
 
Terceiro problema: Área do triângulo 
n = 2 
A área do triângulo será calculada duas vezes. 
 Primeira vez 
29 
 
xa = 1.0, ya = 2.0, xb = 0.0, yb = 1.0, xc = 3.0, yc = 4.0 
det = xa*yb+xc*ya+xb*yc-xc*yb-xa*yc-xb*ya 
det = 1.0*1.0 + 3.0*2.0 + 0.0*4.0 – 3.0*1.0 – 1.0*4.0 – 0.0*2.0 = 7.0 – 7.0 = 0.0 
Já que det = 0.0, é impossível calcular a área. 
 Segunda vez 
xa = 2.0, ya = 3.0, xb = -1.0, yb = 0.0, xc = -4.0, yc = 1.0 
det = xa*yb+xc*ya+xb*yc-xc*yb-xa*yc-xb*ya 
det = 2.0*0.0 + (-4.0)*3.0 + (-1.0)*1.0 – (-4.0)*0.0 – 2.0*1.0 – (-1.0)*3.0 = -12.0 
Já que det<0.0, o cálculo da área será: 
area = (-1)*det*0.5 = (-1.0)*(-12.0)*0.5 = 6.0 
 
 
30 
 
ANÁLISE 
Primeiro problema: Equação da reta 
 
/* 
O cabeçalho contém as informações básicas do programa. 
*/ 
 /* */ Estes caracteres abrem e fecham comentários. O que está entre asterisco-barra e 
barra-asterisco é ignorado pelo compilador. 
// declaração das bibliotecas 
// As duas barras à esquerda significam comentário (uma mensagem que ajuda a ler e 
compreender o programa). 
Bibliotecas são conjuntos de funções específicas para determinado fim. 
#include<stdio.h> 
#include<stdlib.h> 
O comando #include fará o compilador incluir, na posição atual dentro do arquivo fonte, 
o conteúdo do arquivo de cabeçalho que o usuário especificar entre os sinais de “menor 
que” e “maior que”. 
Os arquivos de extensão .h são arquivos de cabeçalho ( em cada arquivo cabeçalho, o 
compilador fornece definições para diferentes operações. JANSA, Kris Ph.D. 1999 . 
 stdio.h- Possui definições relativas às operações de entrada/saída, como leitura de 
dados digitados no teclado e exibição de informações na tela do programa de 
computador. 
stdlib.h- funções envolvendo alocação de memória, controle de processos, conversões e 
outras. 
31 
 
A construção 
int main ( ) 
Define uma função denominada main. As instruções ou comandos no corpo da função 
main. Isto é, os comandos dentro das chaves {….} são executados um a um. 
Cada comando termina com um ponto e vírgula. 
Função é uma coleção de instruções de programação que realizam uma tarefa em 
particular. 
// declaração de variáveis 
float xa=0.0, ya=0.0, xb=0.0, yb=0.0; 
float ca=0.0, cb=0.0, yc=0.0, xd=0.0; 
float dy=0.0, dx=0.0; 
int i=0, n=0; 
Neste programa as variáveis foram declaradas em float. O tipo de dado float serve para 
armazenar números de ponto flutuante, ou seja, com casas decimais. O tipo de uma 
variável especifica a espécie de valor (como um número inteiro ou de ponto flutuante, 
que ela pode armazenar bem como as operações que o programa pode efetuar com 
variável. (JAMSA Kris. Ph.D. 1999) 
Também houve variáveis declaradas em int. O tipo de dado int serve para armazenar 
números inteiros. 
 printf("\n Quantas equacoes a resolver ?"); 
scanf("%d",&n); 
printf("\n Serao resolvidas %3d equacoes \n”,n); 
32 
 
A função printf é parte de um conjunto de funções pré definidas armazenadas em uma 
biblioteca padrão de rotinas da linguagem C++. O que está escrito no printf é impresso 
no terminal. 
10printf: pergunta quantas equações serão resolvidas no programa. Essa variável é 
determinada pela letra n. 
20 printf: responde a pergunta anterior (10printf) usando a máscara %3d para imprimir a 
variável 
scanf: lê o conteúdo da variável com representação decimal com sinal . %d é a máscara 
do número a ser digitado. 
A construção 
while(i<n) 
Ao encontrar o comando while, o programa primeiro testa a condição especificada. Se 
esta for verdadeira, programa executará os comandos do laço while. Após o último 
comando ser executado, o laço while testa novamente a condição. Se esta ainda for 
verdadeira, os comandos serão repetidos e o processo continuará. Quando a condição 
finalmente se tornar falsa, o laço terminará e seu programa continuará sua execução no 
primeiro comando que segue o laço. (JAMSA Kris. Ph.D. 1999) 
{ 
 printf("\n ===================================================\n"); 
 printf("\n Digite xa, ya, xb, yb \n "); 
 scanf("%f %f %f %f",&xa,&ya,&xb,&yb); 
 dy=yb-ya; 
 dx=xb-xa; 
33 
 
 ca=dy/dx; 
 cb=ya-ca*xa; 
 yc=cb; 
 xd=-cb/ca; 
Primeiro foi aberta a chave do programa while. 
10printf: organização do trabalho. 
20 printf: comando para digitar as variáveis “xa”, “ya”, “xb”, “yb” que são as 
coordenadas dos pontos A(xa,ya) e B(xb,yb) da reta. 
scanf : lê o conteúdo da variável com representação decimal com sinal . %f é a máscara 
do número a ser digitado. 
Cálculo das equações matemáticas. 
 printf("\n ==================================================\n"); 
 printf("\n A reta %3d e f(x)= %7.3f X + %7.3f \n",i,ca,cb); 
 printf("\n ===================================================\n"); 
 printf("\n intercepta y em (0,%7.3f) \n", yc); 
 printf("\n intercepta x em (%7.3f,0) \n", xd); 
 i++; 
} 
10printf: organização do trabalho. 
20printf: declara a função da reta. 
34 
 
30printf: organização do trabalho. 
40printf: declara onde a reta intercepta o eixo y, ou seja, quando a abscissa é igual a 
zero. 
50printf: declara onde a reta intercepta o eixo x, ou seja, quando a ordenada é igual a 
zero. 
 i++ => até onde a função while vai se repetir; crescerá de um em um. 
}=> Chave que fecha o while. 
return 0; 
} fecha a chave da função principal int main. 
O comando return indica o fim da função main. 
 
Segundo problema: Equação de segundo grau 
/* 
O cabeçalho contém as informações básicas do programa. 
*/ 
 /* */ Estes caracteres abrem e fecham comentários. O que vem entre asterisco-barra e 
barra-asterisco é ignorado pelo compilador. 
// declaração das bibliotecas 
// As duas barras à esquerda significam comentário (uma mensagem que ajuda a ler e 
compreender o programa). 
Bibliotecas são conjuntos de funções específicas para determinado fim. 
35 
 
#include<stdio.h> 
#include<stdlib.h> 
#include<math.h> 
O comando #include fará o compilador incluir, na posição atual dentro do arquivo fonte, 
o conteúdo do arquivo de cabeçalho que o usuário especificar entre os sinais de “menor 
que” e “maior que”. 
Os arquivos de extensão .h são arquivos de cabeçalho ( em cada arquivo cabeçalho, o 
compilador fornece definições para diferentes operações. JANSA, Kris Ph.D. 1999 . 
 stdio.h- Possui definições relativas às operações de entrada/saída, como leitura de 
dados digitados no teclado e exibição de informações na tela doprograma de 
computador. 
stdlib.h- funções envolvendo alocação de memória, controle de processos, conversões e 
outras. 
math.h- função que contém artifícios matemáticos. 
A construção 
int main ( ) 
Define uma função denominada main. As instruções ou comandos no corpo da função 
main. Isto é, os comandos dentro das chaves {….} são executados um a um. 
Cada comando termina com um ponto e vírgula. 
Função é uma coleção de instruções de programação que realizam uma tarefa em 
particular. 
// declaração de variáveis 
float a=0.0, b=0.0, c=0.0, d=0.0, X1=0.0, X2=0.0; 
36 
 
Neste programa as variáveis foram declaradas em float. O tipo de dado float serve para 
armazenar números de ponto flutuante, ou seja, com casas decimais. O tipo de uma 
variável especifica a espécie de valor (como um número inteiro ou de ponto flutuante, 
que ela pode armazenar bem como as operações que o programa pode efetuar com 
variável. (JAMSA Kris. Ph.D. 1999). 
“a”, “b” e “c” são as variáveis da equação de 20 grau, “d” é o discriminante, “X1” e 
“X2” são as soluções da equação. 
//mensagem para o usuário 
Comentário para melhor compreensão do programa pelo usuário. 
printf("======================================================\n"); 
printf("\n digite os valores a, b e c=> \n"); 
scanf("%f %f %f",&a,&b,&c); 
d=b*b-4*a*c; 
 10printf : melhor organização do programa. 
20printf :colocar os valores que você deseja usar em a,b e c. 
scanf : %f é a máscara do número a ser digitado. No caso serão, as máscaras dos 
números oferecidos no 20printf. 
d=b*b-4*a*c; 
 Acima está a fórmula do discriminante que foi criada por Bhaskara onde “d” é igual a 
“b” ao quadrado menos 4 vezes “a” vezes “b”. 
//imprimir a, b, c 
Comentário para melhor compreensão do programa pelo usuário. 
37 
 
printf("\n=====================================================\n"); 
printf("\n a=%7.3f b=%7.3f c=%7.3f d=%7.3f \n",a,b,c,d); 
//julgando o valor de d 
Comentário para melhor compreensão do programa pelo usuário. 
10printf: melhor organização do programa. 
20printf: os valores dados para a, b ,c serão impressos. 
if(d>=0.0) 
O comando if normalmente faz um teste usando um operador relacional de C++ . Se o 
resultado for verdadeiro, o programa executa o comando e segue o if . Se o resultado for 
falso, programa ignora (pula) e o comando segue. (JAMSA Kris. Ph.D. 1999) ( a 
melhor tradução seria para todo). 
{ 
X1=(-b+sqrt(d)/2.0*a); 
X2=(-b-sqrt(d)/2.0*a); 
printf("\n=====================================================\n"); 
printf("\n a=%7.3f b=%7.3f c=%7.3f d=%7.3f X1=%7.3f X2=%7.3f \n",a,b,c,d,X1,X2); 
Primeiro foi aberta a chave do programa if. 
Depois foram colocadas as equações que, quando resolvidas, dariam os valores de X1 e 
X2. 
10printf: melhor organização do programa. 
20printf: os valores dados para a, b, c, d, X1 e X2 são impressos. 
38 
 
} 
Fecha-se a chave do comando if. 
else 
Usa-se else para o resultado falso do comando if. (A melhor tradução seria quando não). 
{ 
printf("\n======================================================"); 
printf("\n no momento esse programa ainda nao calcula \n"); 
printf("\n raizes imaginarias. Desculpe o transtorno \n"); 
10printf: melhor organização do programa. 
20printf: imprime no terminal que, quando o comando for não for executado, não será 
possível calcular. 
30printf: imprime o porquê de não calcular. A razão é que o programa não calcula raízes 
imaginárias. 
} 
Fecha as chaves do else. 
return 0; 
} 
Fecha a chave da função principal int main. 
O comando return indica o fim da função main. 
 
39 
 
Terceiro problema: Área do triângulo 
/* 
O cabeçalho contém as informações básicas do programa. 
*/ 
 /* */ Estes caracteres abrem e fecham comentários. O que está entre asterisco-barra e 
barra-asterisco é ignorado pelo compilador. 
// declaração das bibliotecas 
// As duas barras à esquerda significam comentário (uma mensagem que ajuda a ler e 
compreender o programa). 
Bibliotecas são conjuntos de funções específicas para determinado fim. 
#include<stdio.h> 
#include<stdlib.h> 
O comando #include fará o compilador incluir, na posição atual dentro do arquivo fonte, 
o conteúdo do arquivo de cabeçalho que o usuário especificar entre os sinais de “menor 
que” e “maior que”. 
Os arquivos de extensão.h são arquivos de cabeçalho ( em cada arquivo cabeçalho, o 
compilador fornece definições para diferentes operações. JANSA, Kris Ph.D. 1999). 
 stdio.h- Possui definições relativas às operações de entrada/saída, como leitura de 
dados digitados no teclado e exibição de informações na tela do programa de 
computador. 
stdlib.h- funções envolvendo alocação de memória, controle de processos, conversões e 
outras. 
 
40 
 
A construção 
int main ( ) 
Define uma função denominada main. As instruções ou comandos no corpo da função 
main, isto é, os comandos dentro das chaves {….} são executados um a um. 
Cada comando termina com um ponto e vírgula. 
Função é uma coleção de instruções de programação que realizam uma tarefa em 
particular. 
// declaração de variáveis 
float xa=0.0, xb=0.0, ya=0.0, yb=0.0, xc=0.0, yc=0.0; 
float det=0.0, area=0.0; 
int n=0, i=0; 
Neste programa as variáveis foram declaradas em float. O tipo de dado float serve para 
armazenar números de ponto flutuante, ou seja, com casas decimais. O tipo de uma 
variável especifica a espécie de valor (como um número inteiro ou de ponto flutuante, 
que ela pode armazenar bem como as operações que o programa pode efetuar com 
variável. (JAMSA Kris. Ph.D. 1999) 
Também há variáveis declaradas em int. O tipo de dado int serve para armazenar 
números inteiros. 
Onde A(xa,ya), B(xb,yb) e C(xc,yc) são os pontos que formam os vértices do triangulo, 
det é igual a determinante da matriz formada pelos três pontos no eixo cartesiano, área é 
a área do triangulo, n é igual ao número de vezes em que a área será calculada, e i indica 
as repetições do comando for. 
printf("\n Quantas vezes voce quer calcular a area do triangulo=> \n"); 
scanf("%d",&n); 
41 
 
printf("\n A area sera calculada %7d vezes",n); 
10printf : pergunta quantas vezes o usuário rodará o programa para calcular a área de 
determinado triângulo. 
20printf : imprime quantas vezes o programa será utilizado. 
scanf : %f é a máscara do número a ser digitado. No caso serão as máscaras dos 
números oferecidos no 10printf. 
for(i=1;i<=n;i++) 
O laço for inicializa a variável conta como valor 1. O laço testa então se o valor de 
conta é menor ou igual a n. Em caso afirmativo, for executará o comando 
correspondente e depois incrementará i, repetindo o teste. 
Começa com chave aberta do laço for. 
{ 
// mensagem 1 
Comentário para melhor compreensão do programa pelo usuário 
printf("\n=====================================================\n"); 
printf("\n Digite os valores das coordenadas de xa,ya=> \n" ); 
scanf("%f %f",&xa,&ya); 
10printf :melhor organização do programa 
20printf :pergunta quais as coordenadas escolhidas para xa e ya. 
scanf :%f é a máscara do número a ser digitado No caso serão as máscaras dos números 
oferecidos no 20printf. 
42 
 
// mensagem 2 
Comentário para melhor compreensão do programa pelo usuário 
printf("\n=====================================================\n"); 
printf("\n Digite os valores das coordenadas de xb,yb=> \n" ); 
scanf("%f %f",&xb,&yb); 
10printf :melhor organização do programa 
20printf :pergunta quais as coordenadas escolhidas para xb e yb. 
scanf : %f é a máscara do número a ser digitado.No caso serão as máscaras dos 
números oferecidos no 20printf. 
// mensagem 3 
Comentário para melhor compreensão do programa pelo usuário 
printf("\n=====================================================\n"); 
printf("\n Digite os valores das coordenadas de xc,yc=> \n" ); 
scanf("%f %f",&xc,&yc); 
10printf :melhor organização do programa 
20printf: pergunta quais as coordenadas escolhidas para xc e yc. 
scanf : %f é a máscara do número a ser digitado. No caso serão as máscaras dos 
números oferecidos no 20printf. 
// Calculando o Determinante 
Comentário para melhor compreensão do programa pelo usuário 
43 
 
 det= xa*yb+xc*ya+xb*yc-xc*yb-xa*yc-xb*ya; 
Calcula-se o determinante. 
if(det>0) 
O comando if normalmente faz um teste usando um operador relacional de C++ . Se o 
resultado for verdadeiro, o programa executa o comando e segue o if. Se o resultado for 
falso, o programa ignora (pula) e o comando segue. (JAMSA Kris. Ph.D. 1999) ( a 
melhor tradução seria para todo). 
Se o determinante for maior que zero para calcular a área do triangulo basta multiplicar 
seu resultado por 0.5. 
{ 
area= det*0.5; 
printf("\n A area do triangulo eh %7.3f \n",area); 
10printf :imprime a área do programa usando a mascara do resultado da equação acima 
onde área é determinante vezes 0.5. 
} 
Fecha as chaves do 10 if. 
if(det==0) 
O comando if normalmente faz um teste usando um operador relacional de C++ . Se o 
resultado for verdadeiro, o programa executa o comando e segue o if. Se o resultado for 
falso, programa ignora (pula) e o comando segue. (JAMSA Kris. Ph.D. 1999) ( a 
melhor tradução seria para todo). 
Se o determinante for zero os pontos são colineares logo não formam um triangulo e é 
impossível calcular. 
44 
 
{ 
printf("\n Impossivel Calcular \n"); 
10printf imprime que o resultado é impossível de ser calculado devido á condição do 20 
if. 
} 
Fecha chaves do 20 if. 
if(det<0) 
 O comando if normalmente faz um teste usando um operador relacional de C++ . Se o 
resultado for verdadeiro, o programa executa o comando e segue o if. Se o resultado for 
falso, programa ignora (pula) e o comando segue. (JAMSA Kris. Ph.D. 1999) ( a 
melhor tradução seria para todo). 
{ 
area= (-1)*det*0.5; 
Quando a determinante for menor que zero basta multiplicar o resultado da área por (-1) 
já que não existe essa medida negativa. 
printf("\n A area do triangulo eh %7.3f \n",area); 
10printf: imprime a área do programa usando a máscara do resultado da equação acima 
onde área é determinante vezes 0.5. 
} 
} 
 Fecha as chaves dos comandos abertos 
45 
 
return 0; 
} 
 Fecha a chave da função principal int main. 
O comando return indica o fim da função main. 
 
46 
 
CONCLUSÃO 
Com este trabalho, pôde-se analisar o uso de modelagem computacional para obtenção 
de soluções para problemas matemáticos simples. 
É possível perceber que o processo de modelagem através do uso do computador poderá 
tornar-se, ou melhor, já está sendo uma alternativa de grande potencialidade para várias 
áreas da educação e para o próprio uso nas profissões relacionadas às ciências exatas, 
como a matemática, a física, a química, a economia, a robótica, a engenharia, entre 
outras. 
A aprendizagem computacional e a criação de códigos-fonte para determinados fins são 
conhecimentos extremamente úteis para a área de engenharia. As atividades propostas 
durante o trabalho ajudaram os acadêmicos a desenvolver o raciocínio lógico 
matemático e de programação, a ter capacidade de construir programas de computador 
em C++, a entendê-los e a executá-los, percebendo-se assim maior proximidade com as 
novas tecnologias disponíveis no mundo atual e caracterizando também a inserção dos 
graduandos no meio operacional e técnico de computação. A matemática simples já 
conhecida e aprendida manualmente na escola pôde, então, ser desenvolvida e 
solucionada por meio de um novo método, doravante já conhecido pelos graduandos e, 
num futuro próximo, bastante utilizado e aprimorado pelos mesmos em suas carreiras 
profissionais. 
 
47 
 
REFERÊNCIAS BIBLIOGRÁFICAS 
MIRANDA, Danielle de. Área de um triângulo pela geometria analítica. Disponível em 
< http://www.mundoeducacao.com/matematica/area-um-triangulo-pela-geometria -
analitica.htm >. Acesso em 13 de dez. de 2013. 
SILVA, Marcos Noé Pedro da. Equação reduzida da reta. Disponível em < 
http://www.mundoeducacao.com/matematica/equacao-reduzida-reta.htm>. Acesso em 
13 de dez. de 2013. 
SO Matemática. Ensino médio. Função quadrática. Disponível em < 
http://www.somatematica.com.br/emedio/funcao2/funcao2.php>. Acesso em 13 de dez. 
de 2013. 
MATEMATICA Didática. Equação do segundo grau. Disponível em < 
http://www.matematicadidatica.com.br/EquacaoSegundoGrau.aspx#rodape>. Acesso 
em 13 de dez. de 2013. 
JAMSA, Kris. Aprendendo C++. 1.ed. Sao Paulo. Editora Makron books. 1999. p.10-
25. 
HORSTMANN, Cay. Conceitos de computação com o essencial de C++. 3. ed. Porto 
Alegre. Editora bookman. 2005. p. 21-42. 
CORMEN, Thomas H.;et al. Algoritmos. 2.ed. Rio de Janeiro. Editora Campus. 2002. 
p.3-7. 
SCHILDT, Herbert. Linguagem C guia do usuário. 1.ed. Sao Paulo. Editora Mcgraw-
hill. 1986. p.1-20. 
UFMG. Curso de Linguagem em C. Disponível em 
<http://www.ead.cpdee.ufmg.br/cursos/C/c.html>. Acesso em out. e dez. de 2013.

Outros materiais