Estruturas de Controle

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

Download "Estruturas de Controle"

Transcrição

1 Estruturas de Controle 1 Expressões Expressões são as construções básicas de qualquer LP. São utilizadas para a atribuição de valores a variáveis, ou em estruturas de controle condicionais. Uma expressão geralmente consiste de: um objeto (uma variável ou uma constante); um operando ou função aplicados a um conjunto de objetos e expressões. mleal@inf.puc-rio.br 2

2 Exemplos: Expressões (* (+2 4) 7) Lisp usa notação polonesa a = b < c O significado depende da precedência a = b = c = 0 O significado depende da associação a = sin(b+c) a = (b > c)? x : y O mesmo que if (b>c) then (a=x) else (a=y) a is b Atribuição em Prolog a,b,c = 1,2,3 com vários valores (Lua, Perl, etc). Algumas LPs permitem expressões mleal@inf.puc-rio.br 3 Expressões A avaliação de expressões depende das regras de precedência e associação da LP. Regras de precedência indicam quais operadores tem precedência sobre quais. a + b * c a + (b * c) Regras de associação indicam como os termos de uma expressão são associados durante a avaliação da expressão: a = b = c a = b b = c a = b = c b = c a = b mleal@inf.puc-rio.br 4

3 Expressões A avaliação de expressões em alguns casos implica em efeitos colaterais. Em C a expressão abaixo faz uma atribuição, e testa se o seu valor é igual a zero: if (a=b) atribui b a a e testa se a é diferente de 0 Em algumas LPs a avaliação é feita em curto- circuito: if (a>b) and (c>d) then (c>d) só é testado se (a>b) mleal@inf.puc-rio.br 5 Estruturas de Controle As estruturas de controle de um programa geralmente podem ser classificadas nas seguintes categorias: Desvio explícito; Seleção; Repetição; Recursão. mleal@inf.puc-rio.br 6

4 Desvio Explícito Faz com que a linha de execução seja desviada de forma unilateral para um outro trecho do programa. O exemplo mais comum é o comando goto. Em Pascal o goto é bastante empregado para interromper a execução de uma procedure, já que nestes casos não é possível executar um return. Outro uso comum é na interrupção de loops. mleal@inf.puc-rio.br 7 Desvio Explícito Exemplo em Pascal procedute do_something( x: int) begin for i:= 1 to n do begin if y = 0 then goto 100; end; 100; end; mleal@inf.puc-rio.br 8

5 Desvio Explícito Um outro exemplo seria o if aritmético de Fortran que possui a seguinte sintaxe: IF (expressão) rótulo1, rótulo2, rótulo3 Exemplo: IF (K-100) 10,20,30 10 PRINT *,'K is less than 100.' GO TO PRINT *,'K equals 100.' GO TO PRINT *,'K is greater than 100.' 40 CONTINUE mleal@inf.puc-rio.br 9 Desvio Explícito Diversas linguagens permitem a interrupção de uma repetição através do comando break, que desvia a linha de execução para o comando seguinte ao comando de repetição. Java suporta ainda o comando continue que faz com que a execução do corpo da repetição seja desviada imediatamente para o começo da repetição. mleal@inf.puc-rio.br 10

