Universidade Estadual de Maringá- UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação.
|
|
- Guilherme Fraga Fontes
- 5 Há anos
- Visualizações:
Transcrição
1 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 yandre@din.uem.br
2 Prof. Yandre Maldonado- 2 A subprogramação é uma ferramenta que contribui com a tarefa de programar: Favorecendo a estruturação do programa; Facilitando a correção do programa; Facilitando a modificação do programa; Melhorando a legibilidade do programa; Divisão do problema a ser resolvido em partes (modularização);
3 Prof. Yandre Maldonado- 3 Com a modularização de um programa, as partes que o compõem podem ser desenvolvidas por diferentes equipes; Para isto deve-se estabelecer antes padrões de programação; Deve-se definir também que dependência haverá entre os vários subprogramas;
4 Prof. Yandre Maldonado- 4 A dependência entre os sub-programas deve ser a mínima possível; Um subprograma é um grupo de instruções arranjadas de forma lógica, que executem uma ação bem definida; A sub-programação tende a facilitar da solução de um problema já que, em um instante, a atenção é voltada apenas à uma parte do problema; Subprogramação em Pascal: procedimentos e funções;
5 Prof. Yandre Maldonado- 5 Procedimentos Procedimento é uma forma de criar um subprograma; Quando um determinado conjunto de instruções tiver que ser repetido dentro da solução de um problema, é conveniente colocá-lo dentro de um procedimento; Para se criar um procedimento é necessário: Um identificador (o nome do procedimento); Uma lista de parâmetros (que possibilitam a comunicação com outros procedimentos); E as ações que serão executadas por este procedimento, que formam o corpo do mesmo;
6 Estrutura geral de um procedimento: Prof. Yandre Maldonado- 6 Procedure identificador (<lista de parâmetros formais>); Var <Definição dos objetos locais>; Begin End; <Corpo de Instruções> Seção de definição de objetos e parâmetros Corpo do procedimento Cabeçalho
7 Um procedimento pode ser ativado em qualquer parte do programa; Sua ativação se dá através do uso de seu identificador como uma instrução; Prof. Yandre Maldonado- 7
8 Prof. Yandre Maldonado- 8 Exemplo: Fazer um algoritmo para calcular a combinação (análise combinatória) de N elementos tomados P a P. Sabe-se que isto é possível através da seguinte expressão C n n! p = p! (n-p)! com n p
9 Prof. Yandre Maldonado- 9 A solução deste problema pelos métodos vistos até agora (sem o uso de sub-programação) teria N e P como argumentos de entrada e C como argumento de saída; Seriam necessários os seguintes passos: Calcular o fatorial de N (armazenar em uma variável); Calcular o fatorial de P (armazenar em outra variável); Calcular o fatorial de N-P (armazenar em outra variável); E finalmente calcular a expressão FatN/(FatP*FatNP);
10 Prof. Yandre Maldonado- 10 Note que nesta solução teríamos que descrever várias vezes uma mesma seqüência de ações que são utilizadas para o cálculo do fatorial de um número; Esta seqüência tem um comportamento padrão;
11 Suponha que tivéssemos à disposição um procedimento genérico, chamado FAT, para calcular o fatorial de um número qualquer: Prof. Yandre Maldonado- 11 COMO PODERÍAMOS FAZER ISTO?
12 Identificador Prof. Yandre Maldonado- 12 Corpo Procedure FAT (x: integer, Var ResFat: integer); Var Begin End; I:integer; ResFat :=1; For I :=1 to x do ResFat :=ResFat * I; Lista de Parâmetros
13 Prof. Yandre Maldonado- 13 Poderíamos então utilizar este procedimento da seguinte forma: Program Combinacao; Var N, P, FatN, FatP, FatNP, NP: integer; C: real; Begin write ( Digite o valor de N: ); readln (N); write ( Digite o valor de P: ); readln (P); FAT (N, FatN); FAT (P, FatP); NP := N P; FAT (NP, FatNP); C := FatN/(FatP*FatNP); Write( Resultado da combinação:,c); End.
14 program proc_fat; uses crt; var N, P, FatN, FatP, FatNP, NP: integer; C: real; Procedure FAT (var X: integer; var ResFat: integer); var i: integer; Begin {PROCEDIMENTO PARA FATORIAL} ResFat:=1; Prof. Yandre Maldonado- 14 For i:=1 to X do End; ResFat:=ResFat*I; Begin {INICIO DO BLOCO PRINCIPAL DO PROGRAMA} clrscr; write('digite o valor de N: '); readln(n); write('digite o valor de P: '); readln(p); FAT (N, FatN); FAT (P, FatP); NP:=N-P; FAT (NP, FatNP); C:=FatN/(FatP*FatNP); writeln; {PULA UMA LINHA} writeln('o resultado da combinacao e: ',C:2:2); readkey; End.
15 Prof. Yandre Maldonado- 15 Objetos Locais X Objetos Globais Um objeto é dito local quando sua definição estiver dentro de um procedimento, ou quando for declarado como parâmetro formal do procedimento; Um objeto local só é visível dentro da unidade onde foi declarado; Objetos globais são aqueles declarados em unidades mais externas, podendo ser referenciados em unidades mais internas;
16 O conceito de objeto global e local é relativo; Prof. Yandre Maldonado- 16 Procedimento A Procedimento B Procedimento D Procedimento E Procedimento C
17 Prof. Yandre Maldonado- 17 Procedimentos sem passagem de parâmetros: O procedimento FAT do slide 12 pode calcular o fatorial de um valor inteiro qualquer, armazenado em qualquer objeto. E retorná-lo num objeto inteiro qualquer; Pode-se construir um procedimento FAT sem o uso de parâmetros;
18 Suponha o seguinte procedimento: Prof. Yandre Maldonado- 18 Procedure FAT; Var I: integer; Begin Fatn := 1; For I := 1 to n do Fatn := Fatn * I; End; Note que este procedimento calcula o fatorial de qualquer valor inteiro, desde que o mesmo esteja armazenado em n, e o resultado do calculo serásempre retornado em Fatn.
19 Prof. Yandre Maldonado- 19 Passagem de parâmetros: Por valor: neste mecanismo, o parâmetro forma faz uma cópia do valor do parâmetro real, fazendo com que todas as ações do procedimento manipulem somente o valor copiado, evitando a alteração do valor original; No procedimento FAT (do slide 15), a passagem do parâmetro X poderia ser feita por valor;
20 Prof. Yandre Maldonado- 20 Por referência: neste mecanismo, a relação existente entre os parâmetros formal e real está no endereço dos parâmetros e não em seus valores; O que realmente é passado é o endereço do parâmetro real para o formal. Assim, quem sofre a ação é o próprio parâmetro real; Esta ação é de caráter permanente;
21 Prof. Yandre Maldonado- 21 Em Pascal, pode-se distinguir a passagem por valor ou referência da seguinte forma: Procedure FAT (var X: integer; var ResFat: integer); Procedure FAT (X: integer; ResFat: integer); Experimente testar o procedimento do slide 15 sem a passagem por referência. Verifique as consequênciase reflita sobre o que está acontecendo. Passagem por referência, uso da palavra reservada var. Passagem por valor, sem o uso da palavra reservada var.
22 Prof. Yandre Maldonado- 22 Funções É um procedimento que retorna um valor processado no seu nome identificador; Os procedimentos tradicionais retornam valores através dos parâmetros; Uma função deve ser ativada em um contexto de expressão; No exemplo do fatorial, as variáveis FatN, FatP e FatNP perderiam a utilidade, pois estes valores poderiam ser retornados na própria função;
23 Prof. Yandre Maldonado- 23 Existem problemas mais adequados ao uso de funções, enquanto outros adequam-se melhor ao uso de procedimentos; Tudo que uma função pode fazer, um procedimento também pode, e vice-versa; Dicas para a escolha do tipo de módulo: Quando usar funções, evite ao máximo a passagem de parâmetros por referência; Se o valor que é processado na unidade será reutilizado em uma expressão, existem grandes possibilidades de que uma função seja mais adequada; Se o objetivo da unidade é apenas fazer uma mudança de estado (valor) em um ou mais objetos, adote um procedimento.
24 Definição de uma função Sintaxe geral: Prof. Yandre Maldonado- 24 Function <Identificador> (<lista de parâmetros formais>): <TipoFunção>; Var <Definição dos objetos locais> Begin <Corpo de Instruções>... Identificador := expressão;... End; Retorno do valor da função Corpo da função
25 Função para cálculo do fatorial: Prof. Yandre Maldonado- 25 Function FAT (x: integer): integer; Var ResFat, I:integer; Begin ResFat := 1; For I := 1 to x do ResFat := ResFat * I; FAT := ResFat; End;
26 Prof. Yandre Maldonado- 26 Uso da função: Program Usa_funcao; Var N, P, NP: integer; C: real; Begin write ( Digite o valor de N: ); readln (N); write ( Digite o valor de P: ); readln (P); NP := N P; C := FAT(N)/(FAT(P)*FAT(NP)); Write ( Valor da combinação:,c); End.
27 Prof. Yandre Maldonado- 27 Construa módulos (procedimentos ou funções, conforme julgar mais adequado) para os seguintes problemas: 1. Dados dois valores para dois parâmetros, troque estes valores entre si; 2. Receba dois valores inteiros e ordene-os guardando o menor valor num objeto A, e o maior num objeto B; 3. Calcule a soma entre dois números reais quaisquer, e retorne o valor encontrado; 4. Dada uma cadeia, com no máximo 20 caracteres, verifique o número de vezes que ocorreu um determinado caractere na mesma;
28 Prof. Yandre Maldonado Calcule a distância entre dois pontos ((x1, y1) e (x2, y2))do sistema cartesiano. 6. Dadas duas coordenadas de tela (do monitor), trace uma moldura. Dica: em pascal pode-se utilizar gotoxy(coluna, Linha) para posicionar a impressão de informações na tela;
29 Prof. Yandre Maldonado Faça um programa 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 = p! (n-p)! com n p O programa deverá ter, obrigatoriamente, duas funções: uma para cálculo do fatorial de um número, e outra para fazer o cálculo da combinação (utilizando a fórmula descrita acima). Neste caso as funções poderão fazer chamadas entre si.
30 Prof. Yandre Maldonado Faça uma função que recebe a idade de uma pessoa expressa em anos, meses e dias e retorna esta idade expressa apenas em dias. * Para a solução, pode-se considerar que todo mês tem 30 dias e todo ano 365 dias.
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 maisFunções em C. Funções em C. Funções em C. Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 Subprogramas são estabelecidos em linguagem C através da construção de funções; A sub-programação é uma ferramenta
Leia maisAgregado Homogêneo e Heterogêneo
Universidade Estadual de Maringá - UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação Agregado Homogêneo e Heterogêneo Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado
Leia maisSubprogramas. 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 maisAgregado Homogêneo e Heterogêneo. Agregado Homogêneo. Agregado Homogêneo 28/11/2015
8//0 Universidade Estadual de Maringá - UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação e Heterogêneo Prof. Yandre Maldonado - Prof. Yandre Maldonado e Gomes
Leia maisEstruturas de Controle
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Prof. Yandre Maldonado - 1 Estruturas de Controle Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Estrutura de Seleção Prof. Yandre
Leia maisModularizaçã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 maisEstruturas de Controle. Estrutura de Seleção. Estrutura de Seleção
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Prof. Yandre Maldonado - 1 Estruturas de Controle Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Estrutura de Seleção Prof. Yandre
Leia maisINTRODUÇÃ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 maisLinguagem 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 maisp 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 maisSumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)
Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Aula 10 1 Sumário Estruturas de Controle de Fluxo q Repetição Enquanto (Teste no início) Repeat (Teste no final)
Leia maisLinguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves
Informática II Linguagem Computacional Estruturas de Controle: Estruturas de Repetição Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Sumário q Estruturas de Controle de Fluxo Repetição Enquanto
Leia maisModularidade. 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 maisCiência da Computação
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 Estruturas de Controle de Fluxo. Ou: Estruturas de Decisão. Decide qual
Leia maisAulas Anteriores. Detalhes da linguagem de programação
Aulas Anteriores Detalhes da linguagem de programação Elementos básicos (identificadores, constantes, símbolos gráficos) Estrutura básica de um programa (cabeçalho, parte declarativa, parte de execução)
Leia maisAula 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 maisAlgoritmos 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 maisCAPÍTULO 9 - SUBPROGRAMAÇÃO
CAPÍTULO 9 - SUBPROGRAMAÇÃO 9.1 - INTRODUÇÃO A subprogramação é uma importante ferramenta de auxílio à solução de problemas algorítmicos. A subprogramação é uma metodologia de desenvolvimento de projetos,
Leia maisPonteiro e lista dinâmica
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - 2 Ponteiro é uma variável que
Leia maisUNISINOS - 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 maisFACCAT 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 maisENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO
ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO 1. INTRODUÇÃO O que é um programa? Programa constitui uma seqüência lógica de passos para solução de um problema. Um programa pode ser codificado em
Leia maisLISTA DE EXERCÍCIOS 15 ( Matrizes (7Cs))
LISTA DE EXERCÍCIOS 15 ( Matrizes (7Cs)) 1) Faça um programa que gere a seguinte matriz: 1 1 1 1 1 1 1 2 2 2 2 1 1 2 3 3 2 1 1 2 3 3 2 1 1 2 2 2 2 1 1 1 1 1 1 1 Com base no comando, complete o algoritmo
Leia maisPROF. MARCIO FERREIRA DE JESUS
Utilização de Sub-rotinas Uma sub-rotina é, na verdade, um programa, e sendo um programa poderá efetuar diversas operações computacionais (, processamento e saída). As sub-rotinas são utilizadas na divisão
Leia maisRecursão. Prof. Cristiano André da Costa. [Versão de Março de 2000] Definição
Recursão [Versão de Março de 2000] Definição Um objeto é dito recursivo se ele consistir parcialmente ou for definido em termos de si próprio Recursões ocorrem na matemática, informática, no dia a dia...
Leia maisLinguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;
Linguagem Pascal Prof. Sérgio Rodrigues Introdução Algoritmo É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Programa é a formalização de um algoritmo
Leia maisMó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 maisFig. 1: Ilustração de um exemplo de Modularização de um guindaste em suas partes Fonte: Internet
7. Modularização de Algoritmos No momento do desenvolvimento de um programa de computador, o programador terá de planejar a modularização de seu programa para que este fique mais transparente em suas estrutura
Leia maisLinguagem Computacional. Estruturas de Controle: Estruturas de Decisão ou de Seleção. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves
1 Algoritmos e Programação Linguagem Computacional Estruturas de Controle: Estruturas de Decisão ou de Seleção Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves O que veremos: Estruturas de Controle
Leia maisLógica de Programação I. Gilson de Souza Carvalho
Gilson de Souza Carvalho gaucho.gilson@hotmail.com 1. Estruturas básicas Apresentaremos um resumo com os comandos estudados para criação de algoritmos. Para utilizar estes comandos, usaremos uma sintaxe
Leia maisAula Anterior. Decomposição algorítmica (continuação)
Aula Anterior Decomposição algorítmica (continuação) Degenerescência da decomposição básica da solução em três etapas Método de decomposição modificado à entrada Associação de diferentes valores de entrada
Leia mais6) ESTRUTURA DE UM PROGRAMA
Página 1 de 16 6) ESTRUTURA DE UM PROGRAMA = = program ; = uses
Leia maisPROGRAMAÇÃ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 maisLISTA 14 Gabarito. 1) Preparar um algoritmo para calcular a soma de 100 termos da seguinte série:
LISTA 14 Gabarito 1) Preparar um algoritmo para calcular a soma de 100 termos da seguinte série: 1 1/2 + 1/4-1/6 + 1/8-1/10 + 1/12 -... Program questao1; i,a: integer; s: real; s:= 1; for i:= 1 to 99 do
Leia maisCiê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 maisAula Anterior. Noção de array (continuação) Introdução aos subprogramas. Exemplos de aplicação
Aula Anterior Noção de array (continuação) Exemplos de aplicação Introdução aos subprogramas Definição e invocação de procedimentos em Pascal Encapsulamento de operações Esta Aula Introdução aos subprogramas
Leia maisLinguagens Formais e Autômatos
Linguagens Formais e Autômatos Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Introdução Problema: definir um conjunto de cadeias de símbolos; Prof. Yandre Maldonado - 2 Exemplo: conjunto
Leia maisVARIÁ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 maisLinguagens Formais e Autômatos
Linguagens Formais e Autômatos Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Problema: definir um conjunto de cadeias de símbolos; Prof. Yandre Maldonado - 2 Exemplo: conjunto M dos
Leia maisIntrodução à Ciência da Computação. Sumário. Modularização de Algoritmos. Agradecimentos. Modularização de Algoritmos e Funções em C
Agradecimentos Introdução à Ciência da Computação e Funções em C Parte dos slides a seguir são adaptações dos originais: de A. L. V. Forbellone e H. F. Eberspächer do Prof. Rudinei Goularte Prof. Ricardo
Leia maisSubalgoritmos - motivação
Algoritmos e Técnicas - Subalgoritmos - Subalgoritmos - motivação Sempre é possível dividir problemas grandes e complicados em problemas menores e de solução mais simples. A decomposição de um problema
Leia maisProgramaçã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 maisIntrodução à Computação II Unesp Rio Claro 2012Prof. Rafael Oliveira
Recursão A recursão é bastante usada na matemática para definir funções, usando elas mesmas nas suas próprias definições. Por exemplo o cálculo de um fatorial, pode ser representada em forma de recursão
Leia maisProgramaçã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 maisIntrodução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 09 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação A linguagem C, como qualquer outra linguagem de programação, permite
Leia maisFundamentos 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 maisUNISINOS - 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 07 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 07 Disciplina: Linguagem
Leia maisSumá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 maisLinguagem de programação: Pascal
Aula 04 Linguagem de programação: Pascal Prof. Tecgº Flávio Murilo 26/03/2013 1 Pascal Introdução Pascal é uma linguagem de programação estruturada, criada em 1970 pelo suíço Niklaus Wirth, dando este
Leia maisLinguagem Pascal. Prof. Antonio Almeida de Barros Junior
Linguagem Pascal Prof. Antonio Almeida de Barros Junior 1 Linguagem Pascal Criada para ser uma ferramenta educacional (Década de 70); Prof. Niklaus Wirth (Universidade de Zurique); Blaise Pascal (Matemático
Leia maisLinguagem Pascal. Prof. Jonatas Bastos Site:
Linguagem Pascal Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com Site: http://jonatasfbastos.wordpress.com/ 1 Linguagem Pascal Foi desenvolvida pelo prof. Niklaus Wirth como uma linguagem simples
Leia maisAula 05. Modularização Função Subrotina Recursividade
Logo Aula 05 Modularização Função Subrotina Recursividade 2 Modularização A modularização é um processo que aborda os aspectos da decomposição de algoritmos em módulos. Módulo é um grupo de comandos, constituindo
Leia maisTutorial de Turbo Pascal
Página 1 de 7 Este tutorial foi completamente escrito por Rodrigo Brambilla pode ser distribuído livremente sem nenhuma modificação. Agradecimentos: Leomar Pacheco Rocha, Rodrigo Hoffmann dos Santos, Paulo
Leia maisIntrodução à Ciência da Computação
Introdução à Ciência da Computação Variáveis Conceitos Básicos Variáveis x Constantes a = x + 5 a, x e 5 são variáveis ou constantes? Variáveis As variáveis são recipientes de valores É um espaço reservado
Leia maisLinguagem 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 maisComputação Eletrônica
Computação Eletrônica Expressões ovsj@cin.ufpe.br Observação: Material da Disciplina Computação Eletrônica CIN/UFPE. Expressões São sequências de operandos e operadores devidamente arrumadas; Obedecendo
Leia maisUNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 04 Programa Recursivo e Máquinas Prof.ª Danielle Casillo Funções recursivas Alguma função é recursiva quando
Leia maisTécnicas de Programação
Técnicas de Programação Algoritmos Anderson Gomes Eleutério Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir
Leia maisModularidade - 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 maisUniversidade 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 maisSistema de Numeração Octal
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Sistema de Numeração Prof. Yandre Maldonado - Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - O sistema octal
Leia maisSistema de Numeração Octal
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Sistema de Numeração Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - 2 O sistema
Leia maisALGORITMOS 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 maisEstrutura de Decisão - Case
FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre Estrutura de Decisão - Case Rafael Barbosa Neiva rafael@prodados.inf.br Definição Para a execução de um determinado comando CASE, somente
Leia maisExistem dois tipos básicos de subrotinas: a) Procedimentos; b) Funções.
ESTRUTURAÇÃO DOS MÓDULOS DE UM ALGORITMO Uma subrotina é um algoritmo hierarquicamente subordinado a um outro algoritmo geralmente chamado de módulo principal. Da mesma forma, uma subrotina pode conter
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Tipos definidos pelo programador Variáveis compostas heterogêneas Tipos definidos pelo usuário Os tipos integer, real, boolean,
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS DISCIPLINA: Lab. de Programação PROF: MSc. Flávio Barros PERÍODO: 2 DATA: Aluno (s): 01 ATIVIDADE / / Revisão de Conteúdo
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Exercícios Variáveis compostas homogêneas Multidimensionais (matrizes e outras abstrações) Manipulação de Strings e caracteres
Leia maisFERRAMENTAS BÁSICAS DA PROGRAMAÇÃO
FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO VARIÁVEIS E O COMANDO DE ATRIBUIÇÃO O computador possui uma área específica de armazenamento denominada de memória. O computador possui uma área específica de armazenamento
Leia maisRecursão. Introdução à Ciência da Computação II(2009/2010) Rosane Minghim. Apoio na confecção: Rogério Eduardo Garcia Danilo Medeiros Eler
Recursão Introdução à Ciência da Computação II(2009/2010) Rosane Minghim Apoio na confecção: Rogério Eduardo Garcia Danilo Medeiros Eler Definição Um objeto é dito ser recursivo se ele é definido parcialmente
Leia maisLista de Exercícios 06 Modularização (Procedimentos e Funções)
Lista de Exercícios 06 Modularização (Procedimentos e Funções) Procedimentos: Passagem de parâmetros. 1) Escreva um procedimento que receba um número inteiro e imprima o mês correspondente ao número. Por
Leia maisRecursão. Definição. Características. Recursividade 31/08/2010
Recursão Introdução à Ciência da Computação II (009) Rosane Minghim Apoio na confecção: Rogério Eduardo Garcia Danilo Medeiros Eler Definição Um objeto é dito ser recursivo se ele é definido parcialmente
Leia maisTeoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.
Teoria da Computação e Algoritmos Introdução à Linguagem Pascal 1 Estrutura de um programa INÍCIO FIM. PROGRAM END.
Leia maisSEBENTA INTRODUÇÃO Á ALGORITMIA
SEBENTA INTRODUÇÃO Á ALGORITMIA O desenvolvimento de programas para computador está sempre baseado na tarefa de programar um computador para seja resolvido um problema ou executada uma função e assim dar
Leia maisAula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU
Aula 13 Oficina de Programação Modularização Profa. Elaine Faria UFU - 2017 O que é modularização? No século XIX, Henry Ford, para baratear e massificar a montagem de carros, criou uma base modular. Esta
Leia maisSubprogramação. Leonardo Gresta Paulino Murta.
Subprogramação Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Estudaremos duas estruturas de encapsulamento Procedimentos Funções Leonardo Murta Subprogramação 2 Retomando: paradigma estruturado
Leia maisLó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 maisLinguagem Pascal. Definição e Tipos de Dados. Professora Lara Popov Zambiasi Bazzi Oberderder. Linguagem PASCAL 1
Linguagem Pascal Definição e Tipos de Dados Professora Lara Popov Zambiasi Bazzi Oberderder Linguagem PASCAL 1 Origem Linguagem de programação largamente utilizada no ensinoaprendizagem de programação
Leia mais#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 );
O todo é igual à soma das partes. Euclides. FUNÇÕES E PROCEDIMENTOS Embora sem saber, ao longo dos outros laboratórios, já foram utilizadas funções tais como printf, scanf, getchar, putchar, dentre outras
Leia maisAlgoritmos e Técnicas de Programação
Algoritmos e Técnicas de Programação Estrutura, Visualg e Variáveis filipe.raulino@ifrn.edu.br Programação Estruturada A programação estruturada (Top-Down) estabelece uma disciplina de desenvolvimento
Leia maisMétodos de Programação I (2005/2006) 1. Ficheiro (file)
Métodos de Programação I (2005/2006) 1 Ficheiro (file) O tipo estruturado file representa, em Pascal, uma estrutura de dados capaz de armazenar dados ou resultados de qualquer outro tipo É uma estrutura
Leia maisCurso Técnico de Mecatrônica 4º Ano 2º Bimestre Introdução à Lógica de Programação
6. Procedimentos, funções, modularização. 6.1. Modularização A modularização consiste num método utilizado para facilitar a construção de grandes programas, através de sua divisão em pequenas etapas, que
Leia maisModularização. Exercício 28
Exercício 28 Construa um algoritmo que seja capaz de efetuar uma multiplicação entre valores naturais quaisquer e também seja capaz de calcular o fatorial de um número natural qualquer. Tanto no cálculo
Leia maisProgramação estruturada no Fortran 90-2
Programação estruturada no Fortran 90-2 Departamento de Física UFPel Faça um programa em Fortran 90 que calcule o valor do cos-seno de x através da série abaixo, co-seno(x) = 1 x2 2! + x4 4! x6 6! + x8
Leia maisExplicação do programa:
Disciplina: Introdução à Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer Índice: Aula10 Sub-rotina: Em algoritmos Em C Sub-rotinas subprograma - programação modularizada Definição:
Leia maisalgoritmo "exercício 28" var opcao, n1, n2: inteiro funcao seleciona_opcao():inteiro var o:caractere inicio repita escreva ("Efetue uma multiplicação
algoritmo "exercício 28" var opcao, n1, n2: inteiro funcao seleciona_opcao():inteiro var o:caractere repita escreva ("Efetue uma multiplicação ou obtenha o fatorial de um") escreval (" número natural.")
Leia maisAPÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL.
APÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL. 1. INTRODUÇÃO Este apêndice tem o objetivo de fornecer as regras básicas para transformar algoritmos (em Natural) em programas (em PASCAL).
Leia maisProgramando o Computador com PascaL: um ambiente para Auto-Aprendizagem.
Programando o Computador com PascaL: um ambiente para Auto-Aprendizagem. Resolução dos desafios propostos no Capítulo 8 Resolução do Desafio 8.1 Resolução do Desafio 8.2 Fórmulas usadas na planilha: Para
Leia maisUNISINOS - 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 maisProcedimento. Função. Selecção Condicional - a instrução if-then-else. expressão if lógica then instrução else instrução
Métodos de Programação I 2. 20 2.2.8 ESTRUTURAS DE CONTROLO Estruturas de controlo são instruções especiais em Pascal que permitem controlar o fluxo de sequência de instruções, alterando a ordem sequencial
Leia maisLinguagem de Descrição de algoritmos
FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre Linguagem de Descrição de algoritmos Rafael Barbosa Neiva rafael@prodados.inf.br Definição - Algoritmo Diariamente, executamos uma série
Leia maisPROGRAMAÇÃO I AULA 08
Programação 1 Prof. Osório Aula 08 Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 08 Disciplina: Linguagem de Programação
Leia maisCapí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 maisPortuguês Estruturado
Português Estruturado Português Estruturado Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambigüidades. O português estruturado é, na verdade,
Leia maisLinguagem C: Subprogramação
Prof. Paulo R. S. L. Coelho paulo@facom.ufu.br Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Subprogramação Organização 1 Subprogramação 2 3 Passagem por Valor Passagem por Referência
Leia maisProgramaçã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 maisEstruturas de Controle: Nível de Unidades de Programação
Paradigmas de Linguagens I 1 1.5... Estruturas de Controle: Nível de Unidades de Programação As estruturas de controle no nível de unidades de programação são mecanismos de linguagens utilizados para especificar
Leia maisSSC304 Introdução à Programação Para Engenharias
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Algoritmos e Lógica de GE4 Bio GE4Bio Grupo de Estudos em
Leia maisPython 3.x Estrutura de Repetição while
Python 3.x Estrutura de Repetição while Introdução à Ciência da Computação Prof. Edison Ishikawa Sumário Atribuição Atualizando variáveis Iterações Revisitando o laço for Laço while Rastreando um programa
Leia mais