Modularização. Prof. Antonio Almeida de Barros Junior
|
|
- Luiz Guilherme Lisboa
- 4 Há anos
- Visualizações:
Transcrição
1 Modularização Prof. Antonio Almeida de Barros Junior 1
2 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 a construção de grandes programas, através de sua divisão em pequenas etapas (dividir para conquistar), que são os módulos ou subprogramas; A primeira delas, por onde começa a execução do trabalho, recebe o nome de programa principal, e as outras são os subprogramas propriamente ditos, que são executados sempre que ocorre uma chamada dos mesmos, o que é feito através da especificação de seus nomes. 2
3 Modularização A modularização permite o reuso de partes do programa num mesmo programa ou mesmo em novos programas. Exemplo: Imagine um trecho de programa que verifica se uma data é valida ou não. Este módulo pode ser usado várias vezes num mesmo programa que leia várias datas diferentes e pode ser reaproveitado em novos programas que serão escritos. Outras conseqüências positivas do uso de modularização é o aumento de clareza e concisão do programa, pois o comprimento do programa diminui com o uso de módulos. Em Pascal existem dois tipos de módulos de programas: Procedimentos; Funções. 3
4 Modularização Vantagens da utilização de subprogramas: Economia de código: escreve-se menos; Desenvolvimento modularizado: pensa-se no algoritmo por partes; Facilidade de depuração (correção/acompanhamento): é mais fácil corrigir/detectar um erro apenas uma vez do que dez vezes; Facilidade de alteração do código: se é preciso alterar, altera-se apenas uma vez; Generalidade de código com o uso de parâmetros: escreve-se algoritmos para situações genéricas. 4
5 Modularização Procedimentos Um subprograma do tipo PROCEDIMENTO é, na realidade, um programa com vida própria, mas que, para ser processado, tem que ser solicitado pelo programa principal que o contém, ou por outro subprograma, ou por ele mesmo. Declaração: procedure nome; {declaração dos objetos (constantes, variáveis, etc.) locais ao procedimento} {comandos do procedimento} end; 5
6 Procedimentos - Exemplo Exemplo 1: O programa abaixo calcula a média aritmética entre duas notas, sem o uso de procedimentos. program CALCULA_MEDIA; {sem o uso de procedimentos} var NOTA1,NOTA2,MEDIA : real; {lê as notas} write('digite a primeira nota: '); readln(nota1); write('digite a segunda nota: '); readln(nota2); {calcula a media} MEDIA := (NOTA1 + NOTA2) / 2; {escreve o resultado} writeln('media = ',MEDIA,4:1) end. 6
7 Procedimentos - Exemplo Exemplo 2: Agora, o mesmo programa, utilizando um procedimento. program CALCULA_MEDIA; {usando procedimento} var NOTA1,NOTA2,MEDIA : real; { declaração do procedimento } procedure LER_NOTAS; write('digite a primeira nota: '); readln(nota1); write('digite a segunda nota: '); readln(nota2); end; end. { programa principal } LER_NOTAS; {ativação do procedimento LER_NOTAS} MEDIA := (NOTA1 + NOTA2) / 2; {calcula a media} Writeln('Media = ',MEDIA,4:1) {escreve o resultado} 7
8 Modularização Funções As funções, embora bastante semelhantes aos procedimentos, têm a característica especial de retornar ao programa que as chamou um valor associado ao nome da função. Esta característica permite uma analogia com o conceito de função da Matemática. Declaração: function nome: tipo; declaração dos objetos locais à função comandos da função; end; Onde: nome é o identificador associado à função; e tipo é o tipo da função, ou seja, o tipo do valor de retorno. 8
9 Funções - Exemplo Exemplo 1: O programa abaixo calcula a média dos elementos de um vetor, sem uso de procedimentos ou funções. program SOMA_VETOR; {sem o uso de procedimentos ou funções} const N = 30; var VETOR: array[1..n] of integer; I,SOMA,MEDIA: integer; {lê os valores do vetor} for I:=1 to N do readln(vetor[i]); {calcula a media} SOMA := 0; for I:=1 to N do SOMA := SOMA + VETOR[I]; MEDIA := SOMA div N; {escreve o resultado} writeln(media); end. 9
10 Funções - Exemplo Exemplo 2: Agora, o mesmo programa, utilizando um função. program SOMA_VETOR; {usando uma função e um procedimento} const N = 30; var VETOR: array[1..n] of integer; { declaração do procedimento } procedure LER_DADOS; var I: integer; for I := 1 to N do readln(vetor[i]); end; { declaração da função } function MEDIA: integer; var I, SOMA: integer; SOMA := 0; for I := 1 to N do SOMA := SOMA + VETOR[I]; MEDIA := SOMA div N; end; { programa principal } LER_DADOS; {ativa o procedimento LER_DADOS} writeln(media); {escreve o resultado, chamando a função MEDIA} end. 10
11 Escopo de Variáveis Variáveis podem ser declaradas no programa principal e nos subprogramas; Uma variável declarada no programa principal é chamada de variável global aos subprogramas; Uma variável declarada em um subprograma é chamada de variável local ao procedimento; É importante ressaltar que uma variável I declarada no procedimento é diferente de uma variável I declarada em uma função, embora possuam o mesmo identificador. 11
12 Escopo de Variáveis O uso de variáveis globais dentro de procedimentos e funções serve para implementar um mecanismo de transmissão de informações de um nível mais externo para um mais interno; As variáveis locais dos procedimentos e funções são criadas e alocadas quando da sua ativação e automaticamente liberadas quando do seu término. A utilização de variáveis globais não constitui, no entanto, uma boa prática de programação. Assim, todos os subprogramas devem apenas utilizar as variáveis locais, conhecidas dentro dos mesmos, e a transmissão de informações para dentro e fora dos subprogramas deve ser feita através dos parâmetros. 12
13 Escopo de Variáveis - Parâmetros A passagem de parâmetros formaliza a comunicação entre os módulos; Permite que um módulo seja utilizado com operandos diferentes, dependendo do que se deseja do mesmo; Modos de passagem de parâmetro: Por valor; Por referência; 13
14 Escopo de Variáveis - Parâmetros Passagem de parâmetros por valor: As alterações feitas nos parâmetros formais, dentro do subprograma, não se refletem nos parâmetros reais. O valor do parâmetro real é copiado no parâmetro formal, na chamada do subprograma. Assim, quando a passagem é por valor, isto significa que o parâmetro é de entrada. 14
15 Escopo de Variáveis - Parâmetros Passagem de parâmetros por referência: Toda alteração feita num parâmetro formal corresponde a mesma alteração feita no seu parâmetro real associado. Assim, quando a passagem é por referência, isto significa que o parâmetro é de entrada-saída. 15
16 Escopo de Variáveis - Parâmetros Na linguagem Pascal, a declaração dos procedimentos e funções com parâmetros deve vir entre parênteses e cada parâmetro deve ter o seu tipo especificado. A forma geral é: procedure nome (lista de parâmetros formais) function nome (lista de parâmetros formais): tipo A lista de parâmetros formais tem a seguinte forma: parâmetro1: tipo; parâmetro2: tipo;...; parâmetro n: tipo 16
17 Escopo de Variáveis - Parâmetros Exemplos da lista de parâmetros: procedure PROC (X, Y, Z: integer; K: real); function FUNC (A, B: real; C: string): integer; Na forma apresentada, a passagem dos parâmetros será por valor. Para se utilizar a passagem por referência, deve-se acrescentar a palavra VAR antes do nome do parâmetro. Exemplo: procedure PROC(A: integer; var B, C: integer); 17
18 Escopo de Variáveis - Parâmetros Na chamada de procedimentos ou funções utilizando parâmetros, devemos acrescentar após o nome do procedimento ou função uma lista de parâmetros reais (de chamada), os quais devem ser do mesmo tipo e quantidade dos parâmetros formais declarados. O exemplo a seguir demonstra a diferença entre a passagem de parâmetros por referência e a passagem de parâmetros por valor. 18
19 Escopo de Variáveis - Parâmetros program EXEMPLO_PASSAGEM_PARAMETROS; var N1, N2 : integer; procedure PROC(X: integer; var Y: integer); X := 1; Y := 1; end; N1:=0; N2:=0; PROC(N1,N2); writeln(n1); {será exibido o valor 0} writeln(n2); (será exibido o valor 1} end. 19
20 Procedimentos - Exemplo Escrever um procedimento chamado DOBRA que multiplique um número inteiro (recebido como parâmetro) por 2. Escrever um programa para ler um valor inteiro e, utilizando o procedimento DOBRA, calcular e exibir o dobro do mesmo. program CALCULA_DOBRO; var X: integer; procedure DOBRA (var NUM: integer); NUM := NUM * 2 end; readln(x); DOBRA(X); writeln(x); end. 20
21 Procedimentos - Exemplo Escrever uma função chamada MAIOR que receba dois números inteiros e retorne o maior deles. Escrever um programa para ler dois números inteiros e, utilizando a função MAIOR, calcular e exibir o maior valor entre os números lidos. program CALCULA_MAIOR; var X, Y, M: integer; function MAIOR (NUM1, NUM2: integer): integer; if NUM1 > NUM2 then MAIOR := NUM1 else MAIOR := NUM2; end; readln(x,y); M := MAIOR(X,Y); writeln(m); end. 21
22 Procedimentos - Exemplo Exemplo: Escreva um procedimento que receba uma string S e converta o mesmo para letras maiúsculas. procedure MAIUSC (var S: string); var I, TAM: byte; TAM := length(s); for I := 1 to TAM do S[I] := upcase(s[i]); end; 22
23 Recursividade Existem casos em que um procedimento ou função chama a si próprio. Dizse então que o procedimento ou função é recursivo. Trata-se de técnicas de programação que permite funções chamarem a si mesmas. Aplicada sobre problemas que requerem que os mesmos passos sejam executados diversas vezes. Deve-se ter o cuidado com repetição infinita. 23
24 Recursividade Exemplo: O fatorial de um número n pode ser definido recursivamente, ou seja: n! n (n 1 1)! se n 0 se n 0 FAT(5) = 5 x 4 x 3 x 2 x 1 FAT(4) = 4 x 3 x 2 x 1 FAT(3) = 3 x 2 x 1 FAT(2) = 2 x 1 FAT(1) = 1 FAT(0) = 1 FAT(5) = 5 x FAT(4) FAT(4) = 4 x FAT(3) FAT(3) = 3 x FAT(2) FAT(2) = 2 x FAT(1) FAT(1) = 1 x FAT(0) FAT(0) = 1 Condição de parada. 24
25 Procedimentos - Exemplo Dessa forma, pode-se escrever uma função recursiva em Pascal que traduz esta definição matemática: function FAT(n: integer): integer; if n = 0 then FAT := 1 else FAT := N * FAT(N-1); end; 25
26 Exercícios Exercícios: Página Escreva um procedimento que receba uma string S e um inteiro positivo N e exiba a string S por N vezes seguidas na tela. 10. Escreva uma função chamada CUBO que receba um valor do tipo real e retorne a potência elevado a 3 do mesmo. 11. Escreva um procedimento chamado TROCA que receba duas variáveis inteiras (X e Y) e troque o conteúdo entre elas; 12. Escreva uma função que receba uma string S e retorne o número de espaços existentes na mesma. 13. Escreva uma função que receba uma string S e um valor inteiro N e retorne os N primeiros caracteres da string S. 14. Escreva um procedimento chamado SINAL que receba como parâmetro um valor N inteiro e escreva a palavra POSITIVO se N for um número maior que zero, NEGATIVO se N for menor que zero, ou ZERO se N for igual a zero. 15. Escreva um programa que leia um número inteiro e, usando o procedimento SINAL (criado na questão anterior), mostre se ele é maior, menor ou igual a zero. 16. Escreva um procedimento chamado METADE que divida um valor do tipo real (passado como parâmetro) pela metade. 26
27 Exercícios Exercícios: Página Escreva um programa que leia um vetor A de 30 elementos reais e, usando o procedimento METADE (criado na questão anterior), divida todos seus elementos pela metade. 18. Escreva uma função chamada MEDIA que retorne a média aritmética de três valores reais (X, Y e Z) passados como parâmetros. 19. Escreva um programa que, para um número indeterminado de alunos, faça para cada uma deles: ler o nome e as três notas do aluno (a leitura do nome FIM indica o fim dos dados - flag); calcular a média do aluno (usando a função MEDIA criada na questão anterior); exibir o nome e a média do aluno. 28. Escrever um procedimento para leitura de um valor inteiro entre 1 e 100. Se o usuário fornecer um valor fora desta faixa, deve-se repetir o processo até que seja fornecido um valor válido. 29. Fazer um programa para ler duas matrizes e apresentar a soma. Utilize subprogramas (procedimentos e/ou funções) para ler, somar e escrever as matrizes. 27
28 Exercícios Exercícios: Página Leia 50 valores do tipo (nome, P1, P2, Nota_trabalhos, Percentual_de_presença), e determine quantos alunos foram aprovados e quantos foram reprovados. Para aprovação é preciso ter média maior ou igual a 6 e 75% de presença. A média é calculada pela expressão: Media = (P1 + P2) * 70% + Nota_trabalhos * 30%. Use uma função para calcular a média. Utilize pelo menos um procedimento ou função. 28
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 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 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 Modularização Recursividade Modularização Seus programas continuam evoluindo e o código está cada vez maior e mais complexo: o
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 maisSubprogramaçã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 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 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 maisMó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 maisUniversidade 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 maisMó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 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 03 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 03 Disciplina: Linguagem
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 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 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 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 maisPROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Leia maisCADERNO DE EXERCÍCIOS ALGORITMOS
J. EXERCÍCIOS SOBRE MODULARIZAÇÃO 77. Faça uma função que recebe um número inteiro por parâmetro e retorna verdadeiro se ele for par e falso se for ímpar. 78. Escreva um programa que leia o raio de um
Leia maisESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO
ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO Baseado nos slides de autoria de Rosely Sanches Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura
Leia mais3. 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.7. Funções 3.7.1. Introdução 3.7.2. Uso de
Leia maisExercícios Repetição
Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que
Leia maisSuponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?
Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Introdução à Computação 1 de 28 Funções Na Programação, funções são conjuntos
Leia maisLinguagem e Ambiente Scratch. Introdução à Laboratório Prof.Alfredo Parteli Gomes
Linguagem e Ambiente Scratch Introdução à Laboratório Prof.Alfredo Parteli Gomes Scratch Linguagem de programação que visa facilitar a criação de histórias interativas, jogos e animações Informações e
Leia maisSistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição
Sistemas Operacionais e Introdução à Programação Introdução à Lógica de Programação: estruturas de repetição 1 Imagine um algoritmo para calcular a média de uma quantidade desconhecida de números Para
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 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 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 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 mais69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.
Exercícios 65 ao 72 - Estrutura de Repetição: Enquanto 65) Escreva um algoritmo para ler um valor entre 1 (inclusive) e 10 (inclusive). Se o valor lido não estiver entre 1 (inclusive) e 10 (inclusive),
Leia maisEXERCÍCIOS DE RECORDAÇÃO DE ALGORITMOS
UNIVERSIDADE SALGADO DE OLIVEIRA CURSO DE SISTEMAS DE INFORMAÇÃO DISCIPLINA: LINGUAGEM DE PROGRAMAÇÃO I PROF: GIULIANO PRADO DE MORAIS GIGLIO EXERCÍCIOS DE RECORDAÇÃO DE ALGORITMOS 0) Faça um algoritmo
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 maisAula 6: Entrada e Saída
Aula 6: Entrada e Saída Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Entrada e Saída Programação de Computadores IV 1 / 29 Agenda 1 Revisão e Contexto
Leia 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 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 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 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 mais1ª LISTA DE EXERCÍCIOS
UNIVERSIDADE SALGADO DE OLIVEIRA CURSO DE SISTEMAS DE INFORMAÇÃO DISCIPLINA: TEORIA DA COMPUTAÇÃO E ALGORITMOS PROF: GIULIANO PRADO DE MORAIS GIGLIO 1ª LISTA DE EXERCÍCIOS 1) Sobre variáveis, responda
Leia maisALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior
ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,
Leia maisProgramação WEB I Funções
Programação WEB I Funções Funções As funções podem ser definidas como um conjunto de instruções, agrupadas para executar uma determinada tarefa. Dentro de uma função pode existir uma chamada a outra função.
Leia maisESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO
ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO Baseado nos slides de autoria de Rosely Sanches Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura
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 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 05 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 05 Disciplina: Linguagem
Leia maisProgramação de Computadores. Professor Ilaim Costa Junior
Programação de Computadores Professor Ilaim Costa Junior ilaim@ic.uff.br Roteiro da Aula de Hoje Estruturas de repetição ENQUATO... FAÇA... REPETIR... ATE... PARA... ATÉ... FAÇA... 2 Estruturas de Repetição
Leia maisSuponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?
Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Programação de Computadores 1 de 28 Funções Na Programação, funções são conjuntos
Leia maisEstruturas de Controle de Fluxo
139 Estruturas de Controle de Fluxo algoritmo "exercício 15 laço de repetição repita a" var num, contador: inteiro inicio contador
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 maisPROGRAMAÇÃ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 maisEstrutura de decisão
Estrutura de decisão Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente sequenciais. Com as instruções de SALTO ou DESVIO
Leia maisCOMANDOS DE REPETIÇÃO (ENQUANTO)
COMANDOS DE REPETIÇÃO (ENQUANTO) Disciplina: Algoritmos Professora: Alba Lopes alba.lopes@ifrn.edu.br http://docente.ifrn.edu.br/albalopes COMANDOS DE REPETIÇÃO Usada quando se deseja que um trecho do
Leia maisIntrodução ao SciLab. SciLab O que é? Onde obter o programa:
Introdução ao SciLab SciLab O que é? SciLab é uma plataforma interativa para computação numérica composta de uma rica coleção de algoritmos numéricos e de uma linguagem de programação associada. CN04 2010
Leia 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 maisResolva os exercícios utilizando a linguagem de programação C
MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO CAMPUS DE PRESIDENTE EPITÁCIO Resolva os exercícios utilizando a linguagem de programação C 1 Manipulação de dados
Leia maisPrática 10 - Funções
Programação de Computadores I UFOP DECOM June 9, 2016 Prática 10 - Funções Abstract Nesta aula prática você vai aprender a definir e usar funções em um programa. Contents 1 Funções 1 1.1 Definição e chamada
Leia maisLINGUAGEM DE PROGRAMAÇÃO
Técnico em Informática LINGUAGEM DE PROGRAMAÇÃO Profª Ana Paula anapaula_mandelli@hotmail.com Estruturas de Repetição Em muitos casos, o algoritmo solução para uma determinada classe de problemas, apresenta
Leia maisUniversidade 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 maisAula 10: Introdução a Vetores e Matrizes
Aula 10: Introdução a Vetores e Matrizes Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Vetores e Matrizes Programação de Computadores IV 1 / 50 Agenda
Leia maisAlgoritmos e Programação I
Algoritmos e Programação I Modularização Prof. Fernando Maia da Mota mota.fernandomaia@gmail.com CPCX/UFMS Fernando Maia da Mota 1 Os algoritmos que temos construído até então são muito simples, pois resolvem
Leia maisLista 13. Program Pzim ; var dez : array [ ] of real; i:integer; Begin //lê 10 valores for i:= 1 to 10 do readln(dez[i]); //calcula
Lista 13 1) Desenvolva um programa em Pascal que receba do usuário um vetor de 10 posições, multiplique os valores em índice ímpar por 10 e divida os valores em índice par por 10. Depois apresente ao usuário
Leia maisPascal. -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 maisAlgoritmos e Programação. AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO
1 Algoritmos e Programação AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO 2 Recursividade A recursão é o processo pelo qual passa um
Leia maisSub Rotinas. Estrutura de Dados. Prof. Kleber Rezende
Sub Rotinas Estrutura de Dados Prof. Kleber Rezende Considerações Iniciais Uma dos métodos mais comuns e amplamente utilizados em programação de computadores é o Top-Down. Nesta abordagem um problema é
Leia maisAlgoritmos 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 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 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 maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: estruturas de repetição While / Do While / For Prof. Renato Pimentel 1 Estruturas de repetição O real poder dos computadores está
Leia maisPython Funções. Introdução à Programação SI1
Python Funções Introdução à Programação SI1 Conteúdo Funções Conceitos Objetivos Modularização Exemplos Exercícios 2 Funções O que são? Qual a função de uma função? 3 Imagine o código 4 Imagine o código
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 maisProf. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35
INE5603 Introdução à POO Prof. A. G. Silva 25 de setembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de 2017 1 / 35 Baseado em materiais da Recursividade Unisinos, Cesar Tacla (UTFPR),
Leia maisSérie de Exercícios - Comandos Repetitivos 1. Codificar o algoritmo para imprimir os N primeiros números naturais pares.
Série de Exercícios - Comandos Repetitivos 1. Codificar o algoritmo para imprimir os N primeiros números naturais pares. 2. Codificar um algoritmo que simule o jogo de adivinhação: o jogador 1 escolhe
Leia maisProgramação Introdução
PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,
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 maisEstruturas Compostas Matriz
Estruturas Compostas Matriz Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2017 Slides inicialmente preparados pela Profa. Dra. Simone Souza 2 Introdução n Como armazenar um nome em um programa? n Uso
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 maisFUNÇÕ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 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 maisUniversidade Estadual do Maranhão Curso de Engenharia da Computação Mestrado em Engenharia da Computação e Sistemas
Notas de Aulas Sub-rotinas Prof. Dr. Luís Carlos Costa Fonseca São Luís 2013 Geralmente, problemas complexos exigem algoritmos complexos, mas sempre é possível dividir um problema grande em problemas menores.
Leia mais1 ESTRUTURA SEQUENCIAL
Noções de Programação de Computadores Prof. Eduardo 1 1 ESTRUTURA SEQUENCIAL algoritmo Nome_do_algoritmo declaração de variáveis variáveis inicio bloco de comandos; fim_algoritmo 1.1 Declaração de variáveis
Leia mais1ª Lista de Exercícios
Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule
Leia maisEstrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas
Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Programa em Linguagem Algorítmica Nesse curso nós vamos utilizar a linguagem algorítmica para
Leia maisIntrodução à Programação em C
Introdução à Programação em C Funções Resumo Aula Anterior Tabelas Strings (Tabelas de Caracteres) 2 1 Resumo Funções Definição Protótipo e implementação return e void Passagem por valor Exemplos 3 Funções
Leia maisALGORITMO ALGORITMO NÃO COMPUTACIONAL
Lógica & Algoritmos ALGORITMO Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema. ALGORITMO NÃO COMPUTACIONAL Abaixo é apresentado
Leia mais08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 Elementos Básicos Tipos de dados Dados e seus tipos: Computadores lidam com diversos tipos de dados: numéricos,
Leia 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 maisAlgoritmos e Programação
Algoritmos e Programação Aula 2 Elementos fundamentais de Algoritmos, Conceitos de Variáveis Profa. Marina Gomes marinagomes@unipampa.edu.br 21/03/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje
Leia maisSubprogramaçã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 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 maisEstruturas 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É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser
É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser executado 1 Fazendo estimativas e simplificações... O número
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 maisESTRUTURAS DE REPETIÇÃO - PARTE 1
AULA 15 ESTRUTURAS DE REPETIÇÃO - PARTE 1 15.1 O comando enquanto-faca- Considere o problema de escrever um algoritmo para ler um número inteiro positivo, n, e escrever todos os números inteiros de 1 a
Leia maisEXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão)
EXERCÍCIOS: Estrutura Sequencial, IF (SE), ELSE (Senão) Exercício 1) Escreva um programa para ler um número o o Se o número é par, mostre na tela o texto "O número é par" Senão, mostre na tela o texto
Leia maisEstrutura de Exclusão Múltipla
Estrutura de Exclusão Múltipla Lista de Exercícios 03 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior IMPORTANTE: Lembre-se! As respostas apresentadas a seguir não são únicas. Ou
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes
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 maisAlgoritmos e Programação
Universidade Federal do Pampa Campus-Bagé Algoritmos e Programação Aula 2 - Elementos fundamentais de Algoritmos, Conceitos de Varíaveis Prof. Julio Saraçol juliodomingues@unipampa.edu.br Slide1 Aula de
Leia maisModularização de Programas
Modularização de Programas SSC 304 - Introdução à Programação para Engenharias Profa. Dra. Elisa Yumi Nakagawa Slides inicialmente preparados pela Profa. Dra. Simone Souza MODULARIZAÇÃO Um problema complexo
Leia maisApostila de Portugol
Apostila de Portugol TIPOS PRIMITIVOS DE DADOS INTEIRO ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É UTILIZADO PARA REPRESENTAR UMA CONTAGEM (QUANTIDADE). REAL ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS).
Leia maisLinguagem C. André Tavares da Silva.
Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser
Leia maisIntrodução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)
Introdução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039) F REDDY BRASILEIRO www.inf.ufes.br/~fbrasileiro fbrasileiro@inf.ufes.br Conteúdo 4. Elementos fundamentais
Leia mais