Module Introduction
Programação 5374: Engenharia Informática 6638: Tecnologias e Sistemas de Informação 9099: Bioengenharia 10135: Ciências Biomédicas
Cap. 2 — Fundamentos de Linguagens e Modelos de Programação
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Sumário:
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Linguagens de programação
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Tabela ASCII de símbolos ASCII - American Standard Code for Information Interchange
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Tabela ASCII de símbolos: códigos adicionais ASCII - American Standard Code for Information Interchange
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Alfabeto: linguagem C
Forma Membros letra A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z
dígito 0 1 2 3 4 5 6 7 8 9
underscore _
Pontuação ! " # % & ' ( ) * + , - . / : ; < = > ? [ \ ] ^ { | } ~
http://www-ccs.ucsd.edu/c/charset.html
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Componentes de uma linguagem http://www.d.umn.edu/~gshute/asm/grammar.html
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Léxico: palavras reservadas
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Léxico: nomes de funções de bibliotecas (libm)
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Classificação de nomes/identificadores
Palavras reservadas
Identificadores estandardizados
(p.ex., nomes de funções)
Identificadores definidos pelo
utilizador
(p.ex., nomes de variáveis)
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: entidades e expressões
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: nomes/identificadores em C
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: operadores em C
• Escrita de dados em memória
– Operador de ATRIBUIÇÃO =
• Cálculo de inteiros e/ou reais
– Operadores ARITMÉTICOS +, -, *, /
• Cálculo de valores lógicos (falso/verdadeiro)
– Operadores LÓGICOS &&, II, !
• Cálculo de valores lógicos (falso/verdadeiro)
– Operadores RELACIONAIS <, <=, >, >=, !=, ==
• Incrementa valor de variável inteira de 1 unidade
– Operador de INCREMENTAÇÃO ++
• Decrementa valor de variável inteira de 1 unidade
– Operador de DECREMENTAÇÃO --
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: literais em C
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: literais inteiros em C
• O valor da constante depende da sua forma inicial:
– 0x ou 0X indica um inteiro hexadecimal (base 16);
– 0 indica um inteiro octal (base 8);
– um dígito não-nulo indica um inteiro decimal (base 10).
• No final do literal, como opção, escreve-se o sufixo l ou L para indicar que é do tipo long, ou o sufixo u ou U para indicar que é do tipo unsigned
• Diagrama de sintaxe:
http://www-ccs.ucsd.edu/c/syntax.html
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: termos em C
• Um termo é uma das seguintes entidades:
– um nome ( de variável numérica ou função que devolve um valor numérico)
– um literal
– o operador sizeof
– uma expressão-parentisada
• Diagrama de sintaxe:
http://www.d.umn.edu/~gshute/asm/grammar.html
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: expressões em C http://www.d.umn.edu/~gshute/asm/grammar.html
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: instruções em C http://www.d.umn.edu/~gshute/asm/grammar.html
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Sumário até agora:
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: tipos de instruções em C
A estudar em capítulos posteriores!
http://www.d.umn.edu/~gshute/asm/grammar.html
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: instrução-bloco em C
#include <stdio.h> int main() { float y;
y=5.4; printf(“O valor de y=%f\n”,y); }
instrução-bloco
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: instrução-de-atribuição em C
name expression = ;
#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); }
instrução-atribuição
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Variável
#include <stdio.h> int main() { int x; x=12; ... }
x
valor de x
00000000 00001100
memória
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: declaração de variáveis em C
#include <stdio.h> int main() { int x; x=12; ... }
type name ;
declaração-de-variável
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Tipos de dados básicos em C 00000000 00000000 00000000 00001100
4 bytes (octetos) = 4 x 8 bits
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Constante
#include <stdio.h> int main() { const int i=10; ... }
i
valor de i
00000000 00001010
memória
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Gramática: declaração de constantes em C
#include <stdio.h> int main() { const int i=10; ... }
declaração-de-constante
type name = const ; literal
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Modelos de programação
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Programação imperativa
#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); }
printf!y x
+
scanf!
= printf!
5.4
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Princípio fundamental da programação imperativa
Fundamentos de Linguagens e Modelos de Programação 5375, 6619, 9099, 10135 Programação
Sumário:
Top Related