Baixe o app para aproveitar ainda mais
Prévia do material em texto
10/19/2014 1 ESTRUTURA DE REPETIÇÃO COM VARIÁVEL DE CONTROLEA U LA 8 173ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 174 ESTRUTURAS DE REPETIÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 175 Uma estrutura de repetição é utilizada quando um trecho do algoritmo ou até mesmo o algoritmo inteiro precisa ser repetido. O número de repetições pode ser fixo ou estar atrelado a uma condição. Assim, existem estruturas para tais situações, descritas a seguir. ESTRUTURAS DE REPETIÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 176 Essa estrutura de repetição é utilizada quando se sabe o número de vezes que um trecho do algoritmo deve ser repetido. O formato geral dessa estrutura é: para i valor_inicial até valor_final faça [passo n] início comando 1 comando 2 comando n fim ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 177 O comando 1, o comando 2 e o comando n serão executados utilizando a variável i como controle, e seu conteúdo vai variar do valor inicial até o valor final. A informação do passo está entre colchetes porque é opcional. O passo indica como será a variação da variável de controle. Por exemplo, quando for indicado passo 2 , a variável de controle será aumentada em 2 unidades a cada iteração até atingir o valor final. Quando a informação do passo for suprimida, isso significa que o incremento ou o decremento da variável de controle será de 1 unidade. ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 178 Quando houver apenas um comando a ser repetido, os marcadores de bloco início e fim poderão ser suprimidos. O comando escreva i será executado dez vezes, ou seja, para i variando de 1 a 10. Assim, os valores de I serão: 1, 2, 3, 4, 5, 6, 7, 8, 9 e 10. para i1 até 10 faça passo 1 escreva i ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 10/19/2014 2 179 O comando escreva j será executado cinco vezes, ou seja, para J variando de 1 a 10, de 2 em 2. Assim, os valores de j serão: 1, 3, 5, 7 e 9. para j 1 até 9 faça passo 2 escreva j O comando escreva i será executado seis vezes, ou seja, para i variando de 10 a 5. Assim, os valores de i serão: 10, 9, 8, 7, 6 e 5. para i 10 até 5 faça passo -1 escreva i ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 180 O comando escreva j será executado oito vezes, ou seja, para j variando de 15 a 1, de 2 em 2. Assim, os valores de j serão: 15, 13, 11, 9, 7, 5, 3 e 1. para j 15 até 1 faça passo -2 escreva j ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 181 Em linguagem C++ a estrutura segue o seguinte formato for (i = valor inicial ; condição ; incremento ou decremento de i) { comandos; } ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 1 2 3 182 A primeira parte atribui um valor inicial à variável i, que tem como função controlar o número necessário de repetições. A segunda parte corresponde a uma expressão relacional que, quando assumir valor falso, determinará o fim da repetição. A terceira parte é responsável por alterar o valor da variável i (incremento ou decremento) com o objetivo de, em algum momento, fazer com que a condição assuma valor falso. ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 183 Caso seja necessário a repetição de apenas um comando, o compilador entenderá que a estrutura de repetição terminará quando for encontrado o primeiro (ponto-e- vírgula). for (a=1;a<=20;a++) cout<<“O valor de a é: “<< a; ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 184 No exemplo anterior, à variável a é atribuído inicialmente o valor 1 e depois vai sendo incrementada em uma unidade. A cada incremento, o comando cout é executado. Esse processo se repete até o valor da variável a se tornar maior que 20 (quando a condição a <= 20 assumirá valor falso). ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 10/19/2014 3 185 Se for necessário a repetição de mais de um comando, a estrutura de repetição começará quando for encontrado o símbolo { e terminará quando for encontrado o símbolo } Exemplo: for (a=15;a>=1;a=a-2) { cout<<"digite um número: “; cin>>x; } ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 186 No exemplo anterior, a variável a é inicializada com o valor 15 e vai sendo decrementada em duas unidades. A cada decremento, o bloco de comando que está entre chaves { ... } é executado. Esse processo se repete até o valor da variável a se tornar menor que 1 (quando a condição a>=i assumir valor falso). ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 187 for (i = 1; i <=5; i++) cout<<“O valor de i: “<< i; ou for (i = 1; i <=5; i=i+1) cout<<“O valor de i: ”<< i; Nos trechos de programa acima, que expressam a mesma coisa, o comando cout será executado cinco vezes, ou seja, para i valendo 1, 2, 3, 4 e 5. ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 188 for (i = 10; i >= 1; i--) cout<<“O valor de i: ”<< i; ou for (i = 10; i >= 1; i=i-1) cout<<“O valor de i: ”<< i; Nos trechos de programa acima, que são exatamente a mesma coisa, o comando cout será executado dez vezes, ou seja, para i valendo 10, 9, 8, 7, 6, 5, 4, 3, 2, 1. ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 189 for (i = 0; i <= 10; i=i+2) cout<<“O valor de i: ”<< i; No trecho de programa acima, o comando cout será executado seis vezes, ou seja, para i valendo 0, 2, 4, 6, 8 e 10. for (i = 100; i >= 0; i=i-20) cout<<“O valor de i: ”<<i; No trecho de programa acima, o comando cout será executado seis vezes, ou seja, para i valendo 100, 80, 60, 40, 20 e 0. ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 190 Alterar a variável de controle de 1 a 100 em incrementos de 1. for ( int i= 1; i <= 100; i++ ) Alterar a variável de controle de 100 para baixo até 1 em incrementos de -1 (isto é, decrementos de 1). for ( int i = 100; i >= 1; i-- ) Alterar a variável de controle de 7 a 77 em passos de 7. for ( int i = 7; i <= 77; i += 7 ) ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 10/19/2014 4 191 Alterar a variável de controle de 20 para baixo até 2 em passos de -2. for ( int i = 20; i >= 2; i -= 2 ) Alterar a variável de controle sobre a seguinte sequência de valores: 2, 5, 8,11,14,17, 20. for ( int i = 2; i <= 20; i +=3 ) Alterar a variável de controle sobre a seguinte sequência de valores: 99, 88, 77, 66, 55, 44, 33, 22, 11, 0. for ( int i = 99; i >= .0; i -= 11 ) ESTRUTURAS DE REPETIÇÃO Com variável de controle ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba ESTRUTURA DE REPETIÇÃO COM TESTE NO INÍCIO E COM TESTE NO FINAL A U LA 9 192ENGENHARIAS – LÓGICA DEPROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 193 Estrutura de repetição para número indefinido de repetições e teste no início (estrutura enquanto). Essa estrutura de repetição é utilizada quando não se sabe o número de vezes que um trecho do algoritmo deve ser repetido, embora também possa ser utilizada quando se conhece esse número. Essa estrutura baseia-se na análise de uma condição. A repetição será feita enquanto a condição mostrar-se verdadeira. ESTRUTURA DE REPETIÇÃO Com teste no início ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 194 Existem situações em que o teste condicional da estrutura de repetição, que fica no início, resulta em um valor falso logo na primeira comparação. Nesses casos, os comandos de dentro da estrutura de repetição não serão executados. enquanto condição faça comando1 Enquanto a condição for verdadeira, o comando 1 será executado. ESTRUTURA DE REPETIÇÃO Com teste no início ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 195 enquanto condição faça início comando1 comando2 comando3 fim Enquanto a condição for verdadeira, o comando 1, o comando 2 e o comando 3 serão executados. ESTRUTURA DE REPETIÇÃO Com teste no início ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 196 x1 y5 enquanto x < y faça início xx + 2 yy + 1 fim ESTRUTURA DE REPETIÇÃO Com teste no início ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba Neste trecho do algoritmo, os comandos que estão dentro da estrutura de repetição serão repetidos quatro vezes. 10/19/2014 5 197 x1 y1 enquanto x <= 5 faça início yy * x x x + 1 fim ESTRUTURA DE REPETIÇÃO Com teste no início ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba Neste trecho do algoritmo, os comandos que se localizam na estrutura de repetição serão repetidos cinco vezes. Nesse exemplo, a estrutura ENQUANTO é utilizada para repetir o trecho do algoritmo um número definido de vezes. 198 ESTRUTURA DE REPETIÇÃO Com teste no início ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba A Trata-se de uma estrutura de repetição que pode ser utilizada quando o número de repetições necessárias não é fixo. Os comandos serão repetidos até a condição assumir o valor falso. Nesse tipo de estrutura, o teste condicional ocorre no início. Isto significa que existe a possibilidade da repetição não ser executada quando a condição assumir valor falso logo na primeira verificação. while (condição) - comando Enquanto a condição for verdadeira, o comando será executado. 199 ESTRUTURA DE REPETIÇÃO Com teste no início ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba while (condição) { comando1; comando2; comando3; } Enquanto a condição for verdadeira, os comandos que estão dentro das chaves serão executados (comando1, comando2, comando3...). 200 ESTRUTURA DE REPETIÇÃO Com teste no início ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba x = 0; while (x != 5) { cout<<"valor de x - " << x; x = x + 1; } cout<<"valor de x depois que sair da estrutura = “<< x; No trecho de programa acima, os comandos cout e x = x + i; serão executados cinco vezes. O teste condicional avaliará x valendo 0, 1, 2, 3. 4 e 5. 201 ESTRUTURA DE REPETIÇÃO Com teste no início ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba x = 1; y= 10; while (y > x) { cout<<"valor de y = “<< y; y= y - 2; } cout<<"valor de y depois que sair da estrutura = “<< y; No trecho de programa acima, os comandos cout e y= Y - 2; serão executados cinco vezes. O teste condicional avaliará Y valendo 10, 8, 6, 4, 2 e 0. 202 ESTRUTURA DE REPETIÇÃO Com teste no início ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba x = 1; y = 1; while (x < y) { cout<<"valor de x = “<<x; x = x + 1; } No trecho de programa acima, os comandos cout e x = x + 1, não serão executados, pois com os valores iniciais de x e y a condição é falsa, logo, não ocorrerá a entrada na estrutura de repetição para execução de seus comandos. 10/19/2014 6 203 ESTRUTURA DE REPETIÇÃO Com teste no final ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba Essa estrutura de repetição é utilizada quando não se sabe o número de vezes que um trecho do algoritmo deve ser repetido, embora também possa ser utilizada quando se conhece esse número. Essa estrutura baseia-se na análise de uma condição. A repetição será feita até a condição tornar-se verdadeira. 204 ESTRUTURA DE REPETIÇÃO Com teste no final ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba A diferença entre a estrutura enquanto e a estrutura repita é que nesta última os comandos serão repetidos pelo menos uma vez, já que a condição de parada se encontra no final. repita comandos até condição 205 ESTRUTURA DE REPETIÇÃO Com teste no final ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba x1 y5 repita x x + 2 y y + 1 até x >= y Neste trecho do algoritmo, os comandos de dentro da estrutura de repetição serão repetidos quatro vezes. 206 ESTRUTURA DE REPETIÇÃO Com teste no final ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba x 1 y 1 repita y y * x x x + 1 até x = 6 Neste trecho do algoritmo, os comandos que se localizam dentro da estrutura de repetição serão repetidos cinco vezes. Nesse exemplo, a estrutura REPITA é utilizada para repetir o trecho do algoritmo um número definido de vezes. 207 ESTRUTURA DE REPETIÇÃO Com teste no final ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba Trata-se de uma estrutura de repetição que pode ser utilizada quando o número de repetições necessárias não é fixo. Os comandos serão repetidos até a condição assumir o valor falso. Nesse tipo de estrutura, o teste condicional ocorre no fim. Isso significa que a repetição será executada no mínimo uma vez, quando todo o bloco for executado uma vez e, ao final, a condição assumir valor falso. 208 ESTRUTURA DE REPETIÇÃO Com teste no final ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba do{ comandos; }while (condição); Os comandos serão repetidos até que a condição assuma valor falso. 10/19/2014 7 209 ESTRUTURA DE REPETIÇÃO Com teste no final ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba x = 0; do{ cout<< "valor de x = “<<x; x = x + 1; }while (x != 5); cout<<"valor de x depois que sair da estrutura = “<<x; Os comandos cout e x = x + i; serão executados cinco vezes. O teste condicional avaliará x valendo 0, 1, 2, 3, 4 e 5. 210 ESTRUTURA DE REPETIÇÃO Com teste no final ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba x = 1; y= 10; do{ cout<< "valor de y = “ << y; y= y - 2; }while (y > x); cout<< "valor de y depois que sair da estrutura = “<<y; Os comandos cout e Y = Y – 2; serão executados cinco vezes. O teste condicional avaliará Y valendo 10, 8, 6, 4, 2 e 0. 211 Um funcionário de uma empresa recebe aumento salarial anualmente. Sabe-se que: Esse funcionário foi contratado em 2005, com salário inicial de R$ 1.000,00. Em 2006, ele recebeu aumento de 1,5% sobre seu salário inicial. A partir de 2007 (inclusive), os aumentos salariais sempre corresponderam ao dobro do percentual do ano anterior. Faça um programa que determine o salário atual desse funcionário. EXERCÍCIO RESOLVIDO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco /Joelio Piraciaba 212 algoritmo declare i, ano_atual, salario numérico novo_salario, percentual numérico leia ano_atual salario 1000 percentual 1,5/100 novo_salario salario + percentual * salario para i 2007 até ano_atual faça início percentual 2 * percentual novo_salario novo_salario + percentual * novo_salario fim escreva novo_salario fim algoritmo EXERCÍCIO RESOLVIDO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 213 Faça um programa que leia um valor N inteiro e positivo, calcule e mostre o valor de E, conforme a fórmula a seguir: EXERCÍCIO RESOLVIDO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 214 algoritmo declare n, e, i, j, fat numérico leia n e1 para i 1 até n faça início fat 1 para j 1 até i faça início fat fat * j fim ee + 1/fat fim escreva e fim_algoritmo. EXERCÍCIO RESOLVIDO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 10/19/2014 8 MODULARIZAÇÃO A U LA 1 0 215ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 216 Uma das técnicas aplicadas na programação estruturada, é a modularização de programas uma ferramenta para a elaboração de programas visando, os aspectos de confiabilidade, legibilidade, manutenibilidade e flexibilidade, dentre outros. A modularização é um processo que aborda os aspectos da decomposição de algoritmos em módulos. Módulo é um grupo de comandos, constituindo um trecho do algoritmo, com uma função bem definida e o mais independente possível em relação ao resto do algoritmo. MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 217 Funções são módulos hierarquicamente subordinados a um algoritmo, comumente chamado de módulo principal. Da mesma forma uma função pode conter outras funções aninhadas. A função é criadas através das suas declarações em um algoritmo e para serem executadas, necessitam de ativação por um comando de chamada. A declaração de função é constituída de um cabeçalho, que a identifica e contém seu nome e uma lista de parâmetros formais, e de um corpo que contém declarações locais e os comandos. MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 218 As funções permitem estruturar o código de uma forma mais modular, aproveitando as potencialidades da programação estruturada que a linguagem C++ oferece. Uma função é um bloco de instruções que é executado quando é chamada em alguma parte do programa. As variáveis declaradas em uma função só são acessíveis na função MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 219 A sintaxe de uma função é a seguinte: <tipo-de-dados> <id-da-função>( <argumento 1>,<argumento 2>,...) { <bloco-de-instruções> } <tipo-de-dados> – este é o tipo de dados devolvido pela função; <id-da-função> – este é o identificador pela qual a função é conhecida. As regras para definição de um identificador são as mesmas que para as variáveis; MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 220 <argumento 1>, <argumento 2>,... – estes são os argumentos da função (o número de argumentos é variável, pode ser zero). Cada argumento consiste num tipo de dados seguido do identificador pelo qual esse argumento vai ser identificado dentro da função (por exemplo int x). Um argumento é como uma declaração de uma variável dentro da função. Os argumentos permitem passar parâmetros para dentro de uma função quando esta é invocada. Os diferentes parâmetros tem que ser separados pelo operador vírgula (’,’); <bloco de instruções> – é o corpo da função e tem que estar sempre delimitado por chavetas({}). É constituído por zero ou mais instruções. MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 10/19/2014 9 221 #include <iostream> using namespace std; int soma ( int n1 , int n2 ); int main ( ){ int a , b , z ; a=5; b=3; z = soma ( a , b ) ; cout << "Resultado : " << z ; return 0 ; } int soma ( int n1 , int n2 ){ int r ; r=n1+n2 ; return r ; } MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 222 Criação da função Função tipo NOME (LISTA DE PARÂMETROS FORMAIS) Declarações dos objetos locais à função Comandos da função Fim função Chamada da função NOME (LISTA DE PARÂMETROS ATUAIS) MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 223 Como esta função irá retornar um valor, este pode ser atribuído a alguma variável, contanto que esta seja de tipo compatível. A NOME (lista-de-parâmetros-atuais); Ao terminar a execução dos comandos de uma função, o fluxo de controle retorna ao comando seguinte àquele que provocou a chamada. MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 224 Os parâmetros de uma função classificam-se em: de entrada – são aqueles que têm seus valores estabelecidos fora da função e não podem ser modificados dentro dela. de saída – são aqueles que têm seus valores estabelecidos dentro da função. de entrada-saída – são aqueles que têm seus valores estabelecidos fora da função, mas podem ter seus valores alterados dentro dela. MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 225 MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba FUNÇÕES SEM PARAMETROS COM PARAMETROS SEM RETORNO #include<iostream> void calcular(); int main(){ calcular(); system("pause"); return 0; } void calcular(){ int result, x=5; result=x*x; cout<<result; } #include<iostream> void calcular(int x); int main(){ int n=5; calcular(n); system("pause"); return 0; } void calcular(int x){ int result; result=x*x; cout<<result; } COM RETORNO #include<iostream> int calcular(); int main(){ int resp; resp=calcular(); cout<<resp; system("pause"); return 0; } int calcular(){ int result, x=5; result=x*x; return(result); } #include<iostream> int calcular(int x); int main(){ int resp; resp=calcular(5); cout<<resp; system("pause"); return 0; } int calcular(int x){ int result; result=x*x; return(result); } 226 #include <iostream> void h( int a ){ int x ; cout<<"Funcao h"<<endl ; } void g ( int a ){ int x ; cout<<"Funcao g"<<endl ; } void f ( ){ int x ; cout<<"Funcao f "<<endl ; g ( x ) ; h( x ) ; } int main ( ){ f ( ) ; return 0 ; } MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 10/19/2014 10 227 A vinculação entre módulos pode ser feita através da transferência ou passagem de parâmetros, que associam parâmetros atuais com parâmetros formais. Dentre os modos de transferência de parâmetros, pode- se destacar: a passagem por valor; passagem por referência. MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 228 Na passagem de parâmetros por valor, as alterações feitas nos parâmetros formais, dentro da função, não se refletem nos parâmetros atuais. O valor do parâmetro atual é copiado no parâmetro formal, na chamada da função. Assim, quando a passagem é por valor significa que o parâmetro é de entrada. MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba 229 #include <iostream> int soma ( int n1 , int n2 ){ int r ; r=n1+n2 ; return r ; } int main ( ){ int a , b , z ; a=5; b=3; z = soma ( a , b ) ; cout << "Resultado : " << z ; return 0; } MODULARIZAÇÃO ENGENHARIAS – LÓGICA DE PROGRAMAÇÃO – Henry Lubanco / Joelio Piraciaba
Compartilhar