6 Desvio Explícito Exemplo em Java while(true) { // equivalente a for(;;) i++; int j = i * 27; if(j == 1269) break; // Sai do loop if(i % 10!= 0) continue; // Volta para // início do loop System.out.println(i); System.out.println( fim ); // break executa // este comando mleal@inf.puc-rio.br 11 Seleção O exemplo mais comum é o comando if-then then-elseelse disponível na maioria das LPs imperativas. Um problema comum na utilização deste comando ocorre quando é necessário fazer um aninhamento: if (a>b) then if (c>d) then else Em Pascal e C o else pertence ao if mais próximo. Em Algol, Ada e Modula 2 sempre é necessário usar um end para eliminar a ambiguidade. mleal@inf.puc-rio.br 12

7 Seleção Modula 2 e Lua oferecem o comando elseif que permite a construção de estruturas conhecidas como pentes: if a<0 then elseif a=0 then elseif a=1 then else mleal@inf.puc-rio.br 13 Seleção Outro comando de seleção bastante comum é o switch: switch ( e ) { case v1: s1; case v2: s2; case v3: s3;break; case v4: s4;break; default: s5; O primeiro comando a ser executado é aquele rotulado pelo valor da expressão, ou por default se o valor da expressão não corresponde a nenhuma alternativa. O comando break,, quando encontrado, encerra a execução do comando switch inteiro. mleal@inf.puc-rio.br 14

8 Repetição Nos comandos de repetição desejamos a execução repetida, de forma controlada, de uma ação ou série de ações. A ação indicada é executada enquanto se mantiver verdadeira uma condição de continuação,, ou enquanto uma condição de término se mantiver falsa. Os principais exemplos de repetição são o while, repeat, loop e for. mleal@inf.puc-rio.br 15 Repetição O comando for usualmente tem a seguinte forma (Pascal e Modula 2): 2 for i: = first to last by step do end; Nem todas as linguagens permitem que os índices ou os limites do loop possam ser mudados dentro do corpo da repetição. Em LPs como Pascal Fortran, Algol, Ada e Lua a expressão é avaliada apenas uma vez, quando o comando é encontrado. mleal@inf.puc-rio.br 16

9 Repetição Em C/C++ e Java a estrutura for tem a seguinte forma: for (i = first; i<= last; i+= last){ Em Lua temos: for i=first,last,step do end Em C/C++ e Java os índices e limites são tratados como variáveis comuns, podendo ser modificados a qualquer tempo. mleal@inf.puc-rio.br 17 Repetição Nem sempre o for usa valores numéricos. Um exemplo importante são os iteradores, construções que permitem atravessar todos os elementos de uma estrutura de dados qualquer. Em Lua pode-se usar um iterador para percorrer todos os elementos de uma tabela: table = {x=1, y= 3, z= 5 for index,value in table do print (index.. =..value) end mleal@inf.puc-rio.br 18

10 Repetição Perl e C# suportam iterações através do comando foreach. Um exemplo em = (1,2,3,4) foreach $b (@a){ print $b; Um exemplo em C# int[] arr = new int [] {0,1,2,5,7,8,11; foreach (int i in arr) { x = x+i; mleal@inf.puc-rio.br 19 Repetição O comando loop disponível em Modula 2 e Ada cria um loop contínuo que só pode ser interrompido através de um comando exit. Exemplo: LOOP c1; IF e THEN EXIT; c2; END; mleal@inf.puc-rio.br 20

11 Repetição Os comandos while e repeat fazem com que comandos sejam executados repetidamente enquanto existir uma determinada condição lógica. No caso de while a condição é testada antes de ser executado o código da iteração, enquanto no caso de repeat o teste ocorre após a execução. mleal@inf.puc-rio.br 21 Exemplos em Pascal: i:=1; While i<6 do begin writeln(i); i:=i+1; end; i:=1; Repeat writeln(i); i:=i+1; Until i>5; Repetição mleal@inf.puc-rio.br 22

12 Repetição C\C++ C++ e Java suportam as seguintes construções: while (condição) { comandos; do { comandos; while (condição) mleal@inf.puc-rio.br 23 Recursão Em LPs que suportam recursividade, este mecanismo sempre é implementado através de subrotinas. Em Prolog podemos definir uma função para calcular o número de Fibonacci da seguinte forma: fib(1,1). fib(0,1). fib(x,r):- A is X - 1, B is X -2, fib(a,r1),fib(b,r2), R is R1 + R2. mleal@inf.puc-rio.br 24

13 Recursão A definição recursiva de funções pode implicar num desempenho computacional menos eficiente, já que para cada invocação pode ser necessário adicionar um novo registro de ativação na pilha de memória. Na maioria dos casos é possível definir funções recursivas através de estrutura de repetições tradicionais. mleal@inf.puc-rio.br 25 Exemplo MDC Recursão int mdc (int a, int b){ if (a == b) return a; else if (a > b) return mdc (a-b, b); else return mdc (a, b-a); b int mdc (int a, int b){ while (a!= b){ if (a>b) a= a-b; a else b= b-a; b return a; mleal@inf.puc-rio.br 26

14 Exceções Exceções são quaisquer eventos registrados durante a execução de um programa que impedem a continuação normal da execução. Exemplos simples são divisão por zero, erro de leitura em um arquivo, a passagem de um parâmetro com um tipo incorreto durante a execução, o acesso a um elemento de um array com índice acima do limite, overflow, etc. LPs modernas suportam o tratamento explícito de exceções, permitindo que o programador defina ações corretivas ou então interrompa a execução de forma apropriada. mleal@inf.puc-rio.br 27 Tratamento de Exceções Exceções usualmente são representadas por objetos de um tipo específico que são lançados durante a execução do programa e se propagam respeitando as regras de escopo. O tratamento de exceções é feito através de rotinas (handlers) responsáveis por capturar as exceções e executar as ações apropriadas. Em algumas LPs exceções podem carregar informações específicas sobre a anormalidade detectada. mleal@inf.puc-rio.br 28

15 Execeções em Ada procedure consulta(in val:integer; out nome:string100)is begin if (val<min) or (val>max) then raise invalido; nome:=tab(val); if nome='' then raise vazio; exception when vazio => nome:= "indefinido"; end consulta; 29 Exceções em Java Em Java o bloco de um programa sujeito a exceções deve ser protegido através da declaração try. Exceções são tratadas por blocos iniciados com o delimitador catch. É possível declarar uma sequência de comandos que deve ser executada em caso de erro através da declaração finally. mleal@inf.puc-rio.br 30

16 Exceções em Java public void writelist() throws IOException{ try { catch (ArrayIndexOutOfBoundsException e) { catch (IOException e) { trow e; finally { lança novamente a exceção mleal@inf.puc-rio.br 31 Exceções em Java public void writelist() { PrintWriter out = null; try { System.out.println("Entering try statement"); out = new PrintWriter( new FileWriter("OutFile.txt")); for (int i = 0; i < size; i++) out.println("value at: " + i + " = " + victor.elementat(i)); catch (ArrayIndexOutOfBoundsException e) { System.err.println("Caught ArrayIndexOutOfBoundsException: " + e.getmessage()); catch (IOException e) { System.err.println("Caught IOException: " + e.getmessage()); finally { if (out!= null) { System.out.println("Closing PrintWriter"); out.close(); else System.out.println("PrintWriter not open"); mleal@inf.puc-rio.br 32

17 Exceções em Java O programador pode definir novas exceções específicas a sua aplicação. Exceções podem ser lançadas em qualquer momento através do comando throw: public Object pop() throws EmptyStackException { if (size == 0) throw new EmptyStackException(); mleal@inf.puc-rio.br 33 Exceções em Java Um método sempre deve declarar todas as exceções que podem ser lançadas. No exemplo anterior teríamos: public void writelist() throws IOException, ArrayIndexOutOfBoundsException { PrintWriter out = null; out = new PrintWriter( new FileWriter("OutFile.txt")); for (int i = 0; i < size; i++) out.println("value at: " + i + " = " + victor.elementat(i)); mleal@inf.puc-rio.br 34

18 Tratamento de Exceções O que acontece com a linha de execução do programa após o tratamento da exceção? Existem duas possibilidades: Continuar a execução a partir do comando que levantou a exceção. Terminar a execução da rotina em que foi levantada a exceção. Esta é a opção mais comum adotada pelas principais LPs. mleal@inf.puc-rio.br 35 Tratamento de Exceções void method A (){ x = B(); int method B (){ try { a=c(); return a+5; catch (DivideByZero e) { return 0; int method C(){ y = m/n; return r; Se n=0 a execução de C é interropida e o erro se propaga até B. Como B sabe como tratar a exceção, a exceção é capturada e tratada. O fluxo de execução é retomado em B, e posteriormente retorna para A. mleal@inf.puc-rio.br 36

Capítulo 8. Estruturas de Controle no Nível de Sentença

Capí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 mais

O que é uma variável?

O que é uma variável? Escopo, Ligação e Ambiente de Execução mleal@inf.puc-rio.br 1 O que é uma variável? Uma variável pode ser definida como uma tupla r nome é um string usado para

Leia mais

Linguagem Java - Introdução

Linguagem Java - Introdução Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean

Leia mais

Exceções. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP

Exceções. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP SCC0504 Programação Orientada a Objetos Exceções Luiz Eduardo Virgilio da Silva ICMC, USP Parte do material foi obtido com os professores: José Fernando Junior (ICMC/USP) Sumário Introdução Tipos de exceção

Leia mais

Linguagens de Programação Conceitos e Técnicas. Expressões e Comandos Prof. Tiago Alves de Oliveira

Linguagens de Programação Conceitos e Técnicas. Expressões e Comandos Prof. Tiago Alves de Oliveira Linguagens de Programação Conceitos e Técnicas Expressões e Comandos Prof. Tiago Alves de Oliveira Expressões Uma expressão é uma frase do programa que necessita ser avaliada e produz como resultado um

Leia mais

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

Linguagens de Programação Conceitos e Técnicas. Expressões e Comandos Linguagens de Programação Conceitos e Técnicas Expressões e Comandos Expressões Uma expressão é uma frase do programa que necessita ser avaliada e produz como resultado um valor Elementos Operadores Operandos

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Expressões Precedência e associatividade de operador Sobrecarga de operador Expressões de modo misto Várias formas de

Leia mais

Estruturas de Controle

Estruturas de Controle Estruturas de Controle Mário Meireles eixeira UMA DEIN ópicos Estruturas de Controle condicionais repetição Expressões Lógicas operadores relacionais operadores lógicos Estruturas de Controle 2 1 Introdução

Leia mais

Paradigmas de Linguagem de Programação. Paradigma Imperativo

Paradigmas de Linguagem de Programação. Paradigma Imperativo Paradigmas de Linguagem de Programação Paradigma Imperativo Paradigma Imperativo Imperare Comandar É o mais antigo de todos; Baseado no modo de funcionamento do computador; São também chamadas de procedurais;

Leia mais

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

PHP: <?php echo(hello World);?> Printa Hello World na página do navegador, mais fácil do que no Java. Nome: Vinícius Meng 3º ano Escrever em tela: public class HelloWorld { public static void main (String[] args) { System.out. println ("Hello World"); Printa Hello World na tela do terminal. echo("hello

Leia mais

4. Constantes. Constantes pré-definidas

4. Constantes. Constantes pré-definidas 4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.

Leia mais

Estruturas de controle no nível de sentença

Estruturas de controle no nível de sentença Estruturas de controle no nível de sentença 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

Leia mais

Capítulo 7. Expressões e Sentenças de Atribuição

Capí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 mais

Programação Estruturada e Orientada a Objetos

Programação Estruturada e Orientada a Objetos INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada e Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

O que é uma Exceção? Call Stack. Java Tratamento de Exceção. de métodos que foram usados até chegar na presente instrução.

O que é uma Exceção? Call Stack. Java Tratamento de Exceção. de métodos que foram usados até chegar na presente instrução. Java Tratamento de Exceção O que é uma Exceção? n Uma exceção é um evento que ocorre durante a execução do programa que interrompe o fluxo normal de instruções. n Quando um erro acontece em um método,

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

Linguagem de Programação e Compiladores

Linguagem de Programação e Compiladores Linguagem de Programação e Compiladores Fernando Antônio Asevedo Nóbrega Instituto de Ciências Matemáticas e de Computação USP SCC-206 Introdução à Compilação 24 de abril de 2012 1 / 20 Sumário 1 Introdução

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa

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

Linguagens de Programação. Fluxo de Controle. Carlos Bazilio

Linguagens de Programação. Fluxo de Controle. Carlos Bazilio Linguagens de Programação Fluxo de Controle Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Fluxo de Controle Mecanismos utilizados para especificar ordem de execução de

Leia mais

Elementos básicos das linguagens de programação

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

Programação Java. Tratamento de Exceções

Programação Java. Tratamento de Exceções Programação Java Tratamento de Exceções Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Motivações para Exceções Um método pode detectar uma falha mas não estar apto a resolver sua

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1 INE5603 Introdução à POO Prof. A. G. Silva 28 de agosto de 2017 Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de 2017 1 / 1 Comandos de decisão simples e compostas Objetivos: Utilização de controles

Leia mais

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Comando WHILE O comando while executa um bloco de comandos enquanto a condição testada for verdadeira (diferente

Leia mais

6) ESTRUTURA DE UM PROGRAMA

6) ESTRUTURA DE UM PROGRAMA Página 1 de 16 6) ESTRUTURA DE UM PROGRAMA = = program ; = uses

Leia mais

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição

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

Tratamento de Exceções. Grupo de Linguagens de Programação Departamento de Informática PUC-Rio

Tratamento de Exceções. Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Tratamento de Exceções Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Terminologia Definições: Exceção é a ocorrência de uma condição anormal durante a execução de um método Falha

Leia mais

Aula 4 Estruturas de Controle

Aula 4 Estruturas de Controle UNIP Universidade Paulista Ciência da Computação Aula 4 Estruturas de Controle Prof. Célio Ricardo Castelano 1 Tópicos Abordados 1) Instruções de seleção em Java: 2) Instruções de repetição em Java: 2

Leia mais

Programação I Estruturas de Repetição

Programação I Estruturas de Repetição Programação I Estruturas de Repetição Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Expressões compactas Frequentemente existe a necessidade de escrever expressões da forma:

Leia mais

C Comandos de Controle

C Comandos de Controle C Comandos de Controle Adriano Cruz adriano@nce.ufrj.br 19 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Revisão da Seção Introdução Comandos de Teste Comandos de

Leia mais

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio)

Tratamento de Exceção. Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de Exceção Programação Orientada a Objetos Java (Rone Ilídio) Tratamento de exceção Exceção é uma contração de Evento de Exceção Evento de exceção impede a execução normal de um programa Quando

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 10 Tratamento de Exceções 1 Conceito Robustez: capacidade de um software continuar seu processamento mesmo sob condições anormais;

Leia mais

Programação de Computadores II TCC /Turma A 1

Programação de Computadores II TCC /Turma A 1 Programação de Computadores II TCC 00.174/Turma A 1 Professor Leandro A. F. Fernandes http://www.ic.uff.br/~laffernandes Conteúdo: Tratamento de exceções Material elaborado pelos profs. Anselmo Montenegro

Leia mais

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 10 de novembro de 2011 Sumário 1 Introdução 2 Paradigma imperativo Modelo

Leia mais

Estruturas de seleção. Prof.: Jesus

Estruturas de seleção. Prof.: Jesus Estruturas de seleção Prof.: Jesus Estrutura de seleção Etapa em um programa onde uma condição é avaliada e, dependendo do resultado, diferentes ações podem ser realizadas Seleção simples Uma ou mais ações

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Carlos Bazilio Isabel Rosseti Depto de Ciência e Tecnologia Pólo Universitário de Rio das Ostras Universidade Federal Fluminense Motivação prever na implementação do sistema situações

Leia mais

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

Fundamentos de Programação em Python

Fundamentos de Programação em Python Fundamentos de Programação em Python Diego Silveira Costa Nascimento Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte diego.nascimento@ifrn.edu.br 23 de junho de 2017 Ementa do

Leia mais

Linguagens de Programação. Marco A L Barbosa

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

Programação Estruturada Aula - Estruturas de Repetição

Programação Estruturada Aula - Estruturas de Repetição Programação Estruturada Aula - Estruturas de Repetição Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 TESTE NO INÍCIO: WHILE Fundamentos TESTE NO INÍCIO: WHILE Estes comandos permitem

Leia mais

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I

Paradigmas. Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I Paradigmas Tradicional Fortran, Algol, Algol-68, Pascal, C, Cobol, PL/I OO Simula-67, Smalltalk, C++, Eiffel, Object Pascal,

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Seleção Múltipla Laços (while, do-while, for) AULA 05

Seleção Múltipla Laços (while, do-while, for) AULA 05 Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Seleção Múltipla Laços (while, do-while, for) AULA 05 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Até aqui...

Leia mais

Expressões e sentença de atribuição

Expressõ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

Tratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo

Tratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo Tratamento de Exceções LPG II Java Tratamento de Exceções Introdução Princípios do tratamento de exceções em Java Cláusula try Cláusula catch Cláusula finally Hierarquia de exceções em Java Considerações

Leia mais

Linguagens de Programação Conceitos e Técnicas. Amarrações Prof. Tiago Alves de Oliveira

Linguagens de Programação Conceitos e Técnicas. Amarrações Prof. Tiago Alves de Oliveira Linguagens de Programação Conceitos e Técnicas Amarrações Prof. Tiago Alves de Oliveira Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável

Leia mais

Introdução ao Fortran 90. Aula 3

Introdução ao Fortran 90. Aula 3 Introdução ao Fortran 90 Aula 3 Usando vetores e matrizes Definição Uma matriz ou vetor consiste de um conjunto retangular de elementos, todos do mesmo tipo e espécie do tipo. Uma matriz ou vetor é um

Leia mais

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos

Leia mais

Aula 11: Desvios e Laços

Aula 11: Desvios e Laços Aula 11: Desvios e Laços Nesta aula explicaremos alguns comandos que podem alterar o fluxo dos seus programas em JavaScript. Você aprenderá a estrutura dos comandos de desvios e laços. Entenderá como funcionam

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Estruturas de Controle (Repetição) Professor: Charles Leite Repetição de Instruções Na resolução de problemas em programação, frequentemente, precisamos repetir uma

Leia mais

Tipos. O Conceito de Tipo

Tipos. O Conceito de Tipo Tipos mleal@inf.puc-rio.br 1 O Conceito de Tipo LPs geralmente permitem a organização de dados em diferentes categorias através do conceito de tipo. Um tipo é definido a partir de um conjunto de valores

Leia mais

C Comandos de Controle

C Comandos de Controle C Comandos de Controle Adriano Cruz adriano@nce.ufrj.br Instituto de Matemática Departamento de Ciência da Computação UFRJ 15 de agosto de 2013 Adriano Cruz adriano@nce.ufrj.br (IM-DCC-UFRJ)C Comandos

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Operadores Lógicos; Estruturas de Controle (Decisão) Professor: Charles Leite Fluxo de Controle A ordem com que as instruções são executadas em um programa é chamada

Leia mais

Expressões e Instruções de Atribuição. George Darmiton da Cunha Cavalcanti

Expressões e Instruções de Atribuição. George Darmiton da Cunha Cavalcanti Expressões e Instruções de Atribuição George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução Expressões Aritméticas Operadores Sobrecarregados Conversões de Tipo Expressões Relacionais

Leia mais

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira Tratamento de Erros Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa é transferido

Leia mais

Recursividade. Objetivos do módulo. O que é recursividade

Recursividade. Objetivos do módulo. O que é recursividade Recursividade Objetivos do módulo Discutir o conceito de recursividade Mostrar exemplos de situações onde recursividade é importante Discutir a diferença entre recursividade e iteração O que é recursividade

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução Exceções São eventos que

Leia mais

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos

Leia mais

CONTROLE DE FLUXO. Algoritmos e Programação. Prof. Alceu Britto Slides cedidos pelo Prof. Edson J. R. Justino (PUCPR) Aula 9 e 10

CONTROLE DE FLUXO. Algoritmos e Programação. Prof. Alceu Britto Slides cedidos pelo Prof. Edson J. R. Justino (PUCPR) Aula 9 e 10 Algoritmos e Programação Prof. Alceu Britto Slides cedidos pelo Prof. Edson J. R. Justino (PUCPR) Aula 9 e 10 UEPG CONTROLE DE FLUXO Estrutura de Controle de Fluxo Comando FOR Comando DO-WHILE Comando

Leia mais

LINGUAGEM C: COMANDOS DE REPETIÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Else Switch Prof. Renato Pimentel 1 Operações relacionais Operações

Leia mais

Recursividade. Métodos iterativos. Prof. Cesar Augusto Tacla. Métodos iterativos utilizam estruturas de repetição

Recursividade. Métodos iterativos. Prof. Cesar Augusto Tacla. Métodos iterativos utilizam estruturas de repetição Recursividade Prof. Cesar Augusto Tacla Métodos iterativos Métodos iterativos utilizam estruturas de repetição For While Do while Normalmente, um método invoca outros métodos, não a si mesmo. 2 1 Recursividade

Leia mais

Python: Exceções, Iteradores e Geradores. Claudio Esperança

Python: Exceções, Iteradores e Geradores. Claudio Esperança Python: Exceções, Iteradores e Geradores Claudio Esperança Exceções Quando um programa encontra dificuldades não previstas, diz se que uma condição excepcional ou uma exceção ocorreu Um erro é uma exceção

Leia mais

Informática II Cap. 4-2

Informática II Cap. 4-2 Cap. 4-2 1 Estruturas de Controlo O VBA tem diversas estruturas de controlo que podemos utilizar para controlar o fluxo de execução dos programas (procedimento ou conjunto de procedimentos que participam

Leia mais

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável - O controlo da execução do programa

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 9 Tratamento de Exceções Assertivas 1 Programa Capítulo 9 Tratamento

Leia mais

Linguagens de Programação Aula 8

Linguagens de Programação Aula 8 Linguagens de Programação Aula 8 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Os tipos de dados de uma linguagem são uma grande parte do que determina o estilo e a utilidade de uma linguagem

Leia mais

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca. COMANDOS DE CONTROLE DE FLUXO Luís Charneca luis.charneca@gmail.com O Comando IF (1) Os comandos de controle de fluxo são aqueles que permitem ao programador alterar a sequência de execução do programa.

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 4. Sistemas de Tratamento de Exceções Exceções genéricas Classes de exceções

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 9 Tratamento de Exceções Assertivas Programa Capítulo

Leia mais

Estruturas de Condição, Iteração, Arrays e Enumareção

Estruturas de Condição, Iteração, Arrays e Enumareção Estruturas de Condição, Iteração, Arrays e Enumareção Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal

Leia mais

Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo

Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo Helder da Rocha www.argonavis.com.br 1 Operadores e controle de fluxo da execução Este módulo explora as estruturas procedurais da

Leia mais

INTRODUÇÃO AO JAVA SCRIPT

INTRODUÇÃO AO JAVA SCRIPT INTRODUÇÃO AO JAVA SCRIPT PROFESSORA: NAAN CARDOSO https://naancardoso.wordpress.com/ INTRODUÇÃO ojavascript é uma linguagem de script oos scripts são executados pelos browsers ojavascript é texto puro

Leia mais

Tratamento de Exceção. Tratamento de Exceções. Vantagens de TE. Exemplos de Exceções. Exemplo: Divide1 (sem TE)

Tratamento de Exceção. Tratamento de Exceções. Vantagens de TE. Exemplos de Exceções. Exemplo: Divide1 (sem TE) DCC / ICEx / UFMG Tratamento de Exceção Tratamento de Exceções Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Uma exceção é uma indicação de problema na execução do programa Exceção foge ao fluxo

Leia mais

Sintaxe Básica de Java Parte 2

Sintaxe Básica de Java Parte 2 Sintaxe Básica de Java Parte 2 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Instruções Condicionais A instrução

Leia mais

LINGUAGEM C CONTROLE DE FLUXO

LINGUAGEM C CONTROLE DE FLUXO LINGUAGEM C CONTROLE DE FLUXO Introdução à Programação Prof. Cayo Fontana SUMÁRIO Instruções Condicionais Simples Composta Seleção Instruções de Repetição Instruções de Desvio INSTRUÇÕES CONDICIONAIS Praticamente

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II TCC- 00.174 Profs.: Leandro A. F. Fernandes (A1) & Marcos Lage (B1) & Isabel RosseJ (C1) (Turma A1) www.ic.uff.br/~laffernandes (Turma B1) www.ic.uff.br/~mlage (Turma C1)

Leia mais

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II JAVA Décima Segunda Aula 1 Prof. Rogério Albuquerque de Almeida Programação Orientada a Objeto II Vetores Tratamento de Exceções

Leia mais

Comandos de Controle do Programa

Comandos de Controle do Programa Comandos de Controle do Programa Comandos de Seleção - if, else, switch Comandos de Iteração - for, while, do-while Comandos de Desvio - return, goto, break, continue O Comando if O if O else O if-else-if

Leia mais

TE091 Programação Orientada a Objetos Engenharia Elétrica

TE091 Programação Orientada a Objetos Engenharia Elétrica TE091 Programação Orientada a Objetos Engenharia Elétrica Revisão Rápida de Programação em C Prof. Carlos Marcelo Pedroso 2015 Revisão Linguagem C Características principais Modularidade: uso de procedimentos

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.4. Estruturas de Controle 3.4.1. Comandos

Leia mais

ao paradigma imperativo

ao paradigma imperativo PARADIGMA FUNCIONAL PARADIGMA FUNCIONAL: INTRODUÇÃO G Exemplos de linguagens funcionais LISP - Início: LP puramente funcional - Depois: acréscimo de alguns recursos imperativos (aumentaram eficiência de

Leia mais

Controle de Fluxo. Laços e Desvios incondicionais

Controle de Fluxo. Laços e Desvios incondicionais Controle de Fluxo Laços e Desvios incondicionais Laços Em C, há três comandos de ITERAÇÃO ou LAÇOS: for while do... while Estes permitem que um conjunto de instruções seja executado até que ocorra uma

Leia mais

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Fundamentos de Programação Linguagem C++ Estruturas de controle Parte II Estruturas de repetição Prof. Bruno E. G. Gomes IFRN 1 Estruturas de Controle Permitem o controle da sequência de execução de um

Leia mais

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler

Leia mais

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II Prof. Walter Gima walter.gima@anhanguera.com 1 Tratamento de Exceção 2 Agenda Tratamento de Exceção Tipos de Exceptions Lançar Exceções 3 Exceção indicação de que algo

Leia mais

Lua Parte I. Overview. Linguagem pequena; Sintaxe simples e clara; Gerenciamento automático de memória; Execução controlada; Tipagem dinâmica.

Lua Parte I. Overview. Linguagem pequena; Sintaxe simples e clara; Gerenciamento automático de memória; Execução controlada; Tipagem dinâmica. Lua Parte I mleal@inf.puc-rio.br 1 Linguagem pequena; Overview Sintaxe simples e clara; Grande poder de descrição de dados; Gerenciamento automático de memória; Execução controlada; Tipagem dinâmica. mleal@inf.puc-rio.br

Leia mais

Manipulação de excecões e manipulação de eventos

Manipulação de excecões e manipulação de eventos Manipulação de excecões e manipulação de eventos 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

Leia mais