Você está na página 1de 21

Fundamentos de Programao1

Linguagem C
Introduo e elementos principais
Aula N. 01
Prof. SIMO
Jean Marcelo SIMO

Linguagens de Programao
Prolog
...

Uma grande
diversidade de
linguagens de
programao

Lisp

Smalltalk
Object Pascal

Pascal
Cobol

...

Por que C ?

C++

Clipper

...

Linguagem C
Dennis Ritchie e Ken Thompson, anos 70

Uma linguagem difundida:


Linguagem
clssica

Amplamente utilizada...
Uma linguagem veterana...
Sintaxe difundida, servindo como
inspiraes tecnolgicas.

Uma linguagem multi-nvel:


Permite compor programas com abordagens
variando entre baixo e alto nvel
Caractersticas

Organizao:
Funes e estruturas de informao.

Ponteiros:
Permite a independncia de memria pralocada.

Exemplo

Inicio
inteiro A = 5;
inteiro B = 4;
Se (A > B) ento
A maior que B
Seno
Se (A < B) ento
B maior que A
Seno
B igual a A
FimSe
FimSe
Fim

#include <<stdio.h>>
void main()
{
int A = 5;
int B = 4;
if ( A>B )
{
printf(A maior que B!);
}
else
{
if ( A<B )
{
printf(B maior que A!);

Clculo do
maior nmero

}
else
{
printf(B igual a A!);
}
}
}

Linguagem C

Devido a sua flexibilidade de utilizao, ela pode ser


considerada como complicada:
Uma alternativa o uso de outras linguagens menos
flexveis, i.e. especializada para a aplicao em questo.
Entretanto, o fato que compreender C, com suas
flexibilidades, permite compreender outras linguagens.

Caractersticas

Paradigma procedural:
O paradigma procedural menos rico que o paradigma
orientado a objetos (OO).
Uma alternativa a linguagem C, seria uma linguagem OO,
em particular a linguagem C++.
Pode-se dizer que a linguagem C++ uma evoluo da
linguagem C...

Dennis Ritchie e Ken Thompson,


anos 70

C++

Bjarne Stroustrup,
nos anos 80

Comandos
em linguagem C

Leia e Imprima Scanf e Printf.


#include <stdio.h>
Algorimo L e imprime um valor
// Parte Principal
Inicio
Inteiro

//Programa L e imprime um valor


