Subprogramação. Leonardo Gresta Paulino Murta.

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

Download "Subprogramação. Leonardo Gresta Paulino Murta."

Transcrição

1 Subprogramação Leonardo Gresta Paulino Murta

2 Aula de hoje Estudaremos duas estruturas de encapsulamento Procedimentos Funções Leonardo Murta Subprogramação 2

3 Retomando: paradigma estruturado Código mais fácil de ler, mas ainda di0cil para sistemas grandes devido a repehção de código Só usa sequência, repehção e decisão O que fazer se for necessário repe6r uma sequência de linhas de código em diferentes locais? Leonardo Murta Subprogramação 3

4 Encapsulamento Mecanismo uhlizado para lidar com o aumento de complexidade Consiste em exibir o que pode ser feito sem informar como é feito Permite que a granularidade de abstração do sistema seja alterada, criando estruturas mais abstratas Leonardo Murta Subprogramação 4

5 Paradigma procedimental Sinônimo: paradigma procedural Uso de subprogramação Agrupamento de código permihndo a criação de ações complexas Atribuição de um nome para essas ações complexas Chamada a essas ações complexas de qualquer ponto do programa Em Pascal, essas ações complexas são denominadas procedimentos ou funções Leonardo Murta Subprogramação 5

6 Exemplo program calculo_imc; var altura, massa, imc : real; Parecidos! write('entre com a sua altura em metros: '); readln(altura); write('entre com a sua massa em kg: '); readln(massa); imc := massa / sqr(altura); writeln('seu IMC é ', imc); end. Leonardo Murta Subprogramação 6

7 Exemplo usando procedimento program calculo_imc; var altura, massa, imc : real; Declaração do procedimento procedure leia(mensagem : string; var valor : real); write(mensagem); readln(valor); end; leia('entre com a sua altura em metros: ', altura); leia('entre com a sua massa em kg: ', massa); imc := massa / sqr(altura); writeln('seu IMC é ', imc); end. Chamadas ao procedimento Leonardo Murta Subprogramação 7

8 Dividir para conquistar Antes: um programa gigante Programa Principal Depois: vários programas menores Programa Principal Subprograma A Subprograma C Subprograma B Leonardo Murta Subprogramação 8

9 Fluxo de execução A execução inicia pelo programa principal O programa principal chama subprogramas Estes subprogramas podem chamar outros subprogramas, sucessivamente Ao fim da execução de um subprograma, a execução conhnua na instrução seguinte à da chamada do subprograma Programa Possível sequencia de chamadas Subprograma C Subprograma B Subprograma A Programa Principal Programa Principal 1 3 Subprograma A Subprograma C 2 Subprograma B Leonardo Murta Subprogramação 9

10 Fluxo de execução Leonardo Murta Subprogramação 10

11 Fluxo de execução É equivalente ao que acontece quando chamamos uma função predefinida do Pascal Leonardo Murta Subprogramação 11

12 Vantagens Economia de código Quanto mais repehção, mais economia Facilidade na correção de defeitos Corrigir o defeito em um único local Legibilidade do código Podemos dar nomes mais intuihvos a blocos de código É como se criássemos nossos próprios comandos Melhor tratamento de complexidade Estratégia de dividir para conquistar nos permite lidar melhor com a complexidade de programas grandes Abordagem top- down ajuda a pensar! Leonardo Murta Subprogramação 12

13 Fluxograma O subprograma passa a ter um fluxograma próprio, com o símbolo de início contendo o nome do subprograma e o símbolo de término contendo o retorno Além disso, um novo símbolo é uhlizado no programa principal para indicar a chamada a um subprograma: Chamada ao subprograma Leonardo Murta Subprogramação 13

14 Exemplo de Fluxograma Início leia( Altura?, altura) leia(mensagem, valor) leia( Massa?, massa) imc ß massa/altura 2 Escreva imc Escreva mensagem Leia valor retorna Fim Leonardo Murta Subprogramação 14

15 Procedimento Tipos de Subprogramas Não tem valor de retorno Função Deve retornar um e somente um valor Esse valor retornado pode ser composto (vetor, matriz ou registro) Leonardo Murta Subprogramação 15

16 Estrutura de um programa com subprogramas program NOME DO PROGRAMA; var... procedure... var... CÓDIGO DO SUBPROGRAMA end;... function... var... CÓDIGO DO SUBPROGRAMA end; CÓDIGO DO PROGRAMA end. Leonardo Murta Subprogramação 16

