Beruflich Dokumente
Kultur Dokumente
Sumrio
:
Linguagem, alfabeto e gramtica
Tabela ASCII
Componentes de uma linguagem: lxico, sintaxe e semntica
Entidades: nomes/identificadores, operadores e literais
Termos, expresses e tipos de expresses
Instrues e tipos de instrues
Instruo de bloco
Instruo de atribuio
Variveis e declaraes de variveis
Constantes e declaraes de constantes
Tipos de dados bsicos: char, int, float e double
Modelos de programao
Princpio fundamental da programao imperativa
Linguagens de programao
Alfabeto
Gramtica
Alfabetos:
Alfabeto (em C)
http://www-ccs.ucsd.edu/c/charset.html
Forma
letra
Membros
ABCDEFGHIJKLM
N O P Q R ST UVW XY Z
abcdefghijklm
nopqrstuvwxyz
dgito
0123456789
underscore
Pontuao
http://www.d.umn.edu/~gshute/asm/grammar.html
- Sintaxe: conjunto de regras de construo das frases dum texto, i.e. a gramtica. Estas frases
so designadas por instrues e o texto designado por programa.
Lxico
Palavras reservadas
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while
- No podem ser usadas a no ser para aqueles fins pr-definidos; por exemplo, no podem
ser usadas como nomes de variveis.
- A tentativa de utilizao para outros fins tem resulta numa srie de erros de compilao.
cos
acos
floor
sin
asin
tan
atan
tanh
ceil
log
pow
log10
fabs
sqrt
sinh
- Embora no sejam palavras reservadas, no devemos us-las para outros fins, pois isso pode
gerar conflitos de nomes.
- A tentativa de utilizao para outros fins pode ter como consequncia uma srie de erros
de compilao.
Classificao de nomes/identificadores
Identificadores estandardizados
(p.ex., nomes de funes matemticas)
Palavras reservadas
Entidades e expresses
- Entidades:
literais
- Expresses:
uma construo sintctica que tem um valor.
uma combinao de entidades que representa o clculo dum valor.
- Tipos de expresses:
Gramtica
Nomes/identificadores
nomes vlidos:
Diagrama de sintaxe:
Operadores
Literais
Definio:
Uma entidade sem nome que representa um valor constante.
Exemplos:
XYZ123 um literal string
g um literal carcter
Literais inteiros
Termos
Expresses
http://www.d.umn.edu/~gshute/asm/grammar.html
Definio: Uma expresso uma sequncia de um ou mais termos separados por operadores infixo.
Cada termo precedido por zero ou mais operadores prefixos. Cada termo seguido por zero ou mais operadores psfixos.
Diagrama de sintaxe:
Exemplos:
(literal inteiro)
num
(nome de varivel)
5+num
square(5)
square(5)/2
a && b || c
getchar()
!a
num++
Instrues
http://www.d.umn.edu/~gshute/asm/grammar.html
Diagrama de sintaxe:
Exemplos:
printf("hello\n");
// chamada a funo
y = m * x + b;
// armazena valor
++count;
Sumrio at agora:
Tipos de instrues
http://www.d.umn.edu/~gshute/asm/grammar.html
Instruo de bloco
Diagrama de sintaxe:
Exemplo:
#include <stdio.h>
int main()
{
float y;
y=5.4;
printf(O valor de y=%f\n,y);
}
instruo-bloco
Instruo de atribuio
Diagrama de sintaxe:
name
expression
Exemplo:
#include <stdio.h>
int main()
{
int x;
float y;
printf(Escreva um valor inteiro: );
scanf(%d,&x);
y=x+5.4;
printf(O valor de y=%f\n,y);
}
instruo-atribuio
Varivel
- Tm nome e valor.
- semelhana das variveis em matemtica, uma varivel no tem valor constante.
- Pode mudar de valor atravs duma instruo de atribuio.
memria
valor de
#include <stdio.h>
int main()
{
int x;
x=12;
...
}
x
x 00000000
00001100
Declarao de variveis
Diagrama de sintaxe:
type
name
Exemplo:
declarao-de-varivel
#include <stdio.h>
int main()
{
int x;
x=12;
...
}
Declarao de variveis
Bytes em memria
Formato de E/S
Inteiros
char
1 byte
%c
int
2 bytes
%d ou %i
float
4 bytes
%f
double
8 bytes
%f
Reais
Constante
valor de
#include <stdio.h>
int main()
{
const int i=10;
...
}
i
i 00000000
00001010
Declarao de constantes
Diagrama de sintaxe:
const
type
name
literal
Exemplo:
declarao-de-constante
#include <stdio.h>
int main()
{
const int i=10;
...
}
Modelos de Programao
Modelos de programao
Programao imperativa
C, Pascal, Fortran,
Programao funcional
Haskel, Lisp, Scheme,
Programao em lgica
Prolog,
Programao orientada por objectos
C++, Java, Smaltalk, Objective-C, C#, Logtalk,
Programao baseada em eventos
- No h linguagens especficas mais uma forma de programar aplicaes.
etc.
Programao imperativa
#include <stdio.h>
int main()
{
int x;
float y;
Dados
Simples (int, float, char, double)
Compostos (array, struct, file)
Funes/operadores
printf
y
5.4
scanf
printf
Concluso
:
Linguagem, alfabeto e gramtica
Tabela ASCII
Componentes de uma linguagem: lxico, sintaxe e semntica
Entidades: nomes/identificadores, operadores e literais
Termos, expresses e tipos de expresses
Instrues e tipos de instrues
Instruo de bloco
Instruo de atribuio
Variveis e declaraes de variveis
Constantes e declaraes de constantes
Tipos de dados bsicos: char, int, float e double
Modelos de programao
Princpio fundamental da programao imperativa
FIM