Paradigmas de Programação

Tamanho: px
Começar a partir da página:

Download "Paradigmas de Programação"

Transcrição

1 Paradigmas de Programação Sintaxe e semântica Aula 4 Prof.: Edilberto M. Silva Prof. Edilberto Silva / edilms.eti.br

2 Sintaxe A sintaxe de uma linguagem de programação é a forma de suas expressões, declarações e unidades de programa. Também pode ser definida como o conjunto de regras que determinam que construções estão corretas e quais não estão. Algumas aplicações são melhor acomodadas pela sintaxe de uma linguagem do que outras. Por exemplo, a sintaxe de FORTRAN foi projetada para expressar programas matemáticos, enquanto que a de BASIC é uma boa opção para tornar o programa compreensível para não-programadores. As linguagens mais modernas como C, C++ e Java possuem uma sintaxe que permite mais facilmente a expressão de estruturas de controle.

3 Duas Abordagens para Descrição de Linguagens de Programação Descrições Informais Utiliza linguagem natural É imprecisa: permite a ocorrência de erros de interpretação Descrições Formais Utiliza uma linguagem matemática Possui significado bem definido: Evita erros de interpretação Possibilita a utilização de metodologias de apoio a projetos

4 Vantagens da Utilização de Métodos Formais Interface entre projetistas, implementadores e usuários Projetista: Define precisamente a linguagem desejada Permite a identificação precoce de erros Implementador: Possibilita a utilização de geradores (semi-)automáticos Dificulta o aparecimento de erros Usuários: Produção de bons manuais da linguagem

5 Sintaxe Define a forma e estrutura de uma linguagem Símbolos, palavras, frases e sentenças (estruturas) Principal formalismo: Gramáticas Livres de Contexto e Expressões Regulares Notação mais utilizada: BNF (Backus-Naur Form)

6 Gramáticas Livres de Contexto Estrutura principal: Comando <-- [[ if Expressão then Comando else Comando ]] Significado: Um Comando da linguagem definida pode ser formado pela palavra chave if seguida de uma Expressão da linguagem, da palavra chave then, de um Comando da linguagem, da palavra chave else, e de um outro Comando da linguagem.

7 Sintaxe Concreta x Sintaxe Abstrata Sintaxe concreta: Descreve a estrutura da linguagem com todos os detalhes. Considera elementos estéticos como comentários, palavras reservadas, precedência de operadores, e outros açucares sintáticos. Utilizado para construir reconhecedores para programas. Sintaxe abstrata: Descreve apenas os elementos relevantes da linguagem de programação. Ignora comentários e outros elementos que não contribuem para a semântica do programa Utilizada para representar programas internamente no compilador

8 Mais Detalhes... Esse formalismo será estudado mais detalhadamente na disciplina de Teoria e Implementação de Linguagens de Computacionais

9 Semântica Objetivo: Descrever o significados das estruturas do programa expressos na sua sintaxe Tipos de semântica Semântica estática: Descreve as características de uma programa válido Semântica dinâmica: Descreve os resultados da execução do programa

10 Formalismos Utilizados Ao contrário da sintaxe, não existe ainda um formalismo aceito globalmente para descrever a semântica da linguagem Exemplos de formalismos: Semântica Operacional Estrutural, Máquinas de Estado Abstratas, Semântica Denotacional, Semântica de Ações, Montages, etc.

11 Semântica De Ações Formalismo para definição de linguagens de programação. Define um mapeamento da sintaxe do programa para o seu significado. Significado de programa é dado através da notação de ações.

12 Notação de Ações Biblioteca que descreve os principais conceitos encontrados em linguagens de programação que serão estudados nesse curso (valores, bindings, memória, etc.) Durante esse curso veremos para cada conceito estudado os operadores que descrevem as propriedades fundamentais de cada conceito