17 Chamadas entre subprogramas Um subprograma A só é capaz de chamar um subprograma B se a declaração de B vier antes da declaração de A procedure b;... end;... procedure a; b; end; Leonardo Murta Subprogramação 17

18 Chamadas entre subprogramas Se for necessário chamar um subprograma que vem depois, é preciso colocar a declaração seguida da palavra forward Evitem dependência circular entre subprogramas procedure b; forward; procedure a; b; end;... procedure b;... end; Leonardo Murta Subprogramação 18

19 Sintaxe da declaração de um procedimento procedure NOME (ARGUMENTOS) procedure leia(mensagem : string; var valor : real) Leonardo Murta Subprogramação 19

20 Argumentos Declarados de forma equivalente à declaração de variáveis de um programa Separados por ; A passagem de argumentos do subprograma é posicional (1º parâmetro = 1º argumento, 2º parâmetro = 2º argumento, etc.) Há duas formas de passagem de dados Por valor Por referência Leonardo Murta Subprogramação 20

21 Passagem de argumento por valor A alteração da variável não será visível fora do escopo do subprograma Não tem var antes da declaração do argumento Exemplo: NOMES : TIPO O Pascal copiará o valor de cada argumento para a respechva variável na ordem que aparecem calcula(a, b); procedure calcula(x, y : integer); Leonardo Murta Subprogramação 21

22 Passagem de argumento por valor Na memória: a 5 a 5 b 7 b 7 a 5 x 5 x 15 a 5 b 7 y 7 y 17 b 7 Antes Chamada Durante Depois calcula(a, b); procedure calcula(x, y : integer); Leonardo Murta Subprogramação 22

23 Passagem de argumento por referência A alteração da variável permanecerá fora do escopo do subprograma Tem var antes da declaração do argumento Exemplo: var NOMES : TIPO O Pascal fará com que as variáveis referenciem as posições de memória de cada argumento na ordem que aparecem calcula(a, b); procedure calcula(var x, y : integer) Leonardo Murta Subprogramação 23

24 Na memória: Passagem de argumento por referência a 5 a, x 5 a, x 15 a 15 b 7 b, y 7 b, y 17 b 17 Antes Chamada Durante Depois calcula(a, b); procedure calcula(var x, y : integer); Leonardo Murta Subprogramação 24

25 Argumentos do Hpo array Não é permihdo declarar argumento do Hpo array de forma implícita Quando for usar um argumento do Hpo array, é necessário criar um Hpo composto (usando type) antes type tabuleiro = array[1..3, 1..3] of char;... procedure desenha(tab : tabuleiro);... end; Leonardo Murta Subprogramação 25

26 Variáveis globais e locais As variáveis declaradas no programa principal, antes da declaração dos subprogramas, podem ser usadas em todos os subprogramas São conhecidas como variáveis globais Tentem evitar usar variáveis globais (deem preferência por passar os valores via argumentos) Um subprograma pode criar suas próprias variáveis São conhecidas como variáveis locais Assim como no programa principal a declaração de variáveis locais deve ser feita logo antes do do subprograma As variáveis locais e os argumentos são válidos somente no escopo do subprograma (dentro do /end do subprograma) Leonardo Murta Subprogramação 26

27 Refazendo o exemplo com função... program calculo_imc; var altura, massa, imc : real; Declaração da função function leia(mensagem : string) : real; write(mensagem); readln(leia); end; altura := leia('entre com a sua altura em metros: '); massa := leia('entre com a sua massa em kg: '); imc := massa / sqr(altura); writeln('seu IMC é ', imc); end. Chamadas à função Leonardo Murta Subprogramação 27

28 Sintaxe da declaração de uma função funchon NOME (ARGUMENTOS) : TIPO DE RETORNO function leia(mensagem : string) : real Leonardo Murta Subprogramação 28

29 Retorno da Função O Pascal cria automahcamente uma variável com o nome da função O valor a ser retornado pela função deve ser atribuído a essa variável Leonardo Murta Subprogramação 29

30 Exemplo program troca; var a, b : integer; procedure troca(var x, y : integer); var aux : integer; aux := x; x := y; y := aux; end; function media(x, y : integer) : real; media := (x + y) / 2; end; a := 5; b := 7; troca(a, b); writeln('a: ', a, ', b: ', b); writeln('média: ', media(a,b)); end. Leonardo Murta Subprogramação 30

