Uma memória é uma função total de identificadores para valores inteiros: se x=y
|
|
- Ana Júlia Castanho
- 2 Há anos
- Visualizações:
Transcrição
1 Semântica denotacional é um estilo de semântica que visa dar modelos matemáticos para linguagens de programação (por isso ela também é chamada semântica matemática). Significados de programas são definidos como sendo elementos de alguma estrutura matemática apropriada. Um comando de IMP, por exemplo, dado um estado inicial, produz um estado final, ou não termina. Podemos então dizer que comandos de IMP denotam funções parciais entre estados que, por sua vez, são representados como funções de identificadores de variáveis para inteiros. Objetos Semânticos. Num primeiro momento é suficiente assumir que as estruturas matemáticas apropriadas para a semântica denotacional de IMP são simplesmente conjuntos. Representação da memória (1) Uma memória é uma função total de identificadores para valores inteiros: Σ Ident Z σ, σ, σ 1, σ 2... Ident Z σ[x n] é o mesmo que σ, exceto que mapeia x para n Notação: σ[x n](y) = n σ(y) se x=y caso contrário Um estado (ou uma memória) é um mapeamento pertencente ao conjunto de funções Ident Z e vamos assumir que essas funções são totais, ou seja que todo identificador possui um valor inteiro associado a ele na memória. Por conveniência, de agora em diante vamos nos referir ao conjunto Ident Z pelo nome Σ e usamos σ, σ... como meta-variáveis para elementos de Σ. Portanto, para IMP temos: Objetos Semânticos para IMP (2) Os significados de elementos de Aexp? funções totais pertencentes a Σ Z Os significados de elementos de Bexp? funções totais pertencentes a Σ B onde B = verdadeiro, falso} sourcefile 5 Rev: revision, 16 de Junho de 2014
2 Os significados de elementos de Com? funções parciais pertencentes a Σ Σ Exercício 1.1 Explique porque os significados de expressões aritméticas da linguagem IMP são (i) funções pertencentes a Σ Z e não simplesmente elementos de Z e (ii) porque são funções totais Exercício 1.2 Explique porque os significados de expressões booleans da linguagem IMP são (i) funções pertencentes a Σ B e não simplesmente elementos de B e (ii) porque são funções totais. Exercício 1.3 Explique porque os significados de comandos da linguagem IMP são funções pertencentes a Σ Σ e (ii) porque são funções parciais. Exercício 1.4 Como podemos transformar as funções que são significados de comandos da linguagem IMP em funções totais pertencentes a Σ Σ Funções auxiliares. As seguintes funções serão usadas na definição da semântica denotacional de IMP: +,,, =,,, e. Observe, que esses símbolos são sobrecarregados. O contexto de uso dirá se eles são operadores (sintáticos) da linguagem IMP ou se são os nomes das funções matemáticas. Funções Semânticas Funções semânticas definem o mapeamento entre a sintaxe é a semântica. Em geral, temos uma função semântica para cada categoria sintática. Os nomes das funções semânticas são tradicionais em semântica denotacional. Funções Semânticas (3) A semântica denotacional de IMP é dada através de três funções semânticas Para a Aexp, b Bexp e c Com temos: E, para σ Σ: A[[ ]] Aexp (Σ Z) B[[ ]] Bexp (Σ B) C[[ ]] Com (Σ Σ) A[[a]] Σ Z B[[b]] Σ B C[[c]] Σ Σ A[[a]]σ Z B[[b]]σ B C[[c]]σ Σ caso C[[c]]σ for definido 6
3 1.1 Tentativa de definição atráves da formulação de propriedades 1.1 Tentativa de definição atráves da formulação de propriedades Equações Semânticas A definição das funções semânticas, e portanto a definição do significado matemático de construções de IMP, consiste de um conjunto de equações semânticas. Definições (4) As equações semânticas podem ser escritas na forma ou, usando a notação lambda, na forma A[[a]]σ =... B[[b]]σ =... C[[c]]σ =... A[[a]] = λσ Σ.... B[[b]] = λσ Σ.... C[[c]] = λσ Σ.... Tanto A[[a]]σ =... como A[[a]] = λσ Σ.... possuem a mesma leitura: a denotação da expressão a é a função que, dada uma memória σ... a denotação da expressão b é a função que, dada uma memória σ... a denotação do comando c é a função que, dada uma memória σ... Equações Semânticas para Expressões Aritméticas (5) O significado de uma expressão aritmética é uma função em Σ Z definida como segue: A[[n]]σ = n (EqN) A[[x]]σ = σ(x) (EqId) A[[a 1 +a 2 ]]σ = A[[a 1 ]]σ + A[[a 2 ]]σ A[[a 1 -a 2 ]]σ = A[[a 1 ]]σ A[[a 2 ]]σ A[[a 1 *a 2 ]]σ = A[[a 1 ]]σ A[[a 2 ]]σ (Eq+) (Eq-) (Eq*) Exercício: A[[x + (5 * 4)]]σ = A[[x]]σ + A[[5 4] σ (Eq+) = σ(x) + A[[5 4] σ (EqId) = σ(x) + A[[5] σ A[[4] σ (Eq ) = σ(x) + (5 4) (EqN, EqN) = σ(x) + 20 Note que a definição do significado de expressões booleanas faz uso da função de atribuição de significado para expressões aritméticas: 7
4 Equações Semânticas para Expressões Boolenas (6) B[[t]]σ = t (EqB) B[[a 1 =a 2 ]]σ = A[[a 1 ]]σ = A[[a 2 ]]σ (Eq=) B[[a 1 <a 2 ]]σ = A[[a 1 ]]σ < A[[a 2 ]]σ (Eq<) B[[ b]]σ = B[[b]]σ (EqNeg) B[[b 1 b 2 ]]σ = B[[b 1 ]]σ B[[b 2 ]]σ (EqAnd) B[[b 1 b 2 ]]σ = B[[b 1 ]]σ B[[b 2 ]]σ (EqOr) Segue abaixo a definição da denotação de comandos. O significado do comando while exige cuidados e será visto mais adiante: Equações Semânticas para Comandos (7) O significado de um comando é uma função em Σ Σ definida como segue C[[skip]]σ = σ (EqSkp) C[[x:=a]]σ = σ[x A[[a]]σ] (EqAtr) C[[c 1 ;c 2 ]]σ = C[[c 2 ]](C[[c 1 ]]σ) (EqSeq) C[[if b then c 1 else c 2 ]]σ = se B[[b]]σ então C[[c 1 ]]σ senão C[[c 2 ]]σ (EqIf) C[[while b do c]] =... (EqWh) Segue abaixo um exemplo no qual é calculado o significado matemático de um comando utilizando as equações acima: 8
5 1.1 Tentativa de definição atráves da formulação de propriedades Exemplo (8) C[[x:=1;(skip;y:=2)]]σ = C[[skip;y:=2]] (C[[x:=1]]σ) (EqSeq) = C[[skip;y:=2]] σ[x A[[1]]σ] (EqAtr) = C[[skip;y:=2]] σ[x 1] (EqN) = C[[y:=2]] (C[[skip]]σ[x 1]) (EqSeq) = C[[y:=2]] σ[x 1] (EqSkp) = σ[x 1][y A[[2]]σ[x 1]] (EqAtr) = σ[x 1][y 2] (EqN) Semântica com funções totais. O tratamento formal fica mais simples se lidar somente com funções totais. Podemos adicionar o elemento (lido bottom, ou indefinido ) ao conjunto Σ para representar indefinição. Escrevemos Σ para nomear o conjunto Σ }. Ao invés de dizermos que os significados de comandos pertencem ao conjunto de funções parciais de Σ para Σ dizemos que pertencem ao conjunto de funções totais de Σ para Σ. E, finalmente, como o comando c 1 em c 1 ;c 2 pode não terminar, dizemos que os significados de comandos pertencem ao conjunto de funções totais Σ Σ. Essas funções são estritas, ou seja se aplicadas a produzem. Σ = Σ } representa a indefinição Lifting - trabalhando com funções totais (9) C[[c]] é agora função total em Σ Σ Exemplo : C[[(while true do c); c 2 ]]σ = C[[c 2 ]](C[[while true do c]]σ) = C[[c 2 ]] = Significado do Comando while Como fica a equação para o comando while? Podemos começar lembrando que o significado do comando while b do c é equivalente ao significado do comando Logo if b then (c;while b do c) else skip. 9
6 Significado do comando while? (10) C[[while b do c]]σ = C[[if b then (c;while b do c) else skip]]σ = se B[[b]]σ então C[[c;while b do c]]σ senão C[[skip]]σ (EqIf ) = se B[[b]]σ então C[[while b do c]](c[[c]]σ) senão C[[skip]]σ (EqSeq) = se B[[b]]σ então C[[while b do c]](c[[c]]σ) senão σ (EqSkp) Ou seja: [[while b do c]]σ = se [[b]]σ então [[while b do c]]([[c]]σ) senão σ ou, usando W para [[while b do c]]: W σ = se [[b]]σ se W([[c]]σ) senão σ Contudo a equação C[[while b do c]]σ = se B[[b]]σ então C[[while b do c]](c[[c]]σ) senão σ (EqWhV1 ) não é suficiente para definir o significado de comandos while, e a razão é simples: ao contrário das demais equações para a linguagem que definem explicitamente uma única função de Σ Σ dado um comando está equação (como veremos nos exercícios abaixo), dado um comando while específico, pode ter várias soluções. O significado do comando é, com certeza, uma dessas soluções, mas a equação acima, por si só, não indica qual delas. Equações e Definições - Revisão (11) Dado um universo U, uma equação define um elemento de U quando ela possui solução em U, e a solução é única Se uma equação possui mais de uma solução, ela não define um elemento de U Uma propriedade adicional pode ser adotada para apontar uma das soluções como sendo o elemento definido Exemplos: Equações e Definições - Revisão (12) x = x + 1 não possui solução, seja lá qual for o universo 10
7 1.1 Tentativa de definição atráves da formulação de propriedades x = 3x 4 possui o natural 2 como uma única solução em N, logo essa equação define x como sendo o natural 2 2x 2 = 8 possui duas soluções em R: 2 e 2, logo ela por si só não define nenhum número real Exercício 1.5 Considere o comando while x 0 do x:=x-2 Obtenha a equação associada a esse comando No que segue W [[while (x 0) do x := x 2]]: Wσ = se [[x 0]]σ então W([[x := x 2]]σ) senão σ (EqWhV1) = se [[x]]σ [[0]]σ então W([[x := x 2]]σ) senão σ (EqDif) = se σ(x) [[0]]σ então W([[x := x 2]]σ) senão σ (EqId) = se σ(x) 0 então W([[x := x 2]]σ) senão σ (EqN) = se σ(x) 0 então W(σ[x [[x 2]]σ]) senão σ (EqAtr) = se σ(x) 0 então W(σ[x [[x]]σ [[2]]σ]) senão σ (EqSub) = se σ(x) 0 então W(σ[x σ(x) [[2]]σ]) senão σ (EqId) = se σ(x) 0 então W(σ[x σ(x) 2]) senão σ (EqN) Usando σ σ[x σ(x) 2] a equação fica: Wσ = se σ(x) 0 então Wσ senão σ Verifique se as funções g 1 e g 2 definidas abaixo são soluções dessa equação: g 1 σ = g 2 σ = onde σ 1 e σ 2 podem ser estados quaisquer ou σ[x 0] se σ(x) é par e σ(x) 0 caso contrário σ[x 0] se σ(x) é par e σ(x) 0 σ 1 se σ(x) é par e σ(x) < 0 se σ(x) é ímpar σ 2 Verificação se g 1 é solução da equação acima: 11
8 g 1 σ = se σ(x) 0 então g 1 σ senão σ = se σ(x) 0 então (se par(σ (x)) σ (x) 0 então σ [x 0] senão ) senão σ = se σ(x) 0 então (se par(σ(x) 2) σ (x) 0 então σ [x 0] senão ) senão σ = se σ(x) 0 então (se par(σ(x)) σ (x) 2 então σ [x 0] senão ) senão σ = se σ(x) 0 então (se par(σ(x)) σ(x) 2 0 então σ[x 0] senão ) senão σ = se σ(x) 0 então (se par(σ(x)) σ(x) 2 então σ[x 0] senão ) senão σ = se σ(x) 0 então (se par(σ(x)) σ(x) 2 então σ[x 0] senão ) senão σ[x 0] = se par(σ(x)) σ(x) 0 então σ[x 0] senão = g 1 σ Verificação se g 2 é solução da equação acima: g 2 σ = se σ(x) 0 então g 2 σ senão σ = se σ(x) 0 entao (se par(σ (x)) σ (x) 0 entao σ [x 0] senao se par(σ (x)) σ (x) < 0 entao σ 2 senao σ 3 ) senao σ = se σ(x) 0 entao (se par(σ(x)) σ(x) 2 entao σ[x 0] senao se par(σ(x)) σ(x) < 2 entao σ 2 senao σ 3 ) senao σ[x 0] = se par(σ(x)) σ(x) 0 entao σ[x 0] senao se par(σ(x)) σ(x) < 0 entao σ 2 senao σ 3 ) = g 2 σ Qual das duas funções, g 1 ou g 2 deve ser o significado do comando while acima? Exercício 1.6 Considere o comando while true do skip. Escreva a equação associada ao comando e explique por que todas as funções em Σ Σ são soluções para esta equação. Qual dessas funções é o significado deste comando? Exercício 1.7 Considere o comando while (x=0) do skip. Escreva a equação correspondente ao comando while acima; 12
9 1.2 Voltando a tentativa de definição pela formulação de propriedades Verifique se as funções g 1 e g 2 abaixo são soluções desta equação se σ(x) 0 g 1 σ = σ se σ(x) = 0 σ 3 se σ(x) 0 g 2 σ = σ se σ(x) = 0 Qual dessas funções é o significado do comando? Certifique-se de que a função g definida abaixo não é solução da equação acima gσ = para todo σ Σ Exercício 1.8 Considere o comando while (x=0) do x:=x-1. Escreva a equação associada a esse comando. Verifique se funções definidas abaixo são soluções dessa equação: g 1 σ = para todo σ Σ σ[x 0] se σx 0 g 2 σ = se σx < 0 σ[x 0] se σx 0 g 3 σ = σ se σx < 0 g 4 σ = σ[x 0] g 5 σ = σ para todo σ Σ para todo σ Σ Qual dessa funções é o significado do comando while acima? 1.2 Voltando a tentativa de definição pela formulação de propriedades Observe, pelos exercícios da seção 1.1, que há uma relação de ordem entre as soluções de uma equação baseada na quantidade de informação que cada uma expressa. Formalmente podemos definir essa relação de ordem da seguinte maneira: Definição de menor (13) Considere o seguinte relação ordem entre funções deσ Σ : f g σ fσ = fσ = gσ (1.1) Nessa ordem uma função com menos informação é dita menor. 13
10 ou seja, quando f é definida, g também é definida e produz o mesmo resultado do que f. Em todos exemplos acima, a solução correspondente ao significado do comando sempre foi a menor solução (dada a relação de ordem acima). Formulamos então a seguinte hipótese: Hipótese - o significado é a menor solução (14) o significado de um comando while é a menor solução da equação C[[while b do c]]σ = se B[[b]]σ então C[[while b do c]](c[[c]]σ) senão σ Exercício 1.9 Ordene as soluções das equações dos exercícios anteiores utilizando a definição de ordem dada acima. 1.3 Equações de Ponto Fixo Até agora, usando somente a nossa intuição e alguns exemplos, levantamos a hipótese de que o significado de comando while deve ser a menor solução da equação para o comando while associada associada. Mas como obter/calcular essa menor solução? Para começar vai ser necessário colocar a equação (EqWhV1) no formato geral de equação de ponto fixo. Equações de ponto fixo são aquelas que podem ser colocadas no seguinte formato geral x = f(x). Uma solução para uma equação de ponto fixo x = f(x) é dita ponto fixo de f. A equação Equação no formato de equação de ponto fixo (15) C[[while b do c]]σ = se B[[b]]σ então C[[while b do c]](c[[c]]σ) senão σ no formato geral de equação de ponto fixo, fica: [while b do c] = F ([while b do c]) onde F (Σ Σ ) (Σ Σ ) é definido como: F g = λσ Σ. se [[b]σ então g([c]σ) senão σ Sendo assim a nossa hipótese a cerca do significado de qualquer comando while pode ser reescrita nas seguintes formas equivalentes: Hipótese - o significado é a menor solução (II) (16) O significado de um comando while é a menor solução da equação abaixo, ou ainda O significado de um comando while é o menor ponto fixo de F da equação abaixo 14
11 1.4 Calculando menor ponto fixo [while b c] = F ([while b c]) onde: F (Σ Σ ) (Σ Σ ) é definido como: F g = λσ Σ. se [[b]σ então g([c]σ) senão σ Outra forma equivalente de formular a nossa hipótese faz uso da seguinte notação empregada para se referir ao menor ponto fixo de F : fix F ou ainda, µ F [while b c] = fix F Hipótese (III) (17) onde: F (Σ Σ ) (Σ Σ ) é definido como: F g = λσ Σ. se [[b]σ então g([c]σ) senão σ Exercício 1.10 Reescreva as equações dos comandos while dos exemplos/exercícios das seções anteriores colocando-as no formato geral de equação de ponto fixo. 1.4 Calculando menor ponto fixo Para obter o menor ponto fixo de F começamos aplicando F a função totalmente indefinida de Σ Σ e assim aplicamos F sucessivamente a cada resultado obtido anteriormente. A idéia é que, acada aplicação de F obtemos uma função de Σ Σ com mais informação e, eventualmente, obtemos uma função que é ponto fixo de F (ou seja que é o significado do comando while). Exemplo 1 (18) Considere while x 0 do x:=x-2. O funcional F associado a esse comando é: F g = λσ Σ. se σ(x) 0 então gσ[x σ(x) 2] senão σ Usando σ no lugar de σ[x σ(x) 2] temos: F g = λσ Σ. se σ(x) 0 então gσ senão σ Calculando F 0 ( ), F 1 ( ), F 2 ( ),...: Exemplo 1 (19) 15
12 F 0 ( ) = def F 1 ( ) = F ( ) = λσ Σ. se σ(x) 0 então (σ ) senão σ = λ.σ Σ. se σ(x) 0 então Σ senão σ[x 0] = λ.σ Σ. se σ(x) = 0 então σ[x 0] senão Σ F 2 ( ) = F (F 1 ( )) = λσ Σ. se σ(x) 0 então (F 1 )σ senão σ = λσ Σ. se σ(x) 0 então (se σ (x) = 0 então σ [x 0] senão Σ ) senão σ = λσ Σ. se σ(x) 0 então (se σ(x) = 2 então σ[x 0] senão Σ ) senão σ = λσ Σ. se σ(x) = 0 σ(x) = 2 então σ[x 0] senão Σ F 3 ( ) = F (F 2 ( )) =... = λσ Σ. se σ(x) = 0 σ(x) = 2 σ(x) = 4 então σ[x 0] senão Σ... Exemplo 1 (20) Com cada aplicação de F a informação cresce e temos a seguinte cadeia: F 0 ( ) F 1 ( ) F 2 ( ) F 3 ( ) Intuitivamente, no limite da cadeia acima temos σ[x 0] se par(σ(x)) x 0 g = λσ Σ. caso contrário representa a função que é ponto fixo de F (verifique isso) corresponde ao significado do comando while Exemplo 2 (21) 16
13 1.4 Calculando menor ponto fixo Considere while x>0 do x:=x-1. O funcional F associado a esse comando é o seguinte: F g = λσ Σ. se σ(x) > 0 então gσ[x σ(x) 1] senão σ Usando σ para σ[x σ(x) 1] temos: F g = λσ Σ. se σ(x) > 0 então gσ senão σ Exemplo 2 (22) F 0 ( ) = def F 1 ( ) = F ( ) = λσ Σ. se σ(x) > 0 então σ senão σ = λ.σ Σ. se σ(x) > 0 então Σ senão σ F 2 ( ) = F (F 1 ( )) = λσ Σ. se σ(x) > 0 então (F 1 )σ senão σ... σ se σ(x) 0 = λσ Σ. σ[x 0] se σ(x) = 1 Σ se σ(x) > 1 σ se σ(x) 0 F 3 ( ) = F (F 2 ( )) = = λσ Σ. σ[x 0] se σ(x) = 1 σ(x) = 2 Σ se σ(x) > 2 σ se σ(x) 0 F 4 ( ) = F (F 3 ( )) = = λσ Σ. σ[x 0] se σ(x) = 1 σ(x) = 2 σ(x) = 3 Σ se σ(x) > 3 Exemplo 2 (23) Com cada aplicação de F a informação cresce: F 0 ( ) F 1 ( ) F 2 ( ) F 3 ( ) 17
14 Intuitivamente, no limite da cadeia acima, temos a seguinte função: σ se σ(x) 0 λσ Σ. σ[x 0] se σ(x) > 0 representa a função que é ponto fixo de F (verifique isso) corresponde ao significado do comando while Exemplo 3 (24) Considere o comando while x>0 do skip. O funcional F associado a esse comando é o seguinte Calculando F 0 ( ), F 1 ( ), F 2 ( ),... F g = λσ Σ. se σx > 0 então gσ senão σ F 0 ( ) = def F 1 ( ) = F ( ) = λσ Σ. se σ(x) > 0 então (σ) senão σ = λσ Σ. se σ(x) > 0 então Σ senão σ F 2 ( ) = F (F 1 ( )) = λσ Σ. se σ(x) > 0 então (F 1 ( ))(σ) senão σ = λσ Σ. se σ(x) > 0 então (se σ(x) > 0 então Σ senão σ) senão σ = λσ Σ. se σ(x) > 0 então Σ senão σ F 3 ( ) = F (F 2 ( )) =... = λσ Σ. se σ(x) > 0 então Σ senão σ F 4 ( ) = F (F 3 ( )) =... = λσ Σ. se σ(x) > 0 então Σ senão σ... 18
15 1.4 Calculando menor ponto fixo Exemplo 3 - continuação (25) Neste caso obtemos um ponto fixo para F já na terceira aplicação. Observe que a função λσ Σ. se σ(x) > 0 então Σ senão σ obtida dessa forma : é o menor dentre os pontos fixos de F corresponde ao significado do comando while x>0 do skip Tendo em vista os exemplos anteriores podemos refinar a nossa hipótese sobre o significado do comando while para C[[while b do c]] = limite superior de cadeia F 0 ( ) F 1 ( ) F 2 ( ) F 3 ( ) Observação: os termos limite superior e cadeia serão precisamente definidos mais adiante. Veremos também que uma cadeia pode ter mais do que um limite superior e que estamos interessados no menor limite superior. Logo C[[while b do c]] = menor limite superior de cadeia F 0 ( ) F 1 ( ) F 2 ( ) F 3 ( ) De agora em diante vamos escrever F n ( ) n 0 para menor limite superior de cadeia F 0 ( ) F 1 ( ) F 2 ( ) F 3 ( ). reescrevemos a hipótese acima para Assim C[[while b do c]] = F n ( ) n 0 Exercício 1.11 Calcule o significado dos seguintes comandos: while x 0 do x:= x - 1 while (x = 0) do x:=x - 1 while true do skip 19
Uma memória é uma função total de identificadores para valores inteiros: se x=y σ(y) caso contrário
4 Semântica Denotacional 4 Semântica Denotacional Semântica denotacional é um estilo de semântica que visa dar modelos matemáticos para linguagens de programação (por isso ela também é chamada semântica
Leia maisNelma Moreira. Departamento de Ciência de Computadores da FCUP. Aula 12
Fundamentos de Linguagens de Programação Nelma Moreira Departamento de Ciência de Computadores da FCUP Fundamentos de Linguagens de Programação Aula 12 Nelma Moreira (DCC-FC) Fundamentos de Linguagens
Leia maisProgramas em L1 pertencem ao conjunto de árvores de sintaxe abstrata definido pela gramática abstrata abaixo:
1 Semântica Operacional e Sistemas de Tipos Vamos definir a semântica operacional de uma série de linguagens no estilo conhecido por semântica operacional estrutural chamado também de semântica operacional
Leia maisINF Semântica formal N
INF05516 - Semântica formal N Ciência da Computação - UFRGS 2006-2 Marcus Ritt mrpritt@inf.ufrgs.br 23/08/2006 Introdução 2 Agenda............................................................... 3 Semântica
Leia maisComo podemos provar que este programa termina com x = 100. Correr o programa seguindo a sua semântica operacional é uma opção.
Verificação Automática de Programas Consideremos o seguinte programa para calcular 100 m=1 m: x:=0; y:=1; (while y!=101 do x:=x+y;y:=y+1) Como podemos provar que este programa termina com x = 100 m=1 m.
Leia maisINE Programação Funcional - Transparência Resolução de alguns problemas de redução:
INE 5363 - Programação Funcional - Transparência 47 2.4.4. Resolução de alguns problemas de redução: 1. Redução direta: (λx.x(xy))n-> N(Ny) aqui N é substituído nos dois x, pois x está livre na subespressão
Leia maisLinguagens de Programação
Linguagens de Programação Fabio Mascarenhas - 2015.2 http://www.dcc.ufrj.br/~fabiom/lp Introdução Quais das expressões abaixo têm o mesmo significado? (vector-ref a 42) Introdução Quais das expressões
Leia maisLinguagens de Programação
Linguagens de Programação Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/lp Expressões condicionais Scala tem uma expressão if-else para expressar escolha entre alternativas que se parece muito
Leia maisAula prática 14. Expressão Lambda
Programação Funcional UFOP DECOM 2014.1 Aula prática 14 Expressão Lambda Sumário Resumo Expressões lambdas são funções anônimas que podem ser usadas como qualquer outro valor de primeira classe. Nesta
Leia maisAlgoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi
Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se
Leia maisExpressões Lambda. Programação Funcional. Capítulo 7. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto
Programação Funcional Capítulo 7 Expressões Lambda José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2012.1 1/64 1 Valores de primeira classe 2 Expressão lambda 3 Aplicação
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 3: Primeiros Programas Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Tipos básicos 2. Variáveis e atribuições 3. Programas
Leia maisProgramação I Aula 3 Primeiros programas
Programação I Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 1 / 23 Nesta aula... 1 Tipos básicos 2 Variáveis e atribuições
Leia maisSemântica Denotacional
Semântica Denotacional Uma introdução ISBN 0-321-19362-8 Semântica denotacional é um método formal para definir a semântica de linguagens de programação. Interessa a: projetista de linguagens, quem escreve
Leia maisLógica de Hoare. Abordagem que usaremos: aplicar o método de Hoare sobre uma linguagem de programação imperativa simplificada.
Lógica de Hoare Método axiomático para provar que determinados programas são corretos. Introduzido em 1969 por Charles Antony Richard Hoare. Também utilizado para especificar a semântica de linguagens
Leia maisIntrodução à Programação Aula 3 Primeiros programas
Introdução à Programação Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2015 Pedro Vasconcelos (DCC/FCUP) Introdução à Programação Aula 3 Primeiros programas 2015 1 / 23 Nesta aula... 1 Tipos básicos
Leia maisPROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Leia maisConceitos de Linguagem de Programação - 2
Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação
Leia maisIntuição da sintaxe de L2 (35)
2.2 A Linguagem L2 2.2 A Linguagem L2 A linguagem L2 é uma extensão de L1 com funções recursivas, memória (acesso e atualização de variáveis), sequência de comandos ( ; ) e laço de repetição while. Primeiro,
Leia maisSemântica Axiomática
Semântica Axiomática O estilo axiomático presta-se particularmente à prova e raciocínio sobre propriedades dos programas, e à sua verificação, i.e. à prova de correcção dos programas face às suas especificações.
Leia maisElementos básicos das linguagens de programação
Elementos básicos das linguagens de programação Objetivos: Apresentar os últimos elementos básicos das linguagens de programação Elementos básicos já estudados Entrada (read, readln) Saída (write, writeln)
Leia maisSemântica Operacional
Semântica Conceitos Semântica é o estudo do significado. Incide sobre a relação entre significantes, tais como palavras, frases, sinais e símbolos, e o que eles representam, a sua denotação. Semântica
Leia maisProgramação Estruturada Prof. Rodrigo Hausen VAMOS USAR O LINUX. SE TIVER ENTRADO NO WINDOWS, REINICIE O COMPUTADOR.
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Expressões e Funções VAMOS USAR O LINUX. SE TIVER ENTRADO NO WINDOWS, REINICIE O COMPUTADOR. 1 TIPOS PRIMITIVOS EM C Numéricos:
Leia maisCompiladores - Análise Léxica
Compiladores - Análise Léxica Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Introdução Primeiro passo do front-end: reconhecer tokens Tokens são as palavras do programa O analisador léxico
Leia maisLINGUAGEM ALGORÍTMICA
LINGUAGEM ALGORÍTMICA Adriano Mauro Cansian André Proto UNESP - São José do Rio Preto Linguagem Computacional Introdução! Para uma melhor padronização de nosso estudos, vamos agora definir uma linguagem
Leia maisComputação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.
Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);
Leia maisCompiladores - Análise Léxica
Compiladores - Análise Léxica Fabio Mascarenhas 2017.2 http://www.dcc.ufrj.br/~fabiom/comp Introdução Primeiro passo do front-end: reconhecer tokens Tokens são as palavras do programa O analisador léxico
Leia maisProgramação II. Aula 3
Programação II Aula 3 Algoritmo Algoritmo: REVISÃO qualquer procedimento bem definido que toma algum valor como entrada e produz algum valor como saída. Técnica de refinamentos sucessivos: dividir um processo
Leia maisParadigmas de Programação
Paradigmas de Programação Sintaxe e semântica Aula 4 Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Sintaxe A sintaxe de uma linguagem de programação é a forma
Leia mais08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Elementos Básicos Tipos de dados Dados e seus tipos: Computadores lidam com diversos tipos de dados: numéricos,
Leia maisLinguagens de Programação Aula 14
Linguagens de Programação Aula 14 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Linguagem Haskell Funções Tipos básicos Expressões 2 Na aula de hoje Linguagem Haskell Listas 3 Listas e Tuplas
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisSintaxe e Semântica. George Darmiton da Cunha Cavalcanti.
Sintaxe e Semântica George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução O problema de descrever a sintaxe Métodos formais para descrever a sintaxe Gramáticas de atributos Descrevendo
Leia maisParadigmas de Linguagens de Programação. Expressões e Instruções de Atribuição
Expressões e Instruções de Atribuição Cristiano Lehrer Introdução Expressões são o meio fundamental de especificar computações em uma linguagem de programação: Familiarização com as ordens de avaliação
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Tipos de variáveis comuns em linguagens em geral Identificadores
Leia maisCapítulo 8. Estruturas de Controle no Nível de Sentença
Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computação
Leia maisLinguagens de Programação
Linguagens de Programação de Linguagens de Programação Bruno Lopes Bruno Lopes Linguagens de Programação 1 / 11 Propriedades desejáveis Legibilidade: A leitura do programa é facilmente compreendida? Redigibilidade:
Leia maisA palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,
A palavra ALGORITMO teve origem com um Matemático Persa, al Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah, ou a ciência das Equações que, em última análise suscitaram o desenvolvimento
Leia maisLINGUAGEM C: VARIÁVEIS E EXPRESSÕES
LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve
Leia maisIntrodução ao SciLab. SciLab O que é? Onde obter o programa:
Introdução ao SciLab SciLab O que é? SciLab é uma plataforma interativa para computação numérica composta de uma rica coleção de algoritmos numéricos e de uma linguagem de programação associada. CN04 2010
Leia maisProgramação Funcional - Introdução a Cálculo Lambda
Programação Funcional - Introdução a Cálculo Lambda Cristiano Damiani Vasconcellos Universidade do Estado de Santa Catarina 1. Definição Cálculo lambda (λ-cálculo) é um modelo matemático capaz de ilustrar
Leia maisSEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.
SEMÂNTICA program simples = var x : int := 3 in x := x + 5 end. rode =? Rogério Rocha Roteiro Introdução Sintaxe Semântica Dinâmica (Métodos formais) Operacional Axiomática Denotacional Estática Conclusão
Leia maisESTRUTURA CONDICIONAL E SELEÇÃO
Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ESTRUTURA CONDICIONAL E SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE OU DECISÃO) Até o momento da disciplina vimos algoritmos e programas
Leia maisMatemática Discreta. Fundamentos e Conceitos da Teoria dos Números. Universidade do Estado de Mato Grosso. 4 de setembro de 2017
Matemática Discreta Fundamentos e Conceitos da Teoria dos Números Professora Dr. a Donizete Ritter Universidade do Estado de Mato Grosso 4 de setembro de 2017 Ritter, D. (UNEMAT) Matemática Discreta 4
Leia maisJuliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação
Universidade Federal de Santa Maria Disciplina de Teoria da Computação Quais são as capacidades e limitações fundamentais dos computadores? Funções Computáveis Algoritmo: descrição finitade uma computação
Leia maisVariáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.
Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre@ifc-araquari.edu.br marcoandre@gmail.com marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma
Leia maisDCC008 - Cálculo Numérico
DCC008 - Cálculo Numérico Polinômios de Taylor Bernardo Martins Rocha Departamento de Ciência da Computação Universidade Federal de Juiz de Fora bernardomartinsrocha@ice.ufjf.br Conteúdo Introdução Definição
Leia maisFolha 4.2 Análise sintática ascendente
Folha 4.2 Análise sintática ascendente 1. Considere a gramática G = (S, T, P, S) que representa o cabeçalho de métodos na linguagem Java (sem os modificadores de acesso), onde T = {S, Type, Param, Exception,
Leia maisTeoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.
Teoria da Computação e Algoritmos Introdução à Linguagem Pascal 1 Estrutura de um programa INÍCIO FIM. PROGRAM END.
Leia maisLinguagens de Programação
Linguagens de Programação Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/lp Let é açúcar sintático Notem a semelhança no interpretador entre o código de let e o código de aplicar uma função
Leia maisAula Teórica 03. Comandos Condicionais (Decisão)
Aula Teórica 03 Comandos Condicionais (Decisão) Semana 03 Material Didático Proposto 1 Conteúdos da Aula Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais 2 Programação Estruturada
Leia mais15/03/2018. Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação
Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação Conjunto de regras que definem a forma da linguagem; Como as sentenças podem ser formadas como sequências
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo
Leia mais6) ESTRUTURA DE UM PROGRAMA
Página 1 de 16 6) ESTRUTURA DE UM PROGRAMA = = program ; = uses
Leia maisNúmeros Inteiros Algoritmo da Divisão e suas Aplicações
Números Inteiros Algoritmo da Divisão e suas Aplicações Diferentemente dos números reais (R), o conjunto dos inteiros (Z) não é fechado para a divisão. Esse não-fechamento faz com que a divisão entre inteiros
Leia maisLinguagens Formais e Problemas de Decisão
Linguagens Formais e Problemas de Decisão Mário S. Alvim (msalvim@dcc.ufmg.br) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim (msalvim@dcc.ufmg.br) Linguagens Formais e Problemas
Leia maisUniversidade Federal de Viçosa Centro de Ciências Exatas Departamento de Matemática
Universidade Federal de Viçosa Centro de Ciências Exatas Departamento de Matemática a Lista MAT 146 - Cálculo I 018/I DERIVADAS Para este tópico considera-se uma função f : D R R, definida num domínio
Leia mais2.2.5 EXPRESSÕES - Regras para o cálculo de valores
Métodos de Programação I Departamento de Matemática, FCTUC 30 2.2.5 EXPRESSÕES - Regras para o cálculo de valores As expressões fornecidas ao computador, quer tenham variáveis, constantes ou apenas literais,
Leia maisIntrodução a Programação
Introdução a Programação Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula 02 Primeiro Programa Roteiro Primeiros Passos Variáveis Expressões Comandos
Leia maisMatemática Discreta para Ciência da Computação
Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação
Leia maisSEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica
UNIVERSIDADE ESTADUAL DE SANTA CRUZ CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO DOCENTE: ROGÉRIO VARGAS DISCENTE: MARIANNA NOVAES Semântica SEMÂNTICA Semântica é a área
Leia maisLinguagens de Programação. Marco A L Barbosa
Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl
Leia maisArquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Leia maisLFA. Provas formais; Indução; Sintaxe e Semântica Teoria dos Conjuntos
LFA Provas formais; Indução; Sintaxe e Semântica Teoria dos Conjuntos Técnicas de Demonstração Um teorema é uma proposição do tipo: p q a qual, prova-se, é verdadeira sempre que: p q Técnicas de Demonstração
Leia maisProgramação Estruturada
Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar
Leia maisIteração e Pontos Fixos
Iteração e Pontos Fixos Iteração é um dos pontos chave da programação numérica. Iterar consiste em repetir uma mesma operação diversas vezes levando a uma aproximação cada vez melhor da solução exata.
Leia maisProgramação I Apresentação
Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação
Leia maisCapítulo 2: Procedimentos e algoritmos
Capítulo 2: Procedimentos e algoritmos Para estudar o processo de computação de um ponto de vista teórico, com a finalidade de caracterizar o que é ou não é computável, é necessário introduzir um modelo
Leia maisAula 6: Entrada e Saída
Aula 6: Entrada e Saída Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Entrada e Saída Programação de Computadores IV 1 / 29 Agenda 1 Revisão e Contexto
Leia maisUNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferentes computadores podem ter diferentes arquiteturas e os diversos tipos de linguagem de programação.
Leia maisProcedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar
Leia maisProf. Esp. Andrew Rodrigues 1
Prof. Esp. Andrew Rodrigues www.andrewrodrigues.com.br www.andrewrodrigues.com.br 1 PHP em Ação PHP é uma linguagem de programação que pode fazer todo o tipo de coisas: avaliar dados de formulários enviados
Leia maisProgramação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157
Leia maisFundamentos da Programação
Fundamentos da Programação Solução do Primeiro Teste 29 de Março de 2014 09:00 10:30 1. (1.0) O que é um processo computacional? Qual a relação entre um programa e um processo computacional? Um processo
Leia maisProgramação de Computadores
Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo
Leia maisLinguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013
Linguagem Haskell Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação Tiago Carneiro 19 Agosto 2013 1 1 Linguagem Haskell Linguagem de programação funcional É um paradigma de programação
Leia maisUma introdução ao GAP
Uma introdução ao GAP O nome GAP, advém de Groups, Algorithms and Programming. Trata-se de um sistema computacional inicialmente concebido para trabalhar na área da álgebra. Álgebra (Curso de CC) Ano lectivo
Leia maisCapítulo 7. Expressões e Sentenças de Atribuição
Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário
Leia maisIntrodução à Programação
Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de
Leia maisPortuguês Estruturado
Português Estruturado Português Estruturado Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambigüidades. O português estruturado é, na verdade,
Leia maisSintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)
Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Não-terminais são nomes mnemônicos colocados entre parênteses angulares. Vocabulário terminal formado por
Leia maisProgramação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Hugo de Oliveira Barbalho hbarbalho@ic.uff.br Material produzido pelo professor: Leandro Augusto Frata Fernandes (laffernandes@ic.uff.br)
Leia maisAlgoritmos I Aula 13 Linguagem de Programação Java
Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto
Leia maisParadigmas de Programação
Paradigmas de Programação Fabrício Olivetti de França 14 de Junho de 2018 1 λ-cálculo 2 Computabilidade Computabilidade é uma área de estudo central da Ciência da Computação. Ela estuda a possibilidade
Leia maisAula 11: Laços e exercícios
Aula 11: Laços e exercícios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Manipulação de laços Exercício 2 /
Leia maisProgramação I Aula 11 Mais sobre ciclos e iteração
Programação I Aula 11 Mais sobre ciclos e iteração Pedro Vasconcelos DCC/FCUP 2017 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 11 Mais sobre ciclos e iteração 2017 1 / 26 Nesta aula Vamos ver a iteração
Leia maisCompiladores. Prof. Bruno Moreno Aula 8 02/05/2011
Compiladores Prof. Bruno Moreno Aula 8 02/05/2011 RECONHECIMENTO DE TOKENS Reconhecimento de Tokens Até aqui aprendemos a identificar tokens Para reconhecimento, a única abordagem utilizada foi árvores
Leia maisAula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias
SCC 12 - Introdução à Programação para Engenharias Tipos de Dados e Variáveis Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes
Leia maisProgramação de Computadores:
Instituto de C Programação de Computadores: Introdução ao FORTRAN Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Introdução ao FORTRAN Cinco aspectos
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br
Leia maisINE5416 Paradigmas de Programação. Ricardo Azambuja Silveira INE CTC UFSC E Mail: URL:
INE5416 Paradigmas de Programação Ricardo Azambuja Silveira INE CTC UFSC E Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Conceitos Léxica estudo dos símbolos que compõem uma linguagem Sintaxe
Leia maisAfirmações Matemáticas
Afirmações Matemáticas Na aula passada, vimos que o objetivo desta disciplina é estudar estruturas matemáticas, afirmações sobre elas e como provar essas afirmações. Já falamos das estruturas principais,
Leia maisAula 5 - Mais C e repetição
Vamos nesta aula mostrar mais detalhes e a forma geral dos comandos C vistos até agora. O comando de atribuição A forma geral do comando de atribuição é: = A expressão
Leia maisUnidade 5: Introdução à Programação com Python Prof. Daniel Caetano
Informática para Engenharia 1 Unidade 5: Introdução à Programação com Python Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação com a linguagem Python. Bibliografia:
Leia maisI1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.
Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis
Leia maisIntrodução à Programação / Programação I
Introdução à Programação / Programação I Aula 6: Mais sobre ciclos Rita P. Ribeiro 2018/2019 Departamento de Ciência de Computadores Nesta aula 1. Ciclos for 2. Ciclos while 3. Saída e continuação num
Leia maisExpressões e sentença de atribuição
Expressões e sentença de atribuição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia mais