Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Algortimo e Cpadrao Versao UFG
Apostila Algortimo e Cpadrao Versao UFG
ESTRUTURADOS
CODIFICADOS NA
LINGUAGEM C-ANSI
Autores
Prof.: Eugnio Jlio Messala Cndido Carvalho
Prof.: Leandro Lus Galdino de Oliveira
NDICE
1.0 - ITENS FUNDAMENTAIS EM ALGORITMOS E C-ANSI ......................................................
1.1 - CONSTANTES ...............................................................................................................
1.1.1 - CONSTANTE NUMRICA .......................................................................................
1.1.2 - CONSTANTE LITERAL .......................................................................................
1.1.3 - CONSTANTE LGICA ............................................................................................
1.2 - VARIVEIS ...................................................................................................................
1.2.1 - FORMAO DOS IDENTIFICADORES ....................................................................
1.2.2 - TIPOS DE VARIVEIS ............................................................................................
1.2.3 - DECLARAO DE VARIVEIS .............................................................................
1.3 - COMENTRIOS ..........................................................................................................
1.4 - EXPRESSES ARITMTICAS .......................................................................................
1.4.1 - TABELA DE PRIORIDADES DAS OPERAES ARITMTICAS ..............................
1.5 - EXPRESSES LGICAS ................................................................................................
1.5.1 - RELAES ..........................................................................................................
1.5.2 - OPERADORES LGICOS .......................................................................................
1.5.3 - TABELA DE PRIORIDADES DAS OPERAES LGICAS ........................................
1.6 - EXPRESSES LITERAIS ................................................................................................
1.7 - COMANDO DE ATRIBUIO .......................................................................................
1.8 - COMANDOS DE ENTRADA E SADA .............................................................................
1.8.1 - COMANDO DE ENTRADA .......................................................................................
1.8.2 - COMANDO DE SADA ............................................................................................
1.9 - ESTRUTURA SEQENCIAL ............................................................................................
1.9.1 - EXERCCIO EXEMPLO .......................................................................................
1.9.2 - EXERCCIO EXEMPLO .......................................................................................
1.10 - ESTRUTURA CONDICIONAL .......................................................................................
1.10.1 - ESTRUTURA CONDICIONAL SIMPLES ...............................................................
1.10.1.1 - EXERCCIO EXEMPLO .............................................................................
1.10.1.2 - EXERCCIO EXEMPLO .............................................................................
1.10.2 - ESTRUTURA CONDICIONAL COMPOSTA ..........................................................
1.10.2.1 - EXERCCIO EXEMPLO .............................................................................
1.10.2.2 - EXERCCIO EXEMPLO .............................................................................
01
01
01
01
01
02
02
02
03
03
04
05
05
05
06
06
07
08
09
09
10
11
12
13
14
14
15
16
17
18
19
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. I
20
20
21
22
22
24
26
28
29
30
31
31
32
34
34
34
36
37
38
39
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. II
C ANSI
C ANSI
"17398"
17398
C ANSI
No existe constante lgica em C ANSI
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 1
1.2 - Variveis
Uma varivel corresponde a uma posio de memria, cujo contedo pode variar ao longo do
tempo, durante a execuo de um programa. Embora uma varivel possa assumir diferentes valores, ela
s pode armazenar um valor a cada instante. Toda varivel identificada por um identificador.
1.2.1 - Formao dos identificadores
Algoritmo
C ANSI
ex.: maria
ex.: _casa23
teste23
Maria
contador1
a23bcde
a23bad
ab_23_45ad
numrico
[- ... +]
C ANSI
tipo:
int
[-32.767
... 32.767]
float
[3.4e-38
... 3.4e+38]
literal
[letras, dgitos,
smbolos especiais]
tipo:
char
tipo:
lgico
[verdadeiro ou falso]
tipo:
lgico
[no existe]
tipo:
sem valor
[no existe]
tipo:
void
[sem valor]
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 2
Algoritmo
C ANSI
onde:
declare: palavra reservada do algoritmo
ex.: float
int
double
char
nota;
codigo;
CPF;
nome[31], end1[51];
1.3 - Comentrios
E um texto, ou simplesmente uma frase, que descreve algo com maior clareza dentro de um
algoritmo ou programa.
Algoritmo
C ANSI
{teste de aptido}
ex.: float
char
nota;
nome[31];
/* nota do aluno */
/* nome do aluno */
{nome do aluno}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 3
Subtrao
Multiplicao
Diviso
Potenciao
Radiciao
Algoritmo
C ANSI
Adio
Adio
Subtrao
Subtrao
Multiplicao
Multiplicao
Diviso
Diviso
Radiciao
Radiciao
sqrt(valor)
Potenciao
ny
Potenciao
pow(n,y)
Resto div.
resto(div., divisor)
Resto da diviso
div. % divisor
Quoc div.
quociente(div. ,divisor)
Quociente
div. / divisor
Incremento
no existe
Incremento
++
Decremento
no existe
Decremento
--
ex.:
ex.:
x+y
xy
x*y
x/y
81
xy
resto(x, y)
quociente(x, y)
x+y
xy
x*y
x/y
sqrt(81)
pow(x, y)
x%y
x/y
x++
y--
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 4
Precedncia
Algoritmo
C ANSI
1 resto(x,y), quociente(x,y)
1 pow(x,y), sqrt(x)
2 ()
2 ()
3 , ny
3 ++, --
4 *, /
4 *, /, %
5 +, -
5 +, -
menor que
diferente de
maior ou igual a
maior que
menor ou igual a
Algoritmo
C ANSI
Igual a
Igual a
==
Diferente de
Diferente de
!=
Maior que
>
Maior que
>
Menor que
<
Menor que
<
>=
<=
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 5
Disjuno
Negao
Algoritmo
C ANSI
Conjuno
Conjuno
&&
Disjuno
ou
Disjuno
||
Negao
no
Negao
Precedncia
Algoritmo
C ANSI
=, , <, >, ,
no
==, !=
ou
&&
||
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 6
C ANSI
|
ex.: a contm
"bola"
ex.: a contm
"bola"
b contm
"preta"
b contm
"preta"
a | b = "bolapreta"
Operador de comparao
ex:
a contm
"bola"
b contm
"preta"
a=b
Funo de comparao
ex:
a contm
"bola"
a contm
"bola"
b contm
"preta"
strcmp(a, b)
Operador de atribuio
ex:
Operador de atribuio
ex:
a contm
strcpy(a, b)
"bola"
b a
strcpy(b, a)
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 7
Algoritmo
A natureza do valor a ser atribudo, tem
que ser compatvel com o tipo da varivel na
qual esta sendo armazenada.
Identificador
ex.: nota
codigo
Expresso
10
66 * 4 + 2
C ANSI
A natureza do valor a ser atribudo, no
necessariamente tem que ser compatvel com o
tipo da varivel na qual esta sendo armazenada.
Identificador
ex.: nota
Expresso;
= 10;
codigo = 66 * 4 + 2;
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 8
Algoritmo
leia lista de identificadores
ex.: leia nota
C ANSI
int scanf (cdigo de formatao, &lista de
identificadores)
ex.: scanf(%d, ¬a);
leia codigo
scanf(%d, &codigo);
leia nome
scanf(%s, &nome);
Cdigo de formatao
Formato
%c
%d
%i
Um nmero inteiro
%e
Um ponto flutuante
%f
Um ponto flutuante
%g
Um ponto flutuante
%h
Inteiro curto
%o
Nmero octal
%s
String
%x
Nmero hexadecimal
%p
Ponteiro
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 9
Algoritmo
C ANSI
escreva nome
printf(%s, nome);
Cdigo de formatao
Formato
%c
Um caracter (char)
%d
%i
O mesmo que %d
%e
%E
%f
%g
%G
%o
Nmero octal
%s
String
%u
%x
%X
%%
Imprime um %
%p
Ponteiro
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 10
Algoritmo
algoritmo
C ANSI
#include<biblioteca>
declarao de variveis
void main(void)
comandos
{
declarao de variveis;
fim algoritmo
comandos;
}
ex.: algoritmo
ex.: #include<stdio.h>
declare a, b ,c numrico
#include<conio.h>
leia a, b
void main(void)
c (a + b) * b
{
int a, b, c;
escreva a, b, c
fim algoritmo
scanf(%d,&a);
printf(digite o valor de b);
scanf(%d,&b);
c = (a + b) * b;
printf(a = %d, b = %d, c = %d, a, b, c);
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 11
C ANSI
#include<conio.h>
#include<stdio.h>
void main(void)
{
float ar,
/* area do cilindro
*/
vol,
/* volume do cilindro */
r,
/* raio do cilindro
*/
h;
/* altura do cilindro
*/
clrscr(); /* funcao que limpa a tela do micro */
printf("digite a altura do cilindro: ");
scanf("%f",&h);
printf("digite o raio do cilindro: ");
scanf("%f",&r);
ar = 2 * 3.1415 * r * (r + h);
vol = 3.1415 * r * r * h;
printf("\na area do cilindro e: %.2f",ar);
printf("\no volume do cilindro e: %.4f",vol);
}
obs.:
\n salta uma linha
.n formatao da preciso
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 12
Algoritmo
algoritmo
declare s,
C ANSI
#include<conio.h>
#include<stdio.h>
void main(void)
{
long int s, /* distancia entr as cidades*/
km, /* distancia em km */
m, /* distancia em m */
cm; /* distancia em cm */
clrscr(); /* funcao que limpa a tela do micro */
printf("digite a distancia em cm: ");
scanf("%ld",&s);
m = s/100;
cm = s % 100;
km = m/1000;
m = m%1000;
printf("\na distancia em km, m, cm e: %ld, %ld,
%ld",km, m, cm);
}
Obs.: long um tipo de modificador de varivel em
C. Pesquisar os outros tipos de modificadores.
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 13
C ANSI
if ( condio )
{
seqncia de comandos;
fim se
}
ex.:
algoritmo
declare a, b numrico
leia a, b
se a > b
ento escreva "o maior :", a
fim se
se b > a
ento escreva "o maior :", b
fim se
se b = a
ento escreva "o dois so iguais a: ", a
fim se
fim algoritmo
ex.:
#include<conio.h>
#include<stdio.h>
void main(void)
{
int a, b;
printf(digite o valor de a);
scanf(%d,&a);
printf(digite o valor de b);
scanf(%d,&b);
if (a > b)
{
printf(\n o maior : %d, a);
}
if (b > a)
{
printf(\n o maior : %d, b);
}
if (a = = b)
{
printf(\n os dois so iguais a: %d, a);
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 14
C ANSI
#include<conio.h>
#include<stdio.h>
void main(void)
{
int a;
printf(digite o valor de a : );
scanf(%d,&a);
if ((a%2) = = 0)
{
printf(\n %d par", a);
}
if ((a%2) != 0)
{
printf(\n %d mpar", a);
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 15
Algoritmo
algoritmo
declare num, intquadnum, quadnum,
dif numrico
leia num
quadnum num
intquadnum trunca(quadnum)
dif quadnum - intquadnum
se dif = 0
ento escreva num," quadrado
perfeito"
fim se
se dif 0
ento escreva num," no quadrado
perfeito"
fim se
fim algoritmo
C ANSI
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main(void)
{
int num, int_quad_num;
float quad_num, dif;
printf("digite o valor de a : ");
scanf("%d",&num);
quad_num = sqrt(num);
int_quad_num = quad_num;
dif = quad_num - int_quad_num;
if (dif == 0)
{
printf("\n %d e quadrado perfeito",
num);
}
if (dif != 0)
{
printf("\n %d nao e quadrado perfeito",
num);
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 16
Algoritmo
se condio
ento
seqncia 1 de comandos
seno
seqncia 2 de comandos
fim se
C ANSI
if ( condio )
{
seqncia 1 de comandos;
}
else
{
seqncia 2 de comandos;
}
ex.:
algoritmo
declare a, b, x ,y numrico
leia a, b
se a = b
ento x 1,5
y 2,5
seno x -1,5
y -2,5
fim se
fim algoritmo
ex.:
#include<conio.h>
#include<stdio.h>
void main(void)
{
float a, b, x, y;
printf(digite o valor de a : );
scanf(%f,&a);
printf(digite o valor de b : );
scanf(%f,&b);
if (a = = b)
{
x = 1.5;
y = 2.5;
}
else
{
x = -1.5;
y = -2.5;
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 17
Algoritmo
algoritmo
declare a numrico
leia a
se resto(a,2) = 0
ento escreva a," par"
seno escreva a," impar"
fim se
fim algoritmo
C ANSI
#include<conio.h>
#include<stdio.h>
void main(void)
{
int a;
printf(digite o valor de a : );
scanf(%d,&a);
if ((a%2) = = 0)
{
printf(\n %d par", a);
}
else
{
printf(\n %d mpar", a);
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 18
Algoritmo
algoritmo
declare num, intquadnum, quadnum,
dif numrico
leia num
quadnum num
intquadnum trunca(quadnum)
dif quadnum - intquadnum
se dif = 0
ento escreva num," quadrado
perfeito"
seno escreva num," no quadrado
perfeito"
fim se
fim algoritmo
C ANSI
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main(void)
{
int num, int_quad_num;
float quad_num, dif;
printf("digite o valor de a : ");
scanf("%d",&num);
quad_num = sqrt(num);
int_quad_num = quad_num;
dif = quad_num - int_quad_num;
if (dif == 0)
{
printf("\n %d e quadrado perfeito",
num);
}
else
{
printf("\n %d nao e quadrado perfeito",
num);
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 19
Algoritmo
algoritmo
declare a, b, c, menor numrico
leia a, b, c
se (a < b) e (a < c)
ento menor a
seno se (b < c)
ento menor b
seno menor c
fim se
fim se
escreva "o menor valor e :", menor
fim algoritmo
C ANSI
#include<conio.h>
#include<stdio.h>
void main(void)
{
int a, b ,c , menor;
printf(digite o valor de a : );
scanf(%d,&a);
printf(digite o valor de b : );
scanf(%d,&b);
printf(digite o valor de c : );
scanf(%d,&c);
if ((a < b) && (a < c))
{
menor = a;
}
else
{
if (b < c)
{
menor = b;
}
else
{
menor = c;
}
}
printf("O menor valor e : %d", menor);
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 20
Algoritmo
algoritmo
declare x, y, z numrico
leia x, y, z
se (x < y + z) e (y < x + z) e (z < x + y)
ento
se (x = y) e (x = z)
ento escreva "tringulo
equiltero"
seno
se (x = y) ou (x = z) ou (y = z)
ento escreva "tringulo
issceles"
seno escreva "tringulo
escaleno"
fim se
fim se
seno escreva "no existe tringulo"
fim se
fim algoritmo
C ANSI
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main(void)
{
int x, y, z;
printf("digite o valor de x : ");
scanf("%d",&x);
printf("digite o valor de y : ");
scanf("%d",&y);
printf("digite o valor de z : ");
scanf("%d",&z);
if ((x < y + z) && (y < x + z) && (z < x + y))
{
if ((x == y) && (x == z))
{
printf("\n triangulo equilatero");
}
else
{
if ((x == y) || (x == z) || (y == z))
{
printf("\n triangulo isoceles");
}
else
{
printf("\n triangulo escaleno");
}
}
}
else
{
printf("\n nao existe triangulo");
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 21
Algoritmo
C ANSI
1 opo de implementao
repita
se condio
ento interrompa
fim se
seqncia de comandos
fim repita
}
2 opo de implementao
while (condio)
{
seqncia de comandos;
}
ex.:
algoritmo
declare i numrico
i 1
repita
se i > 100
entao interrompa
fim se
escreva o numero e: ,i
ii+1
fim repita
fim algoritmo
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 22
Algoritmo
ex.:
algoritmo
declare i numrico
i 1
repita
se i > 100
entao interrompa
fim se
escreva o numero e: ,i
ii+1
fim repita
fim algoritmo
C ANSI
2 opo de implementao
#include<conio.h>
#include<stdio.h>
void main(void)
{
int i = 1;
clrscr();
while(i<=100)
{
printf(\n O numero e: %d,i);
i++;
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 23
C ANSI
1 opo de implementao
#include<conio.h>
#include<stdio.h>
void main(void)
{
int num, cont;
for (cont = 0;cont< 50; cont++)
{
printf(digite o valor: );
scanf(%d,&num);
if ((num%2) = = 0)
{
printf(\n %d par", num);
}
else
{
printf(\n %d mpar", num);
}
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 24
Algoritmo
algoritmo
declare num, cont numrico
cont 0
repita
se cont 50
entao interrompa
fim se
leia num
se (resto(mun,2) = 0)
entao escreva num, PAR
senao escreva num, IMPAR
fim se
cont cont + 1
fim repita
fim algoritmo
C ANSI
2 opo de implementao
#include<conio.h>
#include<stdio.h>
void main(void)
{
int num, cont = 0;
while (cont < 50)
{
printf(digite o valor: );
scanf(%d, &num);
if ((num%2) = = 0)
{
printf(\n %d par", num);
}
else
{
printf(\n %d mpar", num);
}
cont++;
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 25
Algoritmo
C ANSI
repita
1 opo de implementao
seqncia de comandos 1
seqncia de comandos 1;
se condio
while (condio)
{
ento interrompa
fim se
seqncia de comandos 2;
seqncia de comandos 2
seqncia de comandos 1;
}
fim repita
ex.:
algoritmo
#include<stdio.h>
#include<conio.h>
sobrenome,{sobrenome da
pessoa}
#include<string.h>
void main(void)
{
char nome[11], /* primeiro nome da pessoa */
literal
repita
leia nome
se nome = fim
entao interrompa
clrscr();
fim se
leia sobrenome
scanf("%s",&nome);
nomec
nomec | nome
while (strcmp(nome,"fim") != 0)
{
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 26
nomec
nomec |
printf("Sobrenome: ");
nomec
nomec | sobrenome
scanf("%s",&sobrenome);
fim algoritmo
strcat(nomec,nome);
strcat(nomec," ");
strcat(nomec,sobrenome);
printf("nome completo: %s",nomec);
printf("Primeiro nome: ");
scanf("%s",&nome);
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 27
Algoritmo
algoritmo
declare altura, {altura da pessoa}
media,{media das alturas}
contpes {contador de pessoas}
somaalt {somatrio das alturas }
numerico
repita
leia altura
se altura = 0
entao interrompa
fim se
contpes contpes + 1
somaalt somaalt + altura
fim repita
media somaalt / contpes
escreva a media das alturas e: ,media
fim algoritmo
C ANSI
#include<conio.h>
#include<stdio.h>
void main(void)
{
float altura,/*altura da pessoa*/
media,/*media das alturas*/
somaalt = 0;/*somatrio das alturas*/
int contpes = 0; /*contador de pessoas*/
printf("Altura:");
scanf("%f",&altura);
while (altura != 0)
{
contpes++;
somaalt = somaalt + altura;
printf("Altura:");
scanf("%f",&altura);
}
media = somaalt / contpes;
printf("A media das alturas e: %f",media);
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 28
Algoritmo
C ANSI
repita
1 opo de implementao
seqncia de comandos
do
se condio
{
seqncia de comandos ;
ento interrompa
} while (condio);
fim se
fim repita
ex.:
#include<conio.h>
declare i numrico
#include<stdio.h>
i 1
void main(void)
{
repita
escreva o numero e: ,i
int i = 0;
ii+1
clrscr();
se i 100
do
{
ento interrompa
fim se
i++;
fim repita
fim algoritmo
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 29
Algoritmo
Algoritmo
declare num,
{numero digitado}
somapar,{somatrio dos pares}
contnum {contador de numeros}
numerico
somapar 0
cont 0
repita
leia num
se (resto(num,2) = 0)
ento somapar somapar + num
fim se
contnum contmun + 1
se contmun = 100
ento interrompa
fim se
fim repita
escreva o somatrio e : ", somapar
fim algoritmo
C ANSI
#include<conio.h>
#include<stdio.h>
void main(void)
{
int num,
/* numero digitado */
somapar = 0, /* somatorio dos numeros */
contnum = 0; /* contador de numeros */
do
{
printf("numero: ");
scanf("%d", &num);
if ((num%2)==0)
{
somapar = somapar + num;
}
contnum++;
}while(contnum < 10);
printf("o somatorio e : %d", somapar);
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 30
C ANSI
#include<conio.h>
#include<stdio.h>
void main(void)
{
int num, /* altura da pessoa */
fat, /* media das alturas */
cont; /* variavel auxiliar contador */
clrscr();
printf("\nnumero: ");
scanf("%d", &num);
while (num != 0)
{
fat = 1;
for(cont=1;cont <=num;cont++)
{
fat = fat * cont;
}
printf("\no fatorial de %d = %d",num,fat);
printf("\nnumero:");
scanf("%d", &num);
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 31
C ANSI
algoritmo
#include<conio.h>
#include<stdio.h>
declare num,{numero inteiro lido}
fat,{valor do fatorial do numero}
cont,{varivel auxiliar contador} void main(void)
{
somat,{somatrio dos divisores}
int num,/*numero inteiro lido*/
numrico
fat,/*valor do fatorial do numero*/
repita
cont,/*variavel auxiliar */
leia num
somat;/*somatorio dos divisores*/
se num = 0
clrscr();
ento interrompa
printf("\nnumero:");
fim se
scanf("%d",&num);
while (num != 0)
{
cont 1
fat = 1;
fat 1
for(cont=1;cont <=num;cont++)
repita
{
se cont > num
fat = fat * cont;
ento interrompa
}
fim se
printf("\no
fatorial de %d = %d",num,fat);
fat fat * cont
cont= 1;
cont cont + 1
somat = 0;
fim repita
do
escreva "o fatorial de ",num," = ", fat
{
if ((num%cont)==0)
{
cont 1
somat= somat + cont;
somat 0
}
repita
cont++;
se (resto(num,cont) = 0)
}while(cont<num);
ento somat somat + cont
if (somat == num)
fim se
{
cont cont + 1
printf("\no %d e perfeito",num);
se cont >= num
}
ento interrompa
else
fim se
{
fim repita
printf("\no %d nao e perfeito",num);
}
printf("\nnumero:");
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 32
se (somat = num)
ento escreva "o ",num," e
perfeito "
seno escreva "o ",num," no e
perfeito "
fim se
fim repita
fim algoritmo
scanf("%d",&num);
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 33
C ANSI
tipo identificador[t];
onde:
onde :
ex:
declare nota[1 : 10] numrico
int nota[10];
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 34
Algoritmo
A referncia ao contedo do n-simo
elemento do conjunto feita atravs da seguinte
notao:
C ANSI
A referncia ao contedo do n-simo
elemento do conjunto e feita atravs da seguinte
notao:
identificador[pos]
onde:
identificador[pos]
onde:
ex:
ex:
escreva "a nota do aluno e: ", nota[3]
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 35
C ANSI
#include<conio.h>
#include<stdio.h>
void main(void)
{
float notas[10], /*vetor de notas*/
media,/*media das notas*/
soma;/*somatorio das notas*/
int cont, /*variavel auxiliar contador */
contalunos = 0; /*variavel auxiliar
contador de alunos}*/
clrscr();
for(cont=0;cont < 10; cont++)
{
printf("\nDigite a nota do %d aluno ",
cont + 1);
scanf("%f", ¬as[cont]);
soma = soma + notas[cont];
}
media = soma/10.0;
for(cont=0;cont < 10; cont++)
{
if (notas[cont] < media)
contalunos++;
}
printf("%d obtiveram nota menor que a
media = %5.2f",contalunos,media);
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 36
C ANSI
tipo identificador[t][t];
onde :
onde:
ex:
declare matriz[1 : 10, 1 : 10] numrico
declare altura, peso[1: 30, 1 : 5] numrico
int matriz[10][10];
float altura[30][5], peso[30][5];
identificador[linha, coluna]
onde:
identificador[linha][coluna]
onde:
ex:
ex:
escreva "o valor e: ",matriz[5,3]
leia altura[4,5]
peso[8,2] 68
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 37
C ANSI
#include<conio.h>
#include<stdio.h>
#define tam 2
void main(void)
{
int ma[tam][tam],
mb[tam][tam],
mc[tam][tam]; /*matrizes*/
int l, /* linha*/
c; /* coluna */
clrscr();
for(l=0;l < tam;l++)
{
for(c=0;c < tam; c++)
{
printf("\n valor : ");
scanf("%d",&ma[l][c]);
}
}
clrscr();
for(l=0;l < tam;l++)
{
for(c=0;c < tam; c++)
{
printf("\n valor : ");
scanf("%d",&mb[l][c]);
}
}
clrscr();
for(l=0;l < tam;l++)
{
for(c=0;c < tam; c++)
{
mc[l][c]=ma[l][c] + mb[l][c];
printf("\n valor: %d ",mc[l][c]);
}
}
}
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 38
se l tam
emto interrompa
fim se
c0
repita
se c tam
ento interrompa
fim se
mc[l,c] Ma[l,c] + Mb[l,c]
escreva mc[l,c]
ll+1
fim repita
cc+1
fim repita
Bibliografia
SCHILDT, Herbert. C - Completo e Total, Editora Makron Books, 3 edio.
FARRER, Harry. At all. Algoritmos Estruturados, Editora LTC, 3 Edio.
______________________________________________________________________________________________________
ALGORITMOS ESTRUTURADOS CODIFICADOS NA LINGUAGEM C-ANSI
Pg. 39