31 Sobrecarga de subprograma Uma programa pode ter dois ou mais subprogramas com o mesmo nome desde que os Hpos de seus argumentos sejam dishntos Isso é úhl quando queremos implementar um subprograma em função de outro Exemplo: function metro2pes(x : real) : real;... end; function metro2pes : real; metro2pes := metro2pes(1); end; Leonardo Murta Subprogramação 31

32 Subprogramas sem argumentos Não é necessário ter argumentos nos subprogramas Nestes casos, é opcional ter () depois do nome do subprograma A chamada ao subprograma pode ou não conter () Exemplo de declaração: procedure pulalinha; writeln; end; Exemplo de chamada: pulalinha(); OU pulalinha; Leonardo Murta Subprogramação 32

33 Exercício Faça uma função que informe o status do aluno a parhr da sua média de acordo com a tabela a seguir: Nota acima de 6 à Aprovado Nota entre 4 e 6 à Verificação Suplementar Nota abaixo de 4 à Reprovado O professor deseja dividir uma turma com N alunos em dois grupos: um com M alunos e outro com (N- M) alunos. Faça o programa que lê o valor de N e M e informa o número de combinações possíveis Número de combinações é igual a N!/(M! * (N- M)!) Faça o programa de cálculo da série de Fibonacci usando um subprograma Leonardo Murta Subprogramação 33

34 Exercício Faça uma calculadora que forneça as seguintes opções para o usuário, usando subprogramas sempre que possível Estado da memória: 0 Opções: (1) Somar (2) Subtrair (3) Multiplicar (4) Dividir (5) Limpar memória (6) Sair do programa Qual opção você deseja? Leonardo Murta Subprogramação 34

35 Exercício Ordene um vetor de números inteiros com 10 posições uhlizando os algoritmos Bubble Sort SelecHon Sort InserHon Sort Leonardo Murta Variáveis Compostas 35

36 Subprogramação Leonardo Gresta Paulino Murta

Subprogramação. Leonardo Gresta Paulino Murta.

Subprogramação. Leonardo Gresta Paulino Murta. Subprogramação Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Estudaremos a estrutura mais básica de encapsulamento da Orientação a Objetos Métodos Leonardo Murta Subprogramação 2 Exemplo

Leia mais

Subprogramação. Leonardo Gresta Paulino Murta.

Subprogramação. Leonardo Gresta Paulino Murta. Subprogramação Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Estudaremos a estrutura mais básica de encapsulamento da Orientação a Objetos Métodos Leonardo Murta Subprogramação 2 Exemplo

Leia mais

Subprogramação. Vanessa Braganholo

Subprogramação. Vanessa Braganholo Subprogramação Vanessa Braganholo vanessa@ic.uff.br Aula de hoje Retomaremos a discussão sobre paradigmas Estudaremos três estruturas de encapsulamento da Orientação a Objetos Métodos Classes Pacotes Classes

Leia mais

Subprogramação. Leonardo Gresta Paulino Murta.

Subprogramação. Leonardo Gresta Paulino Murta. Subprogramação Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Retomaremos a discussão sobre paradigmas Estudaremos três estruturas de encapsulamento da Orientação a Objetos Métodos Classes

Leia mais

Subprogramação. Vanessa Braganholo

Subprogramação. Vanessa Braganholo Subprogramação Vanessa Braganholo vanessa@ic.uff.br O que vimos até agora } Programas usam apenas sequência, repetição e decisão } Capacidade de resolver diversos problemas, mas difícil de resolver problemas

Leia mais

Orientação a Objetos. Vanessa Braganholo

Orientação a Objetos. Vanessa Braganholo Orientação a Objetos Vanessa Braganholo vanessa@ic.uff.br Paradigma estruturado } Código mais fácil de ler, mas ainda difícil para sistemas grandes devido a repetição de código } Só usa sequência, repetição

Leia mais

Subprogramação e Orientação a Objetos

Subprogramação e Orientação a Objetos Subprogramação e Orientação a Objetos Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Estudaremos três estruturas de encapsulamento da Orientação a Objetos Métodos Classes Pacotes Leonardo

Leia mais

Modularização. Prof. Antonio Almeida de Barros Junior

Modularização. Prof. Antonio Almeida de Barros Junior Modularização Prof. Antonio Almeida de Barros Junior 1 Modularização A modularização consiste em decompor um programa em uma série de subprogramas individuais; Trata-se de um método utilizado para facilitar

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes marinagomes@unipampa.edu.br 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a