void main()
{
int

A;

A;

Imprima (Informe um valor A inteiro:);

printf ( Informe um valor A inteiro: \n );

Leia ( A );

scanf ( %i , &A);

Imprima (O valor de A :, A);

printf ( O valor de A eh: %i , A);

system ( pause );
Fim

Leia e Imprima scanf e printf.


Algorimo L e imprime valores
// Parte Principal
Inicio
A;
Inteiro
Real
B;
Caracter C;

#include <stdio.h>
//Programa L e imprime valores
void main()
{
int A;
float B;
char C;

Imprima (Informe um valor A inteiro:);


Leia ( A );
Imprima (O valor de A :, A);

printf(Informe um valor A inteiro: \n);


scanf(%i, &A);
printf(O valor de A eh %i : \n , A);

Imprima (Informe um valor B real:);


Leia ( B );
Imprima (O valor de B :, B);

printf(Informe um valor B real: \n);


scanf(%f, &B);
printf(O valor de B eh %f : \n, B);

Imprima (Informe um valor C caracter:);


Leia ( C );
Imprima (O valore de C :, C);

printf(Informe um valor C caracter: \n);


fflush ( stdin );
scanf(%c, &C);
printf(O valor de C eh %c : \n, C);
getchar();

Fim
}

se ento fim-se
Algorimo Maior de dois Nmeros
// Parte Principal
Inicio
Inteiro A;
Inteiro B;

if { }.

#include <stdio.h>
//Programa Maior de dois nmeros
void main()
{
int A;
int B;

A 5;
B 4;

A = 5;
B = 4;

se (A > B) ento

if ( A > B )
{
printf ( A maior que B! );
}

Imprima ( A maior que B );


fim-se

if ( A < B )
{
printf ( B maior que A! );
}

se (A < B) ento
Imprima ( B maior que A );
fim-se

if ( A == B )
{
printf ( B igual a A! );
}

se (A = B) ento
Imprima ( B igual a A );
fim-se
Fim

se seno fim-se
Algorimo Maior de dois Nmeros
// Parte Principal
Inicio
Inteiro A;
Inteiro B;

if { } else { }.

#include <stdio.h>
//Programa Maior de dois nmeros
void main()
{
int A;
int B;

A 5;
B 4;

A = 5;
B = 4;

se (A > B) ento

if ( A > B )
{
printf(A maior que B! \n);
}
else
{
if ( A < B )
{
printf (B maior que A! \n);
}
else
{
printf (B igual a A! \n);
}

Imprima ( A maior que B );


seno
se (A < B) ento
Imprima ( B maior que A );
seno
Imprima ( B igual a A );
fim-se

}
fIm-se
Fim

Escolha caso
Algorimo Sexo da Pessoa
// Parte Principal
Inicio
Inteiro A;

switch case
#include <stdio.h>
//Programa Sexo da Pessoa
void main()
{
int A;

Imprima (Informe seu sexo:);


Imprima (1 p/ Mas., 2 p/ Fem.);
Leia ( A );

printf ( Informe seu sexo : \n );


printf ( 1p/ Mas., 2 p/ Fem. \n );
scanf ( %i, &A );

escolha ( A )

switch ( A )
{
case 1:
{

caso 1 :

printf ( Masculino! \n );
}
break;
case 2:
{
printf ( Feminino! \n );
}
break;
default:
{
printf ( Erro! \n );
}

Imprima ( Masculino! );

caso 2 :
Imprima ( Feminino! );

caso contrrio:
Imprima ( Erro! );

}
fim-escolha;
Fim

Exerccio 1.
Elabore um programa que, dada a idade de um nadador (entrada
do algoritmo), classifique-o de acordo com as seguintes
categorias:
-

infantil A = 5 7 anos;
infantil B = 8 10 anos;
juvenil A = 11 13 anos;
juvenil B = 14 17 anos;
adulto = maiores ou igual a 18 anos.

Obs.:
- O e das expresses lgicas em linguagem C &&.
- O ou das expresses lgicas em linguagem C ||.

void main ( )
{
float idade;
printf ( Digite a idade do nadador: \n );
scanf ( %f, &idade );
if ( ( idade < 5) || ( idade > 99 ) )
{
printf ( Idade invlida \n. );
}
else
{
if ( ( idade >= 5 ) && ( idade < 8 ) )
{
printf ( Idade na categoria infantil A. \n );
}
else
{ if ( ( idade >= 8 ) && ( idade < 11 ) )
{
printf ( Idade na categoria infantil B. \n);
}
else
{
if ( ( idade >= 11 ) && ( idade < 14 ) )
{
printf ( Idade na categoria juvenil A. \n);
}
else
{
if ( ( idade >= 14 ) && ( idade < 18 ) )
{
printf ( Idade na categoria juvenil B. \n);
}
else
{
printf ( Idade na categoria adulto. \n);
}
}
}
}
}
}

enquanto faa

while { }
#include <stdio.h>

Algorimo Imprime 100 nmeros


// Parte Principal
Inicio

//Programa Imprime 100 nmeros


void main()
{

Inteiro A;

int A;

A 1;

A = 1;

enquanto ( A <= 100 ) faa

while ( A <= 100 )


{
printf ( Nmero %i : \n , A );

Imprima ( Nmero , A );

A = A + 1;

A A + 1;
}
fim-enquanto;
Fim

Faa enquanto do { } while


#include <stdio.h>
Algorimo Imprime 100 nmeros
// Parte Principal
Inicio

//Programa Imprime 100 nmeros


void main()
{

Inteiro A;

int A;

A 1;

A = 1;

faa

do
{
printf ( Nmero %i : \n , A );

Imprima ( Nmero , A );
A A + 1;

A = A + 1;

enquanto ( A <= 100 )


Fim

} while ( A <= 100 );


}

Para passo for { }


#include <stdio.h>
Algorimo Imprime 100 nmeros

//Programa Imprime 100 nmeros

// Parte Principal
Inicio
Inteiro A;

void main()
{
int A;

for ( A = 1; A <= 100; A = A + 1 )


{
printf ( Nmero %i : \n , A );
}

para A de 1 at 100 passo 1 faa


Imprima ( Nmero , A );
fim-para;
Fim

Operador ++
#include <stdio.h>
//Programa Imprime 100 nmeros
void main ( )
{
int A;
#include <stdio.h>
for ( A = 1; A <= 100; A++ )
{
printf ( Nmero %i : \n , A );
}

//Programa Imprime 100 nmeros


void main ( )
{
int A;
}
A = 1;
do
{
printf ( Nmero %i : \n , A );
A++;
} while ( A <= 100 );
}

S funciona em C++...

Fazer exerccios:
os da apostila, por exemplo.

Outros exemplos - detalhes


#include <stdio.h>
//Programa Soma dois reais
void main()
{
float A, B, C;
A = 2.0;
B = 3.0 + A;
C = 1.4 + B;
// no esquecer dos pontos no caso de floats
}

#include <stdio.h>
//Programa Diviso de dois ints em um float
void main()
{
int X, Y;
float A;
X = 5;
Y = 2;
A = (float) X / Y;
/* necessrio explitar que a diviso dos
dois ints pode resultar em float.*/
}

Bibliografias da Disciplina
Andr Luiz Villar Forbellone & Henri Frederico Eberspcher.
Lgica de Programao : A construo de Algoritmos e Estruturas
de Dados. Makron Books. 1993

C Completo e Total Terceira Edio.


Herbert Schildt. 3a. Ed. Makron Books 1996.

DEITEL, H.M.; DEITEL, P.J. C++ Como Programar. 3 Edio.


Bookman. 2001.

Material de Apoio
Myriam Regattieri Delgado. Apostila de Computao I. CEFETPR/UTFPR.
http://www.dainf.cefetpr.br/~myriam/PastaWeb/CompI/

Robson Linhares. Material Rico e Diversificado


http://www.dainf.cefetpr.br/~robson/
Ir em:
Contedo.
Profissional.
Disciplinas DAINF
Computao I.

Você também pode gostar