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

Algoritmos Avanados

Tcnicas usadas para realizar as opes: Fatorao, Exponenciao e Raiz Quadrada.


Item: Fatorial.
Fatorar uma expresso consiste em completar uma identidade usando uma expresso
na forma de um produto. Afinal, as somas so compostas de parcelas, e os produtos
compostos de fatores.
Por exemplo, a expresso x + xy, que apresenta duas parcelas, idntica expresso
x(1+y), que apresenta dois fatores. Por isso, dizemos que x(1+y) a forma fatorada de
x+xy.
Exercicio proposto
Recebe um nmero inteiro n > 0 e mostrar sua decomposio em
fatores primos, calculando a multiplicidade de cada fator.
Descrio
Sintaxe : Tipo de dados <Identificador>;
Declarao das variveis:
<Tipo de dados> int: Interiro
<Identificadores> : n, p, q, primo, div;
Forma geral
int n, p, q, primo, div;
Concluso implementada e comentada
#include <stdio.h>

int main(void)
{
// Inicializao das variveis
int n, p, q, primo, div;
// Recebendo dado de entrada Usurio
// Informao tela
printf("Informe n: ");
// Leitura dado informado
scanf("%d", &n);
// Inicializao com valor para varivel (p)
p = 2;
// Estrutura de Repetio While externa
// Verifica se (n) maior que 1 e logo inicializa o lao
while (n > 1) {

// (q) Varivel contadora e inicializada com zero
q = 0;
// Estrutura de Repetio While para verificar (n) com resto da diviso igual a zero
while (n % p == 0) {
// (q) Varivel contadora que adiciona 1 a cada valor com resto da diviso igual a
zero para (n)
q = q + 1;
//Aps a contagem de (n) alocada em (q).
// (n) ser alocado em (n) aps ser divido por (p) com valor 2.
n = n / p;
}
//Estrutura Condicional
//Verificara se a contagem, varivel (q) ser maior que zero e informara a
multiplicidade com respectivo valor informado pelo usurio
if (q > 0)
printf("fator %d com multiplicidade %d\n", p, q);

// Estrutura de Repetio
// A varivel ( primo ) inicializada com valor zero
primo = 0;
// Condio de negao ao valor atribudo a varivel (primo) para inicializao do
lao
while (! primo) {
// ( p ) Varivel contadora carregada de valor 2 que adiciona 1 a cada valor de
negao a varivel (primo)
p = p + 1;
// Variaveis atribudas de valores para inicializao do lao while que identifica
PRIMOS e quantos so
// Valor atribudo a varivel (div)
div = 2;
// Valor atribudo a varivel (primo)
primo = 1;
//Condio de parada do lao while
while (div <= p / 2 && primo) {
// Condio para (primo) que mostra sua decomposio em
fatores primos
if (p % div == 0)
primo = 0
else
// Contadores de divisores: se (primo) no atender a condio
div = div + 1;
}
}
}
return 0;
}
Imagem -------aqui ficara a imagem do programa em execuo
seguido desse codigo a embaixo

#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>

int main()
{
int n, p, q, primo, div;
printf("Informe n: ");
scanf("%d", &n);
p = 2;
while (n > 1) {
q = 0;
while (n % p == 0) {
q = q + 1;
n = n / p;
}
if (q > 0)
printf("fator %d com multiplicidade %d\n", p, q);
primo = 0;
while (! primo) {
p = p + 1;
div = 2;
primo = 1;
while (div <= p / 2 && primo) {
if (p % div == 0)
primo = 0;
else
div = div + 1;
}
}
}

printf("\n\n");
system("pause");
return 0;
}
Item: Exponenciao.
Definio: Potenciao ou Exponenciao significa multiplicar um nmero real (base) por ele
mesmo X vezes, onde X a potncia (nmero natural).
Exercicio proposto
Faa um programa que leia dois valores inteiros e positivos, X e Y, e que calcule e
mostre a potncia XY, utilizando uma estrutura de repetio.
Descrio
Sintaxe : Tipo de dados <Identificador>;
Declarao das variveis:
<Tipo de dados> int: Interiro
<Identificadores> : i, numero, expo, resultado ;
Forma geral
int i, numero, expo, resultado = 1 ;
Concluso implementada e comentada
#include<stdio.h>
#include<stdlib.h>
int main()
{
//Declarao das Variveis
int i,numero,expo,resultado=1;
//Exposio de mensagem ao usurio
printf("\n\t\t############### Calculo de potencias ######################\n");
printf("\nEntre com o numero a ser calculado:");
//Recebendo valor do teclado e alocando na varivel (numero)
scanf("%d",&numero);
//Exposio de mensagem ao usurio
printf("Agora informe a que expoente o numero %d sera elevado.", numero);
//Recebendo valor do teclado e alocando na variavel (expo)
scanf("%d",&expo);
//Estrutura de Repetio
//Atende condio de que a varivel ( i ) ira incrementar 1 ate o valor da varivel
(expo)
For (i=0; i<expo; i++) {
//A cada incremento do lao FOR a varivel (resultado) multiplicara com a
variavel (numero) alocando seu resultado na varivel (numero)
resultado*=numero;
}
//Exposio de mensagem ao usurio
printf("\n\n\nO resultado eh: %d\n\n\n", resultado);
system("pause");
}
Imagem -------aqui ficara a imagem do programa em execuo
seguido desse codigo a embaixo
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,numero,expo,resultado=1;
printf("\n\t\t############### Calculo de potencias ######################\n");
printf("\nEntre com o numero a ser calculado:");
scanf("%d",&numero);
printf("Agora informe a que expoente o numero %d sera elevado.", numero);
scanf("%d",&expo);
for(i=0; i<expo; i++) {
resultado*=numero;
}

printf("\n\n\nO resultado eh: %d\n\n\n", resultado);
system("pause");
return 0;
}
Item: Raiz Quadrada.
Raiz Quadrada de um nmero x um nmero que, quando multiplicado por si prprio,
iguala x. A raiz quadrada de um nmero nunca ter um valor negativo, portanto, por
exemplo, -3 ser raiz quadrada de 9. As razes quadradas so importantes para a
resoluo de equaes quadrticas (equaes do 2 grau). A extenso da funo raiz
quadrada a nmeros negativos leva criao dos nmeros imaginrios e
ao corpo dos nmeros complexos.
Exercicio proposto
O programa receber pelo teclado um nmero, se o nmero for positivo ser
calculada e mostrada sua raiz quadrada, caso contrrio, ou seja, se o nmero for
negativo, nada ser feito.
Descrio
Sintaxe : Tipo de dados <Identificador>;
Declarao das variveis:
<Tipo de dados> float: Real
<Identificadores> num, resultado;
Forma geral
float num, resultado;
Concluso implementada e comentada
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
main() {
//Declarao das Variveis
float num, resultado;
//Exposio de mensagem ao usurio
printf("Digite um numero: ");
//Leitura do dado informado e alocado na variavel (num)
scanf("%f",&num);
//Se (num) maior ou igual a zero
if(num >= 0) {
//resultado = raiz(num)
resultado = sqrt(num);
//Exposio de mensagem ao usurio
printf("Raiz Quadrada: ");
printf("%2.f",resultado);
}
system("pause");
return 0;
}

Imagem -------aqui ficara a imagem do programa em execuo
seguido desse codigo a embaixo

#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int main() {
float num, resultado;
printf("Digite um numero: ");
scanf("%f",&num);
if(num >= 0) {
resultado = sqrt(num);
printf("Raiz Quadrada: ");
printf("%2.f",resultado);
}
system("pause");
return 0;
}

Вам также может понравиться