Leia mais

Programação de Computadores I Procedimentos e Funções PROFESSORA CINTIA CAETANO

Programação de Computadores I Procedimentos e Funções PROFESSORA CINTIA CAETANO Programação de Computadores I Procedimentos e Funções PROFESSORA CINTIA CAETANO Introdução Dividir o programa em subprogramas é útil para deixar mais fácil de depurá-lo e de se reutilizar código. Temos

Leia mais

Aula 11: Modularização

Aula 11: Modularização Aula 11: Modularização Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Modularização Programação de Computadores IV 1 / 37 Agenda 1 Revisão e Contexto

Leia mais

Módulos ou Subrotinas: PARTE II. Criando seus próprios módulos

Módulos ou Subrotinas: PARTE II. Criando seus próprios módulos Módulos ou Subrotinas: PARTE II Criando seus próprios módulos Objetivos da Aula Compreender a necessidade e a importância de modularizar Aprender a criar e utilizar (chamar) seus próprios módulos Refletindo...

Leia mais

Organização de programas em Pascal

Organização de programas em Pascal Organização de programas em Pascal Leonardo Gresta Paulino Murta leomurta@ic.uff.br Vamos programar em Pascal! Mas... Como um programa é organizado? Quais são os Apos de dados disponíveis? Como variáveis

Leia mais

FACCAT Sistemas de Informação. Estruturas de Dados

FACCAT Sistemas de Informação. Estruturas de Dados FACCAT Sistemas de Informação Estruturas de Dados Aula 1 http://professores.faccat.br/azambuja (Estrutura de Dados) Definição de variáveis Podemos imaginar uma variável como o local onde se pode colocar

Leia mais

Modularidade - Funções e Procedimentos

Modularidade - Funções e Procedimentos Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Subprogramação: Sub-rotinas e Funções 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

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Subprogramação: Sub-rotinas e Funções 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

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

Módulos ou Subrotinas: PARTE II. Criando seus próprios módulos

Módulos ou Subrotinas: PARTE II. Criando seus próprios módulos Módulos ou Subrotinas: PARTE II Criando seus próprios módulos Objetivos da Aula Compreender a necessidade e a importância de modularizar Aprender a criar e utilizar (chamar) seus próprios módulos Refletindo...

Leia mais

Modularidade. Objetivos: Introduzir noções básicas de modularidade. Funções e procedimentos

Modularidade. Objetivos: Introduzir noções básicas de modularidade. Funções e procedimentos Modularidade Objetivos: Introduzir noções básicas de modularidade Funções e procedimentos Motivação É muito difícil manter um código quando ele tende a ser grande (com muitas linhas) É preciso organizar

Leia mais

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido SSC 301 - INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO Profa. Dra. Milena Guessi Margarido (milena@icmc.usp.br) MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente

Leia mais

ALGORITMOS I. Procedimentos e Funções

ALGORITMOS I. Procedimentos e Funções Procedimentos e Funções Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1 MÓDULOS São blocos de instruções que realizam tarefas específicas. Carregado uma vez e pode ser executado quantas vezes

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Leonardo Gresta Paulino Murta leomurta@ic.uff.br Processo de resolução de problemas (Princípios de Pólya) Definição dos requisitos do problema (fazer o programa certo) Entradas

Leia mais

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Programação 1 Prof. Osório Aula 10 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 10 Disciplina: Linguagem

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Programação 1 Prof. Osório Aula 09 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 09 Disciplina: Linguagem

Leia mais

Variáveis Compostas. Leonardo Gresta Paulino Murta.

Variáveis Compostas. Leonardo Gresta Paulino Murta. Variáveis Compostas Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Veremos os diferentes tipos de variáveis compostas (arrays) Com uma dimensão (vetores) Com duas ou mais dimensões (matrizes)

Leia mais

Subprogramas. Prof. Carlos Lopes

Subprogramas. Prof. Carlos Lopes Subprogramas Prof. Carlos Lopes Motivação Escreva um programa C capaz de calcular a combinação de n valores tomados p a p. Para realizar este cálculo, você deverá utilizar a seguinte fórmula: C n n! p

Leia mais

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara Universidade do Estado de Minas Gerais - UEMG Curso de Engenharia da Computação FUNÇÕES EM C 1 Material adaptado da profa Silvana Maria Affonso de Lara ROTEIRO DA AULA Definição de Função Argumentos, retornos

