You are on page 1of 25

Algoritmo em C

Professor : Alexnaldo Santos

Algoritmo
Um algoritmo uma seqncia de instrues ordenadas de forma lgica para a resoluo de uma determinada tarefa ou problema. Um algoritmo pode ser descrito de forma no-computacional e sua implementao em alguma linguagem computacional. Um programa um algoritmo escrito em uma linguagem computacional.

Algoritmo No-Computacional
Caracterizado pela utilizao de qualquer linguagem informal
Exemplo : programa Calcular Mdia inicio ler o nome do aluno ler a nota da primeira unidade ler a nota da segunda unidade mdia = nota da primeira unidade + nota da segunda unidade / 2 se a mdia for menor que 5 imprima Reprovado seno imprima Aprovado fim

Algoritmo Computacional
Caracterizado pela utilizao de alguma linguagem computacional.
Exemplo : int main() { char nome[80]; float nota1, nota2, media; gets(nome); scanf(%f, nota1); scanf(%f, nota2); media = (nota1 + nota2) / 2; if(media<5) printf(Reprovado); else printf(Aprovado); return 0; }

Algoritmo
Escrever um algoritmo em linguagem no-computacional uma tcnica usada para descrever um problema de forma a facilitar sua compreenso.
As linguagens de programao de alto nvel permitem que os algoritmos sejam escritos diretamente em linguagem computacional.

Algoritmo
Transcrever algoritmo de uma linguagem para outra necessrio conhecer a sintaxe de cada linguagem envolvida e suas limitaes.
Este curso baseia-se na linguagem C.

LINEARIZAO DE EXPRESSES
Para a construo de algoritmos todas as expresses aritmticas devem ser linearizadas, ou seja, colocadas em linhas.

MODULARIZAO DE EXPRESSES
A modularizao a diviso da expresso em partes, proporcionando maior compreenso e definindo prioridades para resoluo da mesma. Em expresses aritimticas computacionais a modularizao feita atravs de parnteses.
Expresso modularizada atravs do uso de parnteses.

Linguagem C: Conceitos Bsicos


Linguagem de mdio nvel porque combina elementos de linguagens de alto nvel com funcionalidades da linguagem assembly. Linguagem estruturada porque permite a compartimentalizao do cdigo e dados. Habilidade de contextualizar cdigo e dados em tarefas especficas. Linguagem case-sensitive porque diferencia letras minsculas de maisculas.

Linguagem C: Palavras-chave
A linguagem C padro ANSI composta de 32 palavras-chave utilizadas para compor sua sintaxe formal.

Linguagem C: Tipos de Dados


Tipo char unsigned char signer char Tamanho em Bits 8 8 8 Faixa Mnima -127 a 127 0 a 255 o mesmo que char

int
unsigned int signed int short int

16
16 16 16

-32.767 a 32.767
0 a 65.535 o mesmo que int o mesmo que int

unsigned short int


signed short int long int signed long int unsigned long int float double long double

16
16 32 32 32 32 64 80

o mesmo que unsigned int


o mesmo que short int -2.147.483.647 a 2.147.483.647 o mesmo que long int 0 a 4.294.967.295 seis dgitos de preciso dez dgitos de preciso dez dgitos de preciso

Linguage C: Operadores
Atribuio: Sintaxe: <varivel> = <expresso>;

Linguage C: Operadores
Aritmticos:
Operao + * / % ++ -Ao Adio Subtrao Multiplicao Diviso Mdulo da diviso(resto) Incremento Decremento

Linguage C: Operadores
Relacionais:
Operao > < >= <= == != Ao Maior que Menor que Maior que ou igual Menor que ou igual Igual Diferente

Linguage C: Operadores
Lgicos:
Operao && || ! Ao E OU Negao

Linguagem C: Operadores
Ordem de precedncia:
() [] -> ! ~ ++ -- (tipo) & sizeof */ % << >> < <= > >= & ^ ! && || ?: = += -= *= /=

Liguagem C: Sintaxe Formal


Regras deste curso : (!) palavras entre <> especifica como obrigatrias; (!) palavras entre [] especifica como opcionais; (!) todas palavras reservadas em C sero especificadas na cor azul. (!) O valor zero ser especificado atravs do smbolo para evitar semelhana com a letra o. (!) Este curso considera C padro ANSI e processadores de 16 bits.

Linguagem C: Sintaxe Formal


Regras gerais de C :
(!) todas as palavras-chave so especificadas de forma minsculas. (!) todo comando deve terminar com ; ( ponto e vrgula). (!) Todo bloco de comando deve estar entre { e }.

Linguagem C: Sintaxe Formal


Todo programa escrito em C consiste funes.
Sintaxe : [tipo] <nome>([parmetros]) { [return <valor do tipo>;] }

int minhafuncao() { return ; }

Linguagem C: Sintaxe Formal


Todo programa escrito em C inicia-se pela funo main. Sintaxe : int main() { return ; }

Linguagem C: Sintaxe Formal


As variveis em C s podem ser declaradas imediatamente aps o nicio do bloco e antes de qualquer comando.
Sintaxe : { <tipo> <nome da varivel> [= valor inicial]; }
Certo :
{ int a; int b = 10; int c,d,e; } }

Errado :
{ int a; a = 10; int c,d,e;
Declarao no ser aps comando de atribuio.

Linguagem C: Sintaxe Formal


Comando de seleo : if Sintaxe :
if (<expresso>) { [comandos] } [else [if(<expresso>)] { } ]
int x = 10; int y = 2; if (x>y) { int z; z = 10; }
int x = 10; int y = 2; if (x>y) { int z; z = 10; } else { int w = 15; }

Linguagem C: Sintaxe Formal


Comando de seleo : switch Sintaxe :
int opcao; int a;

switch(<expresso>) { case <constante> : [comandos] break; default : }

switch(opcao) { case 1: a = a + 1; break; case 2: a = a + 2; break; default : a = a + a; }

Linguagem C: Sintaxe Formal


Comando de interao: for Sintaxe :
for([inicializao];[condio];[incremento]) { [comandos] }

int a; int b; for(a=1; a< 20; a++) { b = a + 1; }

Linguagem C: Sintaxe Formal


Comando de interao: while Sintaxe :
while(<expresso>) { [comandos] }

int a = 1; while(a< 20) { a = a + 1; }

You might also like