13 Definição de Ações Uma ação é uma entidade que pode ser executada. Quando uma ação é executada ela pode: Terminar com sucesso Terminar com um erro Gerar uma exceção (escape) Não-terminar (executar para sempre) Durante a execução de uma ação ela produz e consome vários tipos de informação: (transientes, bindings, memória, etc.)

14 Semântica de Ações Faceta Básica A faceta básica define operadores que não manipulam nenhum tipo de informação apenas controlam o fluxo do programa Principais Operadores complete -- Executa com sucesso sem produzir nenhuma informação. fail -- Produz uma falha na execução da ação a and then b -- Executa as ações a e b sequêncialmente a or b -- Executa uma das ações e se esta falhar a outra ação será executada.

15 Exemplos de Ações: complete and then complete complete and then fail

16 Exemplo de Descrições Comandos vazio Sintaxe: Comando --> [[ ; ]] Semântica: execute _ :: Comando --> action. execute [[ ; ]] = complete.

17 Exemplo de Descrições Sequência de Comandos: Sintaxe: Comando --> [[ Comando Comando ]] Semântica: execute _ :: Comando --> action. execute [[ c 1 c 2 ]] = execute c 1 and then execute c 2.

18 Semântica de Ações -Faceta Funcional A faceta funcional define ações que manipulam valores temporários (transitórios) produzidos pela execução de um programa. Utilização principal: Descrição da manipulação de valores e como expressões são avaliadas em um programa. Principais Operadores give e -- produz o valor resultante da avaliação da expressão e. x then y -- Executa as ações x e y seqüencialmente, os valores transitórios produzidos por x serão repassados para a ação y. the given t # n -- Expressão (produtor) que recupera o n- ésimo valor passado para essa ação e verifica se este é do tipo t.