Leia mais

Estruturas de Repe,ção e Manipulação de Texto

Estruturas de Repe,ção e Manipulação de Texto Estruturas de Repe,ção e Manipulação de Texto Leonardo Gresta Paulino Murta leomurta@ic.uff.br Estruturas de repe

Leia mais

Introdução ao FORTRAN 90. Aula 4

Introdução ao FORTRAN 90. Aula 4 Introdução ao FORTRAN 90 Aula 4 Usados quando o programa contém estruturas complexas e com estruturas contendo conjuntos de instruções repetidas. O conjunto de instruções repetidas não se enquadra em uma

Leia mais

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string Pascal -Cabeçalho do programa Áreas do programa -Área de declarações -Corpo do programa - label - const - type - var - procedure - function - integer - real - byte - boolean - char - string Program

Leia mais

Estruturas de Controle de Fluxo Pseudocódigo/Exercício Construa o pseudocódigo de um algoritmo para obter o resultado da divisão de dois números

Estruturas de Controle de Fluxo Pseudocódigo/Exercício Construa o pseudocódigo de um algoritmo para obter o resultado da divisão de dois números Pseudocódigo/Exercício Construa o pseudocódigo de um algoritmo para obter o resultado da divisão de dois números inteiros quaisquer. algoritmo exercício 8.0 var n1, n2: inteiro res: real inicio escreva

Leia mais

PROGRAMAÇÃO DE COMPUTADORES V - TCC Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick

PROGRAMAÇÃO DE COMPUTADORES V - TCC Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Funções Escopo de Variáveis Variáveis Globais

Leia mais

Modularidade - Fun ções e Procedimentos

Modularidade - Fun ções e Procedimentos Modularidade - Fun ções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situa ções, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de

Leia mais

Variáveis, Tipos de Dados e Operadores

Variáveis, Tipos de Dados e Operadores ! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória

Leia mais

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia 1 Estruturada Quando precisamos de escrever código para resolver um determinado problema, dizemos normalmente que precisamos de um "programa" para esse fim. Programa, aqui, é entendido como um conjunto

Leia mais

Informática II Cap. 4-4

Informática II Cap. 4-4 Cap. 4-4 1 Estruturada Quando precisamos de escrever código para resolver um determinado problema, dizemos normalmente que precisamos de um "programa" para esse fim. Programa, aqui, é entendido como um

Leia mais

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer Algoritmos e Estrutura de Dados I Conceitos de Algoritmos Prof. Elyssandro Piffer CONCEITO DE ALGORITMO O computador pode auxiliar em muitas tarefas, contudo ele não possui independência, não é inteligente,

Leia mais

Subprogramação. Subprogramação. Subprogramação. A subprogramação é uma ferramenta que contribui com a tarefa de programar:

Subprogramação. Subprogramação. Subprogramação. A subprogramação é uma ferramenta que contribui com a tarefa de programar: Universidade Estadual de Maringá- UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação Prof. Yandre Maldonado- 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br

Leia mais

Organização de programas em Java

Organização de programas em Java Organização de programas em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Vamos programar em Java! Mas... Como um programa é organizado? Quais são os Cpos de dados disponíveis? Como variáveis podem

Leia mais

Universidade Estadual de Maringá- UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação.

Universidade Estadual de Maringá- UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação. Universidade Estadual de Maringá- UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação Subprogramação Prof. Yandre Maldonado- 1 Prof. Yandre Maldonado e Gomes da Costa

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

p A modularização consiste num método utilizado para facilitar a construção de grandes programas;

p A modularização consiste num método utilizado para facilitar a construção de grandes programas; Modularização 1 Modularização p A modularização consiste num método utilizado para facilitar a construção de grandes programas; p A idéia é dividir grandes programas em pequenas etapas, que são os módulos

Leia mais

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel Microcontroladores Programação: fluxogramas, pseudocódigos e lógica Prof. Daniel 1 Algoritmo Pseudocódigo Também conhecido como Portugol ou Português Estruturado; As instruções são todas padronizadas;

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Aula 7 Modularizaçã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 Dividir

Leia mais

Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br

Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br Computação Eletrônica Vetores e Matrizes Prof: Luciano Barbosa Recapitulando: Funções 2 Recapitulando: Função Void 3 Recapitulando: Escopo das Variáveis Referência à variável global A variável de escopo

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