19 Exemplos de Ações give 10 give 20 then give sum(2,the given integer#1) give 1 and then give 2 then give product(the given integer#1, the given integer # 2)

20 EXP1 Linguagens de Expressões Aritméticas Demostra a utilização de valores em LP Estrutuas: Constantes numéricas: 1,2,3, etc. Operações fundamentais: * 2 Etc.

21 Descrição de EXP1 Constantes Numéricas. Sintaxe: Expressão <-- [[ Integer ]]. Semântica: avalie _ :: Expressão --> action. avalie [[ x : Integer ]] = give x.

22 Descrição de EXP1 Soma de Expressões. Sintaxe: Expressão <-- [[ Expressão + Expressão ]]. Semântica: avalie _ :: Expressão --> action. avalie [[ x + y ]] = avalie x and then avalie y then give sum(the given integer#1, the given integer#2).

Introdução à Programação

Introdução à Programação Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira

Leia mais

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.

SEMÂ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 mais

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Aula 03 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação Linguagens de Programação A primeira linguagem de programação foi criada por Ada Lovelace. Amiga

Leia mais

Sintaxe e Semântica. George Darmiton da Cunha Cavalcanti.

Sintaxe 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 mais

Fundamentos de Algoritmos (5175/31)

Fundamentos de Algoritmos (5175/31) UEM/CTC Departamento de Informática Curso: Ciência da Computação Professor: Flávio Rogério Uber Fundamentos de Algoritmos (5175/31) Material Original: Prof. Yandre Maldonado e Gomes da Costa (UEM/DIN)

Leia mais

Linguagens de Programação Conceitos e Técnicas. Introdução

Linguagens de Programação Conceitos e Técnicas. Introdução Linguagens de Programação Conceitos e Técnicas Introdução Razões para Estudar LPs Maior capacidade de desenvolver soluções computacionais para problemas Maior habilidade ao usar uma LP Maior capacidade

Leia mais

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa Desenvolvimento de programas 1 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Análise do problema 2 Conhecer exatamente o que o problema

Leia mais

Implementação de Linguagens

Implementação de Linguagens Implementação de Linguagens Pedro Vasconcelos DCC/FCUP 11 de Abril de 2016 Objectivos Introdução à implementação de linguagens de programação funcionais. Enfoce sobre técnicas de interpretação/compilação

Leia mais

Tipos Abstratos de Dados. Estrutura de Dados

Tipos Abstratos de Dados. Estrutura de Dados Tipos Abstratos de Dados Tipo Abstrato de Dados ou TAD Idéia principal: desvincular o tipo de dado (valores e operações) de sua implementação: O que o tipo faz e não como ele faz! Vantagens da desvinculação:

Leia mais

Linguagens de Programação Conceitos e Técnicas. Amarrações

Linguagens de Programação Conceitos e Técnicas. Amarrações Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 04 Sintaxe e Semântica Edirlei Soares de Lima Sintaxe e Semântica A descrição de uma linguagem de programação envolve dois aspectos principais:

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

Capítulo 2 Operadores. A função scanf()

Capítulo 2 Operadores. A função scanf() Capítulo 2 Operadores A função scanf() A função scanf() é outra das funções de E/S implementadas em todos os compiladores e nos permite ler dados formatados da entrada padrão (teclado). Sintaxe: scanf(

Leia mais

Prof. Adriano Maranhão COMPILADORES

Prof. Adriano Maranhão COMPILADORES Prof. Adriano Maranhão COMPILADORES LINGUAGENS: INTERPRETADAS X COMPILADAS Resumo: Linguagem compilada: Se o método utilizado traduz todo o texto do programa, para só depois executar o programa, então

Leia mais

Conceitos básicos de algoritmos

Conceitos básicos de algoritmos Conceitos básicos de algoritmos Operadores Aritméticos Unários: +, - Exemplos: +1-5.9... var a: inteiro... a

Leia mais

Abaixo iremos pormenorizar cada um de seus atributos:

Abaixo iremos pormenorizar cada um de seus atributos: 1 PYTHON Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. A linguagem foi projetada com a filosofia

Leia mais

JavaScript (Elementos de Programação e Programação Básica)

JavaScript (Elementos de Programação e Programação Básica) Linguagem de Programação para Web JavaScript (Elementos de Programação e Programação Básica) Prof. Mauro Lopes 1 Objetivos Iniciaremos aqui o nosso estudo sobre a Linguagem de Programação JavaScript. Apresentaremos

Leia mais

Linguagens Formais e Autômatos. Conceitos Básicos Prof. Anderson Belgamo

Linguagens Formais e Autômatos. Conceitos Básicos Prof. Anderson Belgamo Linguagens Formais e Autômatos Conceitos Básicos Prof. Anderson Belgamo Introdução Teoria das Linguagens Formais Originariamente desenvolvida na década de 1950. Objetivo inicial: desenvolver teorias relacionadas

Leia mais

Introdução à Computação: Máquinas Multiníveis

Introdução à Computação: Máquinas Multiníveis Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Programação de Computadores:

Programação de Computadores: Instituto de C Programação de Computadores: Introdução a Algoritmos (Parte II) Luis Martí Instituto de Computação Universidade ederal luminense lmarti@ic.uff.br - http://lmarti.com Roteiro da Aula de Hoje

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Para aprender uma linguagem de programação podemos começar por conhecer os vocábulos ou símbolos que formam o seu léxico e depois aprender como esses vocábulos integram as instruções (frases) que compõe

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Pseudocódigo e Estruturas Básicas de Controle 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 mais

A 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, 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 mais

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 1ª Parte Prof. Sandra Pais Soares Linguagens de Programação Linguagens de Programação Uma

Leia mais

Análise Sintática. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 18

Análise Sintática. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 18 Análise Sintática Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Outubro, 2016 1 / 18 Sumário 1 Introdução 2 Derivações 2 / 18 1 Introdução 2 Derivações 3 /

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) Programas Programas são seqüências de instruções

Leia mais

Linguagens de Programação Aula 13

Linguagens de Programação Aula 13 Linguagens de Programação Aula 13 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Suporte para a programação orientada a objetos 2 Na aula de hoje Programação Funcional Linguagem Haskell 3 Roteiro

Leia mais

Lógica de Programação: aula 2. Dariel Mazzoni Maranhão. Uninove: Universidade Nove de Julho. 22 de agosto de 2010

Lógica de Programação: aula 2. Dariel Mazzoni Maranhão. Uninove: Universidade Nove de Julho. 22 de agosto de 2010 Uninove: Universidade Nove de Julho 22 de agosto de 2010 Tipos de Dados Primitivos São informações manipuladas pelos usuários. Classificam-se em quatro tipos: Inteiro; Tipos de Dados Primitivos São informações

Leia mais

Material Didático Proposto

Material Didático Proposto Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão para Coordenação das Atividades Pedagógicas da Disciplina BCC701 CAP-BCC701 www.decom.ufop.br/bcc701 2014-1 Material

Leia mais

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Dados em Algoritmos Quando escrevemos nossos programas, trabalhamos com: Dados que nós fornecemos ao programa Dados

Leia mais

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN Fundamentos de Programação Linguagem C++ Introdução, identificadores, tipos de dados Prof. Bruno E. G. Gomes IFRN 1 Linguagem de Programação Constituída por símbolos e por regras para combinar esses símbolos

Leia mais

Análise Sintática - Final

Análise Sintática - Final MAB 471 2011.2 Análise Sintática - Final http://www.dcc.ufrj.br/~fabiom/comp LR(k ) vs LL(k ) Encontrando o próximo passo em uma derivação LR(k) Cada redução na análise detectável com o contexto esquerdo

Leia mais

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos.

Apostila de Fortran. É uma pseudo-linguagem a qual oferece recursos para que o programador possa codificar e testar os seus algoritmos. Apostila de Fortran Fortran Uma das linguagens de programação mais velhas, o FORTRAN foi desenvolvido por uma equipe de programadores conduzida por John Backus na IBM, e foi primeiramente publicada em

Leia mais

Compiladores - Gramáticas

Compiladores - Gramáticas Compiladores - Gramáticas Fabio Mascarenhas 2015.2 http://www.dcc.ufrj.br/~fabiom/comp Ambiguidade Uma gramática é ambígua se existe alguma cadeia para qual ela tem mais de uma árvore sintática De maneira

Leia mais

CAPÍTULO 5 LINGUAGEM LEGAL E EXTENSÕES PROPOSTAS

CAPÍTULO 5 LINGUAGEM LEGAL E EXTENSÕES PROPOSTAS CAPÍTULO 5 LINGUAGEM LEGAL E EXTENSÕES PROPOSTAS Os operadores de manipulação de campos geográficos implementados neste trabalho tiveram como ambiente de desenvolvimento a Linguagem Espacial para Geoprocessamento

Leia mais

TIPOS DE DADOS E VARIÁVEIS

TIPOS DE DADOS E VARIÁVEIS AULA 3 TIPOS DE DADOS E VARIÁVEIS 3.1 Tipos de dados Os dados manipulados por um algoritmo podem possuir natureza distinta, isto é, podem ser números, letras, frases, etc. Dependendo da natureza de um

Leia mais

Nesta aula... Iteração indefinida. 1 Decisões em Python. 2 Funções lógicas. 3 Recursão. 4 Iteração. 5 Ciclo for ou while?

Nesta aula... Iteração indefinida. 1 Decisões em Python. 2 Funções lógicas. 3 Recursão. 4 Iteração. 5 Ciclo for ou while? Nesta aula... 1 2 3 4 indefinida 5 Valores lógicos: booleanos Tipo do Python para guardar os valores lógicos, verdadeiro e falso: booleano (George Bool, matemático inglês) Valores lógicos podem ter apenas

Leia mais

EXPRESSÕES ARITMÉTICAS PARTE 2

EXPRESSÕES ARITMÉTICAS PARTE 2 AULA 6 EXPRESSÕES ARITMÉTICAS PARTE 2 6.1 Operadores aritméticos sobre os reais Como vimos na aula anterior, os operadores aritméticos definem as operações aritméticas que podem ser realizadas sobre os

Leia mais

Projeto de Compiladores

Projeto de Compiladores Projeto de Compiladores FIR Faculdade Integrada do Recife João Ferreira 26 e 27 de fevereiro de 2007 Agenda da Aula Revisão Linguagem de Programação Tradutores Compilador As Fases de Um Compilador Linguagem

Leia mais

MINISTÉRIO DA EDUCAÇÃO

MINISTÉRIO DA EDUCAÇÃO PLANO DE ENSINO CURSO TÉCNICO EM INFORMÁTICA - EMI - 1º ANO PROFESSOR GIL EDUARDO DE ANDRADE DADOS GERAIS Disciplina: Linguagem de Programação Período: 1º Ano- Turma 2016 Período letivo: Ano 2016 Carga

Leia mais

Aula 2: Linguagem Proposicional

Aula 2: Linguagem Proposicional Lógica para Computação Primeiro Semestre, 2015 Aula 2: Linguagem Proposicional DAINF-UTFPR Prof. Ricardo Dutra da Silva Linguagens naturais, como o nosso Português, podem expressar ideias ambíguas ou imprecisas.

Leia mais

Gustavo G. Parma. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL.

Gustavo G. Parma. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL. Introdução à VHDL Gustavo G. Parma Assunto: Introdução à VHDL. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL. 1 Introdução Teórica VHDL, VHSIC (Very High Speed Integrated

Leia mais

Programação WEB I Funções

Programação WEB I Funções Programação WEB I Funções Funções As funções podem ser definidas como um conjunto de instruções, agrupadas para executar uma determinada tarefa. Dentro de uma função pode existir uma chamada a outra função.

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos 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 - P. Blauth Menezes

Leia mais

Curso de PHP. FATEC - Jundiaí TIPOS DE VARIÁVEIS

Curso de PHP. FATEC - Jundiaí TIPOS DE VARIÁVEIS Curso de PHP FATEC - Jundiaí TIPOS DE VARIÁVEIS - Inteiros - Ponto Flutuante - String - Array - Objetos - Booleanos PHP utiliza checagem de tipos dinâmica, ou seja, uma variável vel pode conter valores

Leia mais

Introdução à Linguagem C++

Introdução à Linguagem C++ Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Descrição da Linguagem Pascal Jr.

Descrição da Linguagem Pascal Jr. Descrição da Linguagem Pascal Jr. Características gerais PascalJr possui convenções de tipos igual a linguagem Pascal PascalJr suporta definições de funções Com passagem de parâmetros por valor e por referência

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computaçã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 mais

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR Conforme discutido na última aula, cada operação lógica possui sua própria tabela verdade. A seguir será apresentado o conjunto básico de portas lógicas

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição

Leia mais

Introdução à Lógica de Programação

Introdução à Lógica de Programação Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação 1 Resolução de problemas usando computador Computador: ferramenta para processamento automático de dados Processamento

Leia mais

Outras Linguagens. Aulas 26 e 27. DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos

Outras Linguagens. Aulas 26 e 27. DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos Outras Linguagens Aulas 26 e 27 Francisco Regateiro 1 Objetivos Revisitar os conceitos apresentados na 1ª aula. Reconhecer a aplicabilidade

Leia mais

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO E SISTEMAS DIGITAIS PCS LABORATÓRIO DE PROCESSADORES I

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO E SISTEMAS DIGITAIS PCS LABORATÓRIO DE PROCESSADORES I ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO E SISTEMAS DIGITAIS PCS LABORATÓRIO DE PROCESSADORES I PROGRAMAÇÃO DE MICROPROCESSADORES Autor: Prof. Dr. Carlos

Leia mais

1/ 36. Computação 1 - Python Aula 1 - Teórica: Introdução

1/ 36. Computação 1 - Python Aula 1 - Teórica: Introdução 1/ 36 Computação 1 - Python Aula 1 - Teórica: Introdução Conhecendo a turma Experiência com programação e uso do computador Quantos já programaram antes? Quais linguagens? Quantos tem computador em casa

Leia mais

Programação Orientada a Objetos. Manipulação de Exceções

Programação Orientada a Objetos. Manipulação de Exceções Programação Orientada a Objetos Manipulação de Exceções Cristiano Lehrer, M.Sc. Introdução à Manipulação de Exceções (1/2) Em uma linguagem sem manipulação de exceção: Quando ocorre uma exceção, o controle

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então

CURSO BÁSICO DE PROGRAMAÇÃO AULA 3. Revisão Estrutura de Decisão Se Então CURSO BÁSICO DE PROGRAMAÇÃO AULA 3 Revisão Estrutura de Decisão Se Então Revisão da aula anterior 1. Variáveis 2. Estrutura de um Algoritmo 3. Operadores 4. Visualg Variável Revisão da aula anterior É

Leia mais

Princípios da Engenharia de Software aula 03

Princípios da Engenharia de Software aula 03 Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos

Leia mais

Logica de Programacao. Jorge Augusto F. de Souza Edward Boszczowski

Logica de Programacao. Jorge Augusto F. de Souza Edward Boszczowski Logica de Programacao Jorge Augusto F. de Souza Edward Boszczowski Roteiro: O que é lógica de programação A importância do papel e caneta O que é algoritmo Pseudocódigo Diagrama de Blocos Diagrama de Chapin

Leia mais

Aula 1 Java Prof. Dr. Sylvio Barbon Junior

Aula 1 Java Prof. Dr. Sylvio Barbon Junior 5COP101 Linguagens de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Razões para Estudar Conceitos de LP; 2) Domínios das Linguagens de Programação 3)

Leia mais

Fábio Rodrigues / Israel Lucania

Fábio Rodrigues / Israel Lucania Fábio Rodrigues / Israel Lucania Variável é um local na memória principal, isto é, um endereço que armazena um conteúdo. Em linguagem de alto nível nos é permitido dar nomes a esse endereço, facilitando

Leia mais

Analisador Léxico parte II

Analisador Léxico parte II Analisador Léxico parte II Compiladores Mariella Berger Sumário Definições Regulares Gerador de Analisador Léxico Flex Exemplos As fases de um Compilador Análise Léxica Análise Sintática ANÁLISE Análise

Leia mais

Centro Universitário do Triângulo

Centro Universitário do Triângulo Centro Universitário do Triângulo Cálculo Lambda 1. Introdução A elaboração de modelos de computação (resolução de problemas por uma máquina) baseia-se em trabalhos de dois pesquisadores com enfoques bastante

Leia mais

Lógica de Programação Atividade Avaliativa 1 RESPOSTAS

Lógica de Programação Atividade Avaliativa 1 RESPOSTAS Lógica de Programação Atividade Avaliativa 1 RESPOSTAS Avaliação individual. A interpretação das questões faz parte da avaliação. Não é permitida conversa bem como troca de materiais entre os alunos; 1)

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Aula 2 Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno O que

Leia mais

Linguagens de Programação 2016/2

Linguagens de Programação 2016/2 Linguagens de Programação 2016/2 Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Antes

Leia mais

Programação Básica. Estrutura de um algoritmo

Programação Básica. Estrutura de um algoritmo Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse

Leia mais

Introdução a Programação

Introduçã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 mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Aula 5 Elementos Fundamentais de Controle Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

Leia mais

Aplicação. Programa Linguagem de Alto Nível. Programa em Linguagem Assembly. Programa em Linguagem Máquina

Aplicação. Programa Linguagem de Alto Nível. Programa em Linguagem Assembly. Programa em Linguagem Máquina Níveis de Abstracção Nível 5 Nível 4 Nível 3 Nível 2 Nível 1 Nível 0 Aplicação Programa de Alto Nível Programa em Assembly Programa em Máquina Micro-programa em de Transferência de Registos Sistema Digital

Leia mais

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo Linguagem Python Inteligência Artificial Aula 7 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Introdução Características de Python Rodando programas Módulos Tipos básicos Números e variáveis Strings

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens

Leia mais

Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada e Saída básica

Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada e Saída básica Universidade Federal de Ouro Preto -UFOP Departamento de Computação - DECOM Programação de Computadores I BCC701 www.decom.ufop.br/moodle Ambiente Scilab Variáveis, expressões, comando de atribuição Entrada

Leia mais

Working 03 : Conceitos Básicos II

Working 03 : Conceitos Básicos II Universidade Federal do Espirito Santo Centro Tecnologico Working 03 : Conceitos Básicos II Objetivos: Dominar a construção de estruturas de seleção em C; Aperfeiçoarse na resolução de problemas, da primeira

Leia mais

Livro texto: Capítulo 1

Livro texto: Capítulo 1 Livro texto: Capítulo 1 Bancos de dados (BD) No decorrer do dia, a maioria de nós se depara com atividades que envolvem alguma interação com os BD s banco reservas em um hotel compra de passagens aéreas

Leia mais

Aula 02. MC Algoritmos e Programação de Computadores. Algoritmos: Definição e Exemplos.

Aula 02. MC Algoritmos e Programação de Computadores. Algoritmos: Definição e Exemplos. Aula 02 MC 102 - Algoritmos e Programação de Computadores Algoritmos: Definição e Exemplos. 2o. Sem. 2007 Algoritmos e Programação de Computadores - Turmas I J K L 1 Programação de Computadores Atividade

Leia mais

BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade

BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 1Q-2016 1 1995 2015 2 Custo de um algoritmo e funções de complexidade Introdução

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Parte 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Introdução a Algoritmos - Revisão

Introdução a Algoritmos - Revisão Introdução a Algoritmos - Revisão O computador é uma máquina capaz de seguir uma certa espécie de algoritmos, chamados programas Ele possui uma memória, capaz de armazenar dados, e uma unidade aritmética,

Leia mais

Programas Interativos

Programas Interativos Programação Funcional DECOM UFOP 2012-1 Aula prática Capítulo 8 Prof. José Romildo Malaquias Programas Interativos Resumo Nesta aula pretende-se explorar construção de programas interativos usando ações

Leia mais

Algoritmos e Estruturas de Dados

Algoritmos e Estruturas de Dados Algoritmos e Estruturas de Dados Introdução Prof. Sinaide Nunes Bezerra Vídeoaulas e exercícios em linguagem C, acesse www.mathgraph.com.br 1 de novembro de 2015 Sumário 1 Introdução

Leia mais

Programação de Computadores I Conhecendo a Linguagem C. Prof. Ramon Figueiredo Pessoa

Programação de Computadores I Conhecendo a Linguagem C. Prof. Ramon Figueiredo Pessoa Programação de Computadores I Conhecendo a Linguagem C Prof. Ramon Figueiredo Pessoa 1 Variáveis e tipos Variáveis são simplesmente posições de memória que o compilador aloca ao programa Mas quantas posições

Leia mais

Algoritmos 2 - Introdução

Algoritmos 2 - Introdução DAINF - Departamento de Informática Algoritmos 2 - Introdução Prof. Alex Kutzke (http://alex.kutzke.com.br/courses) 19 de Agosto de 2015 Slides adaptados do material produzido pelo Prof. Rodrigo Minetto

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA ESCRITO

Leia mais

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Sistema Computacional Peopleware (usuário) Software (programas) Hardware (máquina) Hardware Corresponde à parte material, aos componentes

Leia mais

ANÁLISE E PROJETO DE SISTEMAS

ANÁLISE E PROJETO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Profª Andrea Padovan Jubileu Definição de SI e software Processo de Software Modelagem de Sistemas 2 Um Sistema de Informação Baseado em Computador (SIBC) é parte integrante

Leia mais

Programação Imperativa. Lição n.º 1 Preliminares

Programação Imperativa. Lição n.º 1 Preliminares Programação Imperativa Lição n.º 1 Preliminares Preliminares Apresentação. A programação na LEI. O que é um computador? O que é um programa? Linguagens de programação. A linguagem de programação C. Bibliografia.

Leia mais

Linguagens de Programação. Tipos. Carlos Bazilio

Linguagens de Programação. Tipos. Carlos Bazilio Linguagens de Programação Tipos Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Definições Tipos de dados primitivos: tipos de dados que não são definidos em termos de outros tipos

Leia mais

Análise Sintática II. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 34

Análise Sintática II. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 34 Análise Sintática II Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Outubro, 2016 1 / 34 Sumário 1 Introdução 2 Ambiguidade 3 Análise sintática descendente 4

Leia mais

Pilha. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

Pilha. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira Pilha SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Pilha O que é? Para que serve? 2 Problema: chamada de sub-rotinas Rotina A 1 print A 2 call C 3 call B 4 call D 5 return Rotina B 1 call

Leia mais

Introdução à Linguagem C Variáveis e Expressões

Introdução à Linguagem C Variáveis e Expressões INF1005: Programação 1 Introdução à Linguagem C Variáveis e Expressões 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Programando em C Funções Variáveis Define Operadores e Expressões Entrada e Saída

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade II - Processos de Negócio Identificação Conceitos Modelagem - BPM - UML Processos x Requisitos 1 Processo de negócio CONCEITO Um processo de negócio, processo organizacional

Leia mais

ALGORITMOS AULA 1. Profª Amanda Gondim

ALGORITMOS AULA 1. Profª Amanda Gondim ALGORITMOS AULA 1 Profª Amanda Gondim O que é lógica? NOÇÕES DE LÓGICA A lógica trata da correção do pensamento Ensina-nos a usar corretamente as leis do pensamento É a arte de pensar corretamente A forma

Leia mais

WEBDESIGN. Professor: Paulo Marcos Trentin - Escola CDI de Videira

WEBDESIGN. Professor: Paulo Marcos Trentin -  Escola CDI de Videira WEBDESIGN Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira Introdução ao JavaScript É uma linguagem client-side que possui diversas aplicações,

Leia mais

Computação I: Linguagem de Programação Python

Computação I: Linguagem de Programação Python Computação I: Linguagem de Programação Python reginaldo.re@utfpr.edu.br * Parte da apresentação foi gentilmente cedida pelo prof. Igor Steinmacher Agenda Objetivos Python: conceitos básicos O Ambiente

Leia mais

Sumário. 1.1 Variáveis Globais e Locais Passagem de Parâmetro (por valor por referência) 1

Sumário. 1.1 Variáveis Globais e Locais Passagem de Parâmetro (por valor por referência) 1 Sumário Sobre as Autoras ix Introdução xi 1 Sub-rotinas 1 1.1 Variáveis Globais e Locais 1 1.2 Passagem de Parâmetro (por valor por referência) 1 2 Vetores e Matrizes 7 2.1 Vetores 7 2.2 Matrizes 8 2.2.1

Leia mais

Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais. QI ESCOLAS E FACULDADES Curso Técnico em Informática Sistema Operacional Unidade 11.2 Shell Script: estruturas condicionais Curso Técnico em Informática SUMÁRIO SHELL SCRIPT COM IF... 3 OPERADORES RELACIONAIS... 3 COMPARAÇÕES EM SCRIPTS... 3 MAIS OPERADORES...

Leia mais

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Conceitos Básicos. Professor: Juliano Lucas Gonçalves. Conceitos Básicos Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br Agenda Revisão Algoritmos Memória, variáveis e constantes Estrutura básica de um algoritmo em pseudocódigo 2 O que já

Leia mais