Linguagem e Técnicas de Programação

Linguagem e Técnicas de Programação Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Fluxogramas. Leonardo Gresta Paulino Murta.

Fluxogramas. Leonardo Gresta Paulino Murta. Fluxogramas Leonardo Gresta Paulino Murta leomurta@ic.uff.br Antes de vermos Fluxogramas......vamos conhecer um pouco sobre a evolução das linguagens de programação Leonardo Murta Fluxogramas 2 Paradigmas

Leia mais

Variáveis Compostas. Vanessa Braganholo

Variáveis Compostas. Vanessa Braganholo Variáveis Compostas Vanessa Braganholo vanessa@ic.uff.br Aula de hoje } Veremos os diferentes tipos de variáveis compostas (arrays) } Com uma dimensão (vetores) } Com duas ou mais dimensões (matrizes)

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

exatasfepi.com.br CAII Modularização André Luís Duarte "E quem não toma a sua cruz, e não segue após mim, não é digno de mim.

exatasfepi.com.br CAII Modularização André Luís Duarte E quem não toma a sua cruz, e não segue após mim, não é digno de mim. exatasfepi.com.br CAII Modularização André Luís Duarte "E quem não toma a sua cruz, e não segue após mim, não é digno de mim." Mateus 10:38 Modularizando Algoritmos Decomposição de problemas Módulos ou

Leia mais

Exercícios. Resposta: a) var valor: real; i: integer. b)

Exercícios. Resposta: a) var valor: real; i: integer. b) Exercícios 1.Sabendo que a função frac retorna a parte fracionária de um número. Ex: frac(10.7) 0.7 Faça: a) Declare as iáveis do código abaixo. b) Escreva como seria a saída desse código na tela do computador.

Leia mais

Métodos de Programação I Ana Maria de Almeida

Métodos de Programação I Ana Maria de Almeida Métodos de Programação I 2. 35 2.10 O TIPO ESTRUTURADO TABELA (ARRAY) A estruturação de informação introduz uma nova dimensão no poder e complexidade dos nossos programas que, ao mesmo tempo que amplia

Leia mais

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

INFORMÁTICA APLICADA AULA 02 ALGORITMOS UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 ALGORITMOS Profª ª Danielle Casillo ALGORITMOS Um algoritmo é uma sequência de instruções

Leia mais

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano M. Cansian 1 Sumário Tipos de Dados Variáveis Modelo esquemático Características e Regras para

Leia mais

Blocos, Escopo de variáveis, procedimentos e funções. 1- Blocos

Blocos, Escopo de variáveis, procedimentos e funções. 1- Blocos Blocos, Escopo de variáveis, procedimentos e funções 1- Blocos Todo algoritmo é um bloco. O bloco consiste em um conjunto de declarações e comandos delimitados pelas palavras e Frequentemente é necessário

Leia mais

Matrizes (Vetores Bidimensionais)

Matrizes (Vetores Bidimensionais) (Vetores Bidimensionais) Objetivos Conceituação de Vetores Bidimensionais Manipulação de Vetores Bidimensionais Entender a diferença entre uso dos diferentes vetores Entender como manipular entrada, saída

Leia mais

Linguagem Computacional

Linguagem Computacional Informática II Linguagem Computacional Algoritmos e Programação Parte 2 Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Sumário Tipos de Dados Variáveis Modelo esquemático Características e Regras

Leia mais

12 - Dados Estruturados Vetores, Matrizes e Strings

12 - Dados Estruturados Vetores, Matrizes e Strings 12 - Dados Estruturados Vetores, Matrizes e Strings Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante Vetores,

Leia mais

ESTRUTURA HOMOGÊNEA: VETORES/ARRAYS

ESTRUTURA HOMOGÊNEA: VETORES/ARRAYS Lógica de Programação Professora Lucélia ESTRUTURA HOMOGÊNEA: VETORES/ARRAYS Um vetor é um arranjo de elementos armazenados na Memória Principal, um após o outro, todos com o mesmo nome. A idéia é a mesma

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

AULA 3. Conceitos de Abstração de Dados

AULA 3. Conceitos de Abstração de Dados AULA 3 Conceitos de Abstração de Dados Introdução Conceito de abstração Tipo Abstrato de Dados DEFINIÇÃO DE ABSTRAÇÃO Ato ou processo de separar qualidades ou propriedades inatas do objeto físico as quais

Leia mais

1.1 o que é um algoritmo... 6

1.1 o que é um algoritmo... 6 sumário introdução 1 1 fundamentos 5 1.1 o que é um algoritmo... 6 1.1.1 algoritmos executados por um computador...7 1.1.2 comandos básicos executados por um computador...11 1.1.3 da necessidade do desenvolvimento

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para

Leia mais

Aula 7: Estrutura de Decisão

Aula 7: Estrutura de Decisão Aula 7: Estrutura de Decisão Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Estrutura de Decisão Programação de Computadores IV 1 / 27 Agenda 1 Revisão

Leia mais

Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Subprogramas

Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Subprogramas Universidade Federal Rural de Pernambuco Departamento de Estatística e Informática Subprogramas Prof. Gláucya Carreiro Boechat glaucyacboechat@gmail.com Paradigmas de Linguagem de Programação Características

Leia mais

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação O que é Algoritmo? Algoritmo é um dos processo para criação de um programa. Putz????? Definições de Algoritmos Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido.(forbellone,

Leia mais

Módulo 3 Subprogramas

Módulo 3 Subprogramas 1 Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 3 Subprogramas Prof. Sandra Pais Soares Conteúdos Conceitos básicos Variáveis: globais

Leia mais

Introdução à Programação. Vanessa Braganholo

Introdução à Programação. Vanessa Braganholo Introdução à Programação Vanessa Braganholo vanessa@ic.uff.br Processo de resolução de problemas (Princípios de Pólya) Definição dos requisitos do problema (fazer o programa certo) Entradas Cálculos Casos

Leia mais

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol. AULA 07 OBJETIVO: Estruturas de repetição: visão geral HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol. ESTRUTURA DE REPETIÇÃO

Leia mais

O que é a modularização

O que é a modularização capa O que é a modularização Código Modularizado Código Não Modularizado Modularização Porque modularizar um código? -Decompor uma tarefa complexa em tarefas menores e de fácil solução. -Fazer uso da técnica

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Classes e Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Lembrando Na Unidade II Modelagem Orientada a Objetos, vimos: Como utilizar

Leia mais

Trabalho: Algoritmos de Busca e Ordenação. 1 Introdução. Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos. 31 de outubro de 2012

Trabalho: Algoritmos de Busca e Ordenação. 1 Introdução. Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos. 31 de outubro de 2012 Trabalho: Algoritmos de Busca e Ordenação Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos 31 de outubro de 2012 1 Introdução Os algoritmos de busca e de ordenação compreendem um conjunto de

Leia mais

Refinamentos sucessivos

Refinamentos sucessivos Refinamentos sucessivos Objetivos: Estudar a técnica de refinamentos sucessivos Jogo: 2048 Implementaremos o jogo 2048, com o objetivo de estudar a manipulação dos elementos de uma matriz Utilizaremos

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes CI208 - Programação de Computadores Aula 12: Funções Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática

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

O que é Sintaxe e Semântica? Sintaxe e Semântica. O que é Sintaxe e Semântica? Sintaxe e Semântica. Instruções Primitivas

O que é Sintaxe e Semântica? Sintaxe e Semântica. O que é Sintaxe e Semântica? Sintaxe e Semântica. Instruções Primitivas Construção de Algoritmos Algoritmos e Lógica de Programação Estrutura seqüencial Dicas para escrever bons algoritmos Reinaldo Gomes reinaldo@cefet-al.br O que é? Sintaxe diz respeito a forma de como as

Leia mais

PROGRAMAÇÃO MODULAR. É uma metodologia para projetar programas como um conjunto de unidades individuais inter-relacionadas (sub-programas ou módulos).

PROGRAMAÇÃO MODULAR. É uma metodologia para projetar programas como um conjunto de unidades individuais inter-relacionadas (sub-programas ou módulos). É uma metodologia para projetar programas como um conjunto de unidades individuais inter-relacionadas (sub-programas ou módulos). É uma metodologia para projetar programas como um conjunto de unidades

Leia mais

Paradigmas de Linguagens de Programação. Subprogramas

Paradigmas de Linguagens de Programação. Subprogramas Cristiano Lehrer Características Gerais dos Cada subprograma tem um único ponto de entrada Toda unidade de programa chamadora é suspensa durante a execução do programa chamado, o que implica na existência

Leia mais

O que é Sintaxe e Semântica?

O que é Sintaxe e Semântica? Algoritmos e Lógica de Programação Construção de Algoritmos Sintaxe e Semântica iti Estrutura seqüencial Dicas para escrever bons algoritmos Reinaldo Gomes reinaldo@cefet-al.br O que é Sintaxe e Semântica?

Leia mais

Estruturas Homogêneas Vetores e Matrizes. Givanaldo Rocha

Estruturas Homogêneas Vetores e Matrizes. Givanaldo Rocha Estruturas Homogêneas Vetores e Matrizes Givanaldo Rocha givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha Estruturas de dados homogêneas Permitem o agrupamento de várias informações

Leia mais

1. [VETOR][SALA] Cálculo da média aritmética de 10 valores armazenados em um vetor.

1. [VETOR][SALA] Cálculo da média aritmética de 10 valores armazenados em um vetor. Universidade Estadual de Maringá - Departamento de Informática Disciplina: 1640/31 - Fundamentos da Computação Física 2007 Prof.: Mauro Henrique Mulati Exercícios de vetores e matrizes do 2. o Bimestre

Leia mais

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU Aula 9 Oficina de Programação Matrizes Profa. Elaine Faria UFU - 26 Variáveis Compostas Homogêneas O que uma variável composta homogênea? - Conjunto de variáveis do mesmo tipo - É chamada de forma geral

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

Capítulo VI : Subprogramas

Capítulo VI : Subprogramas Capítulo VI : Subprogramas 1 _ Capítulo VI : Subprogramas Subdivisão dos programas em unidades funcionais. Procedimento (procedure): realiza uma acção Função (function) : calcula e fornece um valor 5.1.

Leia mais

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO INTRODUÇÃO À LINGUAGEM PASCAL CESAR BEZERRA TEIXEIRA,MSC PREFÁCIO A linguagem Pascal foi criada pelo Prof Niklaus Wirth na universidade de Zurich, com o propósito de ensinar os conceitos de uma linguagem

Leia mais

Compiladores Análise de Tipos

Compiladores Análise de Tipos Compiladores Análise de Tipos Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Tipos Um tipo é: Um conjunto de valores Um conjunto de operações sobre esses valores Os tipos de uma linguagem

Leia mais

ECT1203 Linguagem de Programação

ECT1203 Linguagem de Programação Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação Prof. Aquiles Burlamaqui Profa. Caroline Rocha Prof. Luiz Eduardo Leite Prof. Luciano Ferreira

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

ALGORITMOS + PASCAL. Estruturas de dados Heterogêneas

ALGORITMOS + PASCAL. Estruturas de dados Heterogêneas Estruturas de dados Heterogêneas Estrutura de Dados com o Uso de Tipo Registro Consiste em trabalhar com vários dados de tipos diferentes (os campos) em uma mesma estrutura. Por esta razão, este tipo de

Leia mais

Introdução à Programação de Computadores Fabricação Mecânica

Introdução à Programação de Computadores Fabricação Mecânica Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 06 - Introdução a algoritmos Roteiro Algoritmos Formas

Leia mais

Variáveis Compostas. Leonardo Gresta Paulino Murta.

Variáveis Compostas. Leonardo Gresta Paulino Murta. Variáveis Compostas Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Veremos os diferentes

Leia mais

Programação I Funções. Prof. Carlos Alberto

Programação I Funções. Prof. Carlos Alberto Programação I Funções Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Funções Funções são blocos de códigos que podem ser nomeados e chamados de dentro de um programa; Funções

Leia mais

Exercícios: Vetores e Matrizes

Exercícios: Vetores e Matrizes Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor

Leia mais

VARIÁVEIS NUMÉRICAS : integer - Números inteiros entre e real - Números reais de 11 algarismos significativos.

VARIÁVEIS NUMÉRICAS : integer - Números inteiros entre e real - Números reais de 11 algarismos significativos. TURBO PASCAL Histórico Origem: desenvolvida nos anos entre 1968 e 1970 por Nicklaus Wirth na Universidade Técnica de Zurique, Suíça. Em 1970 é disponibilizado o primeiro compilador para a linguagem. Objetivo:

Leia mais

Lógica de Programação e Algoritmos com exemplos na linguagem JAVA

Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 5 Programação Estruturada: Funções Conteúdo: 5.1 Programação estruturada ou modular... 66 5.2 Funções... 67 5.3 Passagem de parâmetros...

Leia mais