A modularização é uma técnica de programação usada para dividir um programa em partes menores, organizando-as de acordo com suas funcionalidades.
|
|
- Sérgio Moreira Lobo
- 6 Há anos
- Visualizações:
Transcrição
1 UFES CEUNES Ciência da Computação e Engenharia de Computação Programação Estruturada 2º período 2013/1 Lista de exercícios 07 Assuntos novos: modularização e funções Resumo e exemplos A modularização é uma técnica de programação usada para dividir um programa em partes menores, organizando-as de acordo com suas funcionalidades. Essas partes, trechos, ou módulos, na Linguagem C, são chamadas de funções e, espera-se que elas possuam um objetivo específico dentro do programa, realizando, de fato, uma funcionalidade. Benefícios da modularização: Permite testar e achar erros mais facilmente: pode-se testar cada parte separadamente. Evita a repetição de código: trechos de código repetitivos podem ser escritos uma única vez. Aumenta a reutilização: fácil utilizar trechos de programa úteis em outras situações, no próprio programa ou em outro programa. Aumenta o nível de alterabilidade do programa: basta alterar uma vez o módulo, pois ele já é reusado em outros lugares. Aumenta a legibilidade do programa: principalmente para o programa principal que fica menor, mais limpo e, consequentemente, fica mais fácil de ser lido. Permite a construção de abstrações sobre os problemas: foca-se na resolução de um problema com o uso de funções já construídas anteriormente e não nos detalhes de uma programação específica que foi encapsulada dentro da função. A Linguagem C possui uma grande biblioteca de funções já prontas. Algumas delas já usamos nas aulas: printf, scanf, srand, rand, gets, pow, sqrt, fflush etc. Como motivação inicial para perceber a importância da modularização, estude os dois exemplos a seguir. Exemplo 1: No código fornecido a seguir existem muitas repetições além do tamanho excessivo da função main. Este código soluciona o seguinte problema: Deseja-se armazenar, de uma turma composta de 30 alunos, apenas o nome e a média de cada aluno. Para isso, serão informados o nome, a nota da primeira prova, a nota da segunda prova e os pontos extras de participação de cada aluno. A média deve ser calculada sobre as duas primeiras notas, adicionando-se, em seguida, os pontos de participação, mas sempre obedecendo ao limite máximo de 10 para a média. Para cada uma das notas e também para os pontos não permita que seja digitado valor fora da faixa de 0 a 10. Após a entrada de dados deve-se exibir a relação de alunos com os seus nomes e médias. Lista de exercícios 07 Programação Estruturada 2013/1 página 1 / 10
2 // Versão 1: SEM MODULARIZAÇÃO #include <stdio.h> #include <stdlib.h> #define MAX_ALUNOS 30 #define TAM_NOME 50 struct TipoAluno { char nome[tam_nome]; float media; ; int main() { struct TipoAluno alunos[max_alunos]; float nota1, nota2, pontos; int i; for(i=0; i < MAX_ALUNOS; i++) { printf("\nentre com o nome do aluno: "); fflush(stdin); gets(alunos[i].nome); printf("entre com a primeira nota (0 a 10): "); do { scanf("%f", ¬a1); if(nota1 < 0 nota1 > 10) { printf("erro, valor deve ser de 0 a 10 \n"); while(nota1 < 0 nota1 > 10); printf("entre com a segunda nota (0 a 10): "); do { scanf("%f", ¬a2); if(nota2 < 0 nota2 > 10) { printf("erro, valor deve ser de 0 a 10 \n"); while(nota2 < 0 nota2 > 10); printf("entre com os pontos (0 a 10): "); do { scanf("%f", &pontos); if(pontos < 0 pontos > 10) { printf("erro, valor deve ser de 0 a 10 \n"); while(pontos < 0 pontos > 10); float media = (nota1 + nota2)/2 + pontos; // não permite que a media seja maior 10 if(media > 10) media = 10; alunos[i].media = media; printf("\n\nexibicao dos dados:"); for(i=0; i < MAX_ALUNOS; i++) { printf("\n\naluno: %s", alunos[i].nome); printf("\nmedia: %.2f", alunos[i].media); return 0; Lista de exercícios 07 Programação Estruturada 2013/1 página 2 / 10
3 // Versão 2: MODULARIZADO #include <stdio.h> #include <stdlib.h> #define MAX_ALUNOS 30 #define TAM_NOME 50 struct TipoAluno { char nome[tam_nome]; float media; ; // protótipos das funções float solicitanota(void); float calculamedia(float nota1, float nota2, float pontos); void exibealuno(struct TipoAluno aluno); // programa principal com as chamadas das funções criadas int main(void) { // As variáveis criadas aqui dentro (chamadas de variáveis locais) não são // visíveis em outras funções. Variáveis declaradas fora de qualquer função // são chamadas de variáveis globais. // Se houver necessidade de acessar uma variável dentro de outra função // deve-se passa-la como argumento como acontece com: calculamedia e exibealuno struct TipoAluno alunos[max_alunos]; float nota1, nota2, pontos; int i; for(i=0; i < MAX_ALUNOS; i++) { printf("\nentre com o nome do aluno: "); fflush(stdin); gets(alunos[i].nome); printf("entre com a primeira nota (0 a 10): "); nota1 = solicitanota(); printf("entre com a segunda nota (0 a 10): "); nota2 = solicitanota(); printf("entre com os pontos (0 a 10): "); pontos = solicitanota(); alunos[i].media = calculamedia(nota1, nota2, pontos); printf("\n\nexibicao dos dados:"); for(i=0; i < MAX_ALUNOS; i++) exibealuno(alunos[i]); return 0; Lista de exercícios 07 Programação Estruturada 2013/1 página 3 / 10
4 // Funções: // solicita uma nota exigindo que a mesma esteja na faixa válida: 0 a 10 float solicitanota(void) { // a variável nota tem escopo local, ou seja ela só existe dentro desta função float nota; do { scanf("%f", ¬a); if(nota < 0 nota > 10) { printf("erro, valor deve ser de 0 a 10 \n"); while(nota < 0 nota > 10); return nota; // calcula a média a partir de duas notas e pontos extras // não permitindo que a média ultrapasse de 10 float calculamedia(float nota1, float nota2, float pontos) { // a variável media tem escopo local, ou seja ela só existe dentro desta função float media = (nota1 + nota2)/2 + pontos; // não permite que o retorno seja maior que 10 if(media > 10) return 10; else return media; // exibe os dados de uma aluno passado como argumento void exibealuno(struct TipoAluno aluno) { printf("\n\naluno: %s", aluno.nome); printf("\nmedia: %.2f", aluno.media); Exemplo 2: O programa a seguir calcula o cosseno dos ângulos pares de 0 a 180, sem usar math.h. O ângulo em graus é convertido para radianos e em seguida, usando a série de Taylor, proposta como exercício 33 da lista 3, calcula-se o cosseno deste ângulo. Um laço de 0 a 180 de 2 em 2 faz a iteração principal para processar os cálculos. Série de Taylor para o cosseno: Lista de exercícios 07 Programação Estruturada 2013/1 página 4 / 10
5 // versão 1: SEM MODULARIZAÇÃO #include <stdio.h> #define PI #define QTDE_TERMOS 7 int main() { int angulograus, i, sinal, fatorial; float anguloradianos, numerador, resultado; for(angulograus=0; angulograus<=180; angulograus+=2) { // conversão de graus para radianos anguloradianos = angulograus*pi/180; // inicializa as variáveis sinal=1; fatorial=2; numerador=1; resultado=1; // calcula o cosseno de angulograus for (i = 1; i < QTDE_TERMOS; i++) { sinal = -1*sinal; numerador = numerador*anguloradianos*anguloradianos; resultado = resultado + sinal*numerador/fatorial; fatorial = fatorial*(i*2+1)*(i*2+2); printf("cosseno de %d graus (%.2f radianos)=%.2f\n",angulograus,anguloradianos,resultado); return 0; Na versão 2, observe que foram criadas duas funções: uma para transformar graus em radianos, e outra para calcular o cosseno. Desta forma o programa principal ficou bem mais limpo e com melhor legibilidade. // versão 2: MODULARIZADO #include <stdio.h> #define PI #define QTDE_TERMOS 7 // protótipos das funções (é o cabeçalho das funções que serão usadas) float convertegrausemradianos(float graus); float calculacosseno(float graus); int main() { int angulograus; float cosseno; for(angulograus=0; angulograus<=180; angulograus+=2) printf("cosseno de %d graus (%.2f radianos) = %.2f\n", angulograus, convertegrausemradianos(angulograus),calculacosseno(angulograus)); return 0; float convertegrausemradianos(float graus) { return graus*pi/180; Lista de exercícios 07 Programação Estruturada 2013/1 página 5 / 10
6 float calculacosseno(float graus) { int i, sinal=1, fatorial=2; float numerador=1, resultado=1, anguloradianos; anguloradianos = convertegrausemradianos(graus); for (i = 1; i < QTDE_TERMOS; i++) { sinal = -1*sinal; numerador = numerador*anguloradianos*anguloradianos; resultado = resultado + sinal*numerador/fatorial; fatorial = fatorial*(i*2+1)*(i*2+2); return resultado; Exercícios 1. No programa do exemplo 1, acrescente na estrutura que representa o aluno um campo para armazenar a quantidade de faltas. Faça as modificações necessárias no programa para que o novo campo seja utilizado na entrada e saída de dados. Dê um bônus de 0,5 pontos na média final para o aluno que não tem faltas. Para isso, crie as seguintes duas funções: a função 'solicitafaltas' que faz a entrada da quantidade de faltas. Observe o funcionamento semelhante da função 'solicitanota' a função bonusmedia, que retorna 0,5 pontos sempre que o aluno não tiver faltas. Para isso, ela deverá receber a quantidade de faltas como argumento. Faça a sua chamada de dentro da função calculamedia para acrescentar a pontuação de bônus de forma apropriada e altere o que for necessário em calculamedia. Sugestão para o protótipo destas funções: float solicitanota(void); float calculamedia(float nota1, float nota2, float pontos, int fal); float bonusmedia(int fal); 2. Ainda no exemplo 1, acrescente a função 'exibetodosalunos'. Esta função deverá receber como argumento o vetor contendo todos os alunos e fazer a exibição de cada um através da chamada da função já existente 'exibealuno'. Sugestão de protótipo: void exibetodosalunos(struct TipoAluno turma[]); Observe que o parâmetro turma indicado com colchetes [] se refere ao vetor inteiro e não somente a um aluno. Após a sua construção, use-a no programa principal. Lista de exercícios 07 Programação Estruturada 2013/1 página 6 / 10
7 3. Modifique o exemplo (juntamente com as alterações propostas nos exercícios 1 e 2) para que a quantidade de alunos possa ser decidida durante a entrada de dados. Por exemplo, permita que o usuário finalize a entrada quando o nome for vazio. Observe que a função exibetodosalunos precisará da quantidade de alunos que deixa de ser sempre especificada pela constante MAX_ALUNOS. Sugestão de protótipo: void exibetodosalunos(struct TipoAluno turma[], int qtde); 4. Crie um programa que apresente um menu de seleções no programa principal (função main) permitindo o usuário escolher uma das quatro operações aritméticas. Em seguida, solicite os dois operandos, calcule e exiba o resultado da operação escolhida sobre os dois valores informados. Exemplo de tela na console: Escolha uma opcao: 1 somar 2 subtrair 3 multiplicar 4 dividir Modularize: Crie uma função para exibir o menu, permitir que o usuário escolha uma das 4 opções e devolver o número da opção escolhida. Em caso de opção errada, apenas retorne o número errado. Crie quatro funções para representar as quatro operações aritméticas. Cada uma delas deverá receber os dois números (operandos) como argumentos e devolver o resultado da operação. Na função que trata a divisão, verifique os casos de divisão por zero e divisão indeterminada (zero por zero), nesses dois casos, exiba mensagem de erro e retorne zero. No programa principal, chame a função que exibe o menu e solicita a opção, em seguida solicite ao valores dos operandos, depois, através de um switch chame a função específica da operação selecionada e, finalmente, exiba o resultado. 5. Faça um programa para receber um número inteiro do usuário. Em seguida verifique se ele é: par divisível por três. divisível por cinco. primo perfeito (é aquele cuja soma de seus divisores (excluindo ele próprio) é igual a ele mesmo, por exemplo, o número 6 tem como divisores 1,2 e 3, cuja soma é 6). Crie uma função para cada item acima, de tal forma que receba o número a ser verificado, como argumento, e devolva 1 para verdadeiro e 0 para falso. Lista de exercícios 07 Programação Estruturada 2013/1 página 7 / 10
8 6. Complete o programa fornecido, definindo as funções ordena e exibe, de tal forma que se tenha a saída mostrada. #include <stdio.h> #include <string.h> #define MAX 10 struct TipoDado { char nome[max]; int idade; ; // protótipos das funções void ordena(struct TipoDado dados[], char chave, int qtde); void exibe(struct TipoDado dados[], int qtde); int main() { struct TipoDado dados[] ={{"mateus",20,{"maria",25,{"marina",18,{"marcos",40; int qtde = sizeof(dados)/sizeof(dados[0]); // no gcc win: 64/16 = 4 printf("dados sem ordenacao:\n"); exibe(dados,qtde); ordena(dados,'n',qtde); // ordena pelo nome printf("\ndados ordenados pelo nome:\n"); exibe(dados, qtde); ordena(dados,'i',qtde); // ordena pela idade printf("\ndados ordenados pela idade:\n"); exibe(dados,qtde); return 0; Saída: Dados sem ordenacao: Nome: mateus Idade: 20 Nome: maria Idade: 25 Nome: marina Idade: 18 Nome: marcos Idade: 40 Dados ordenados pelo nome: Nome: marcos Idade: 40 Nome: maria Idade: 25 Nome: marina Idade: 18 Nome: mateus Idade: 20 Dados ordenados pela idade: Nome: marina Idade: 18 Nome: mateus Idade: 20 Nome: maria Idade: 25 Nome: marcos Idade: Desenvolva um programa para permitir o cadastro de 50 alunos. Cada aluno deve ser representado por uma estrutura formada por uma matrícula (exatamente 5 caracteres contendo letras e números), um nome (máximo de 40 caracteres) e um histórico de notas. O histórico de notas, que também deve ser representado por uma estrutura, é composto de duas notas de provas, uma nota de trabalho e uma nota de pontuação extra. Lista de exercícios 07 Programação Estruturada 2013/1 página 8 / 10
9 Elabore uma função para calcular e retornar a média das notas. Esta média é calculada somando-se as quatro notas e dividindo-se por três. Se o resultado for superior a 10 deve-se retornar 10. Exiba todas as informações cadastradas e a média das notas de cada aluno. Além disto, calcule e exiba a quantidade de alunos cuja média foi de 7 a 10, e exiba a maior média dos 50 alunos. Obs.: não permita digitação de notas fora da faixa de 0 a 10; sempre que possível reaproveite o código através da modularização; escreva o protótipo da função que calcula a média; use somente variáveis locais para resolver este problema. 8. Sem usar math.h desenvolva um programa para calcular o valor de funções trigonométricas. Ofereça para o usuário um menu com as opções: Escolha a função trigonométrica: 1 seno 2 cosseno 3 tangente Use as Séries de Taylor para realizar os cálculos do seno e cosseno. Solicite ao usuário o valor do ângulo em graus. Observe que as Séries de Taylor trabalham com os ângulos em radianos. A quantidade de interações deve ser determinada por uma constante (#define) Faça uma função para exibir o menu, e mais 3 funções, uma para cada operação. Cada uma destas 3 funções deverá receber o ângulo (em radianos) e retornar o resultado da função trigonométrica. Faça também uma função para converter um ângulo de graus para radianos. A função para calcular a tangente deve usar as funções seno e cosseno já construídas. 9. Desenvolva um programa para permitir o cadastro de 500 veículos. Cada veículo deve ser representado por uma estrutura formada por um marca (máximo de 30 caracteres), um modelo (máximo de 40 caracteres), o ano de fabricação e um conjunto de dados técnicos. O conjunto de dados técnicos, que também deve ser representado por uma estrutura, é composto de: potência em CV, cilindradas e número de válvulas. Elabore uma função para calcular a performance estrutural do veículo através da seguinte fórmula: dobro da potência somado com o valor das cilindradas, e dividido pela quantidade de válvulas. Se a quantidade de válvulas for maior ou igual a 16, multiplique a potência por 3 ao invés de 2. Exiba todas as informações cadastradas, incluindo a performance estrutural. Calcule e exiba a quantidade de veículos cuja performance estrutural é inferior a 150. Lista de exercícios 07 Programação Estruturada 2013/1 página 9 / 10
10 Exiba a maior performance estrutural entre os 500 veículos digitados. Obs.: sempre que possível reaproveite o código através da modularização; escreva o protótipo da função que calcula a performance estrutural; use somente variáveis locais para resolver este problema. 10. A Biblioteca Padrão da Linguagem C possui várias funções para trabalhar com strings (vetores de caracteres). Entre elas existem três que são muito úteis: strlen recebe uma string e retorna o seu tamanho, ou seja, a quantidade de caracteres. strcpy recebe duas strings e copia a segunda para a primeira, ou seja, cada caractere da segunda é copiado para a respectiva posição na primeira. strcmp recebe duas strings e devolve a resultado da comparação das duas. Retorna 0 se forem iguais, 1 se a primeira for alfabeticamente maior que a segunda e, -1 se a segunda for alfabeticamente maior que a primeira. Reconstrua as três funções acima, recriando o seu algoritmo. Faça um programa que receba duas strings para testar as três funções. 11. Faça um programa para receber 20 itens de uma agenda de compromissos compostos de: nome do compromisso, data no formato dd-mmm-aa e horário no formato hh:mm pm/am. Exemplos de 2 itens de compromisso da agenda: Reunião diretoria, 20-jun-10, 10:40 AM Apresentação proposta, 02-dez-10, 04:30 PM Crie adequadamente estruturas para fazer o armazenamento dos dados. Faça um programa com um menu que ofereça as seguintes opções: MENU 1 Listar todos os compromissos. 2 Listar todos os compromissos apresentando os horários no formato de hora 24h. 3 - Exibir os compromissos de uma determinada data fornecida pelo usuário. 4 - Exibir a quantidade de compromissos de um determinado mês fornecido pelo usuário. Crie funções para: - exibir o menu de opções; - executar cada opção do menu; - converter a hora do formato AM/PM para 24h - exibir a data no formato aa-mmm-aa - exibir a hora no formato hh:mm AM/PM Obs.: para as opções 3 e 4 do menu use a função strcmp criada na questão anterior (se ainda não tiver criado, use a que é fornecida pela Biblioteca Padrão). A função strcmp serve para comparar strings, como por exemplo, para verificar se o mês digitado no vetor de caracteres mes é dezembro, usa-se: if(strcmp(mes, dez ) == 0) Lista de exercícios 07 Programação Estruturada 2013/1 página 10 / 10
Explicaçã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 maisINF 1620 P1-04/10/03 Questão 1 Nome:
INF 1620 P1-04/10/03 Questão 1 a) Implemente uma função para calcular as raízes de uma equação do segundo grau do tipo ax 2 +bx+c=0. O protótipo dessa função deve ser: void raizes (float a, float b, float
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 maisa) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: ( 1)
INF 620 P - 7/04/04 Questão a) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: Ou seja: π 4 * + 3 π 5 7 + 9 i ( ) 4 * n i= 0 2 * i + + K Esta função
Leia maisINF 1620 P1-16/09/06 Questão 1 Nome:
INF 1620 P1-16/09/06 Questão 1 Considerando a fórmula para o cálculo da distância entre dois pontos (x 1, y 1 ) e (x 2, y 2 ) apresentada a seguir: d = (x 2 " x 1 ) 2 + (y 2 " y 1 ) 2 (a) Escreva uma função
Leia maisINF 1620 P1-17/09/05 Questão 1 Nome:
INF 1620 P1-17/09/05 Questão 1 Considere as equações de movimento para calcular a posição (s) e velocidade (v) de uma partícula em um determinado instante t, dado sua aceleração a, posição inicial s 0
Leia maisLISTA DE EXERCÍCIOS - ro. 04
USP ICMC SSC SSC0100 - Introdução à Ciência da Computação I (Prática) Professor responsável: Fernando Santos Osório Semestre: 2009/1 Horário: Terça 14h20 (Turma A2) E-mail: fosorio.at. icmc.usp.br fosorio.at.
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 maisLaboratório de 13 de maio de 2019
Laboratório de 13 de maio de 2019 O laboratório de hoje irá permitir que o aluno revise diversos dos conceitos e ferramentas estudados ao longo do curso. São 6 atividades em níveis crescentes de dificuldade,
Leia maisLista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.
Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função. Funções e estruturas básicas 1. Faça uma função que recebe a idade de uma
Leia maisINF 1620 P4 11/12/06 Questão 1 Nome:
INF 1620 P4 11/12/06 Questão 1 Considere que o cálculo da multa para o pagamento de um determinado imposto varia de acordo com a tabela a seguir: Valor do Imposto Original Multa por mês de atraso até R$
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 maisCapítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática
Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.
Leia maisINF 1620 P2-14/10/05 Questão 1 Nome:
INF 1620 P2-14/10/05 Questão 1 Considere um cadastro de produtos de um estoque, com as seguintes informações para cada produto: Código de identificação do produto: representado por um valor inteiro Nome
Leia mais1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada pelo usuário. Ex: Entrada: Hello World. Saída:.
Primeira lista de exercícios v1.02 Linguagens de Programação e Aplicações SSC0300 Prof: Daniel Rodrigo Ferraz Bonetti 1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada
Leia maisIntrodução a Computação
Introdução a Computação Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Programação Programa é um algoritmo escrito em uma linguagem de programação. Existem diversas linguagens
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
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 maisINF 1620 P2-01/11/03 Questão 1 Nome:
INF 1620 P2-01/11/03 Questão 1 Considere a implementação de uma lista encadeada para armazenar as notas dos alunos de uma turma dada pelo tipo abaixo: struct lista { char nome[81]; int mat; float p1, p2,
Leia maisINF 1620 P3-29/06/04 Questão 1 Nome:
INF 1620 P3-29/06/04 Questão 1 Considere um arquivo texto que descreve um conjunto de retângulos e círculos. Cada linha do arquivo contém a descrição de uma figura. O primeiro caractere da linha indica
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 maisINF 1620 P2-17/05/08 Questão 1 Nome:
INF 620 P2-7/05/08 Questão Considere um cadastro de produtos de um estoque, com as seguintes informações: Código de Identificação do produto: representado por um número inteiro Nome do produto: com até
Leia maisSSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos
Funções SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves ICMC/USP São Carlos Slides baseados no material gentilmente cedido pela Profa Simone Senger Souza 2 MODULARIZAÇÃO Um
Leia maisIntrodução a Programação de Jogos
Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição
Leia maisINF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1
INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços
Leia maisALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com (66) 9953-7642 AULA 02 Revisão de conteúdos da aula passada Exercícios de revisão da aula 01 Estruturas condicionais
Leia maisFunções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná
em C Linguagem de Programação Estruturada I Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Sumário Funções: Conceitos; Forma Geral das funções; Regras de Escopo; Argumentos
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Linguagem C Funções Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO 1 #include void calc_area_quadrado(); void calc_area_triang_ret(); Funções e variáveis globais void calc_area_quadrado
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 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
Leia maisESTRUTURAS COMPOSTAS
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR Clique para adicionar texto Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2017 Slides inicialmente preparados pela Profa. Rosely Sanches
Leia maisINF 1620 P1-18/09/04 Questão 1 Nome:
INF 1620 P1-18/09/04 Questão 1 Considerando a definição da série harmônica abaixo: H n =1+ 1 2 + 1 3 + 1 4 + 1 5 + K+ 1 n (a) Escreva uma função que calcule o valor de H n dado o número de termos da série
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 maisProgramação em Linguagem C
Programação em Linguagem C Aula #111 EBS 111 ICC Prof Luiz Fernando S Coletta luizfsc@tupaunespbr Campus de Tupã Modularização do código 2 Modularização do código Organização, legibilidade e manutenibilidade
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 maisComputação Informática
Computação Informática Linguagem C Matrizes em C Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO 1 Estrutura de Dados Homogênea matrizes Uma matriz computacional é um váriável composta capaz de armazenar uma
Leia maisDepartamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/2010 Aluno: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova deve ser completamente
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 04 Alocação Dinâmica Edirlei Soares de Lima Vetores - Declaração e Inicialização Declaração de um vetor: int meu_vetor[10]; Reserva um espaço de memória
Leia maisINF 1620 P3-27/11/04 Questão 1 Nome:
INF 1620 P3-27/11/04 Questão 1 Considere um arquivo texto com as notas dos alunos de uma disciplina. Os dados de cada aluno são armazenados em duas linhas do arquivo: uma com o seu nome (cadeia com até
Leia maisINF 1620 P4 30/06/07 Questão 1 Nome:
INF 1620 P4 30/06/07 Questão 1 O maior divisor comum (MDC) de dois números inteiros é o maior número inteiro que faz uma divisão exata (com resto zero) desses dois números. Por exemplo, o MDC de 32 e 40
Leia maisUniversidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Exercícios: Funções 1. Crie uma função que recebe como parâmetro um número
Leia maisESTRUTURAS COMPOSTAS VETOR
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR slides desenvolvidos pela Profa. Rosely Sanches ESTRUTURAS COMPOSTAS Pode-se organizar tipos simples em tipos mais complexos formando as ESTRUTURAS
Leia maisESTRUTURAS COMPOSTAS VETOR
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR slides desenvolvidos pela Profa. Rosely Sanches 2 ESTRUTURAS COMPOSTAS Pode-se organizar tipos simples em tipos mais complexos formando as
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 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 maisponteiros INF Programação I Prof. Roberto Azevedo
ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência
Leia maisINF 1007 P2 23/10/10 Nome: Instruções:
Instruções: 1. Esta prova deverá ser resolvida em até 90 minutos (1 hora e 30 minutos). Todas as questões deverão ter suas soluções implementadas em C, compiladas e testadas. Ao final da prova, os arquivos
Leia maisConhecendo a Linguagem de Programação C
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como
Leia maisLINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Leia maisSub-rotinas David Déharbe
Sub-rotinas David Déharbe 1 1 Objetivos da aula Os conceitos de sub-rotina, funções e procedimentos; Como usar sub-rotinas em C: parâmetros de sub-rotinas: parâmetros formais e parâmetros efetivos. passagem
Leia maisAula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva
Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição OPL e IC1 Prof: Anilton Joaquim da Silva Anilton.ufu@outlook.com 1 Estrutura de Repetição Em certas situações é necessária a repetição de
Leia maisAula 07 Introdução à Programação Subprogramas
Aula 07 Introdução à Programação Subprogramas Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Roteiro SubProgramas Procedimentos Funções Exercícios Gustavo Callou DEINFO/UFRPE 2 Sistema
Leia maisLinguagem C (repetição)
Linguagem C (repetição) André Tavares da Silva andre.silva@udesc.br Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,
Leia maisINF 1620 P4-01/07/08 Questão 1 Nome:
INF 1620 P4-01/07/08 Questão 1 Escreva uma função em C que receba duas strings, cujos caracteres estão ordenados em ordem crescente, e retorne uma nova string alocada dinamicamente, que contém todos os
Leia maisINF 1620 P1-11/04/08 Questão 1 Nome:
INF 1620 P1-11/04/08 Questão 1 Nas Olimpíadas, em uma determinada modalidade esportiva, os competidores recebem a nota de quatro jurados e a nota final é o resultado da média das quatro notas menos um
Leia maisIntrodução a C. Para saber quais os procedimento ou funções que existem em cada biblioteca, acesse
Introdução a C Formatação do codigo em C Todos os códigos em C possuem a seguinte formatação: bibliotecas variáveis globais procedimentos ou funções (se necessário) função principal E sempre são salvos
Leia maisEstruturas de repetição
Título em português: FEITIÇO DO TEMPO (1993) Sinopse: Um repórter de televisão que faz previsões de meteorologia vai à uma pequena cidade para fazer uma matéria especial sobre o inverno. Querendo ir embora
Leia maisINF 1620 P4-09/07/03 Questão 1 Nome:
INF 1620 P4-09/07/03 Questão 1 Um ponto geométrico no espaço 2D é representado pelas coordenadas reais x e y. Considere uma aplicação que precisa manipular pontos, através da implementação de duas funções.
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 maisAula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU
Aula 9 Oficina de Programação Strings Profa. Elaine Faria UFU - 2017 String Cadeia de caracteres (ou String) É uma seqüência de letras e símbolos, na qual os símbolos podem ser espaços em branco, dígitos
Leia maisESTRUTURAS COMPOSTAS. Variáveis Compostas Unidimensionais VETOR. Baseado nos slides de Rosely Sanches e Simone Senger de Souza
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR Baseado nos slides de Rosely Sanches e Simone Senger de Souza 2 ESTRUTURAS COMPOSTAS Pode-se organizar os dados dos tipos simples em tipos
Leia maisEstruturas de Dados. Nem sempre, a manipulação de dados é feita por simples elementos... Vetores, Matrizes e Strings Introdução à Computação 1 de 27
Estruturas de Dados Nem sempre, a manipulação de dados é feita por simples elementos... Vetores, Matrizes e Strings Introdução à Computação 1 de 27 Estruturas de Dados Estruturas de dados permitem que
Leia maisDepartamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010 Aluno: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova deve ser completamente
Leia maisComputação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008 Introdução O objetivo desta aula prática é exercitar comandos de entrada e saída simples
Leia maisSSC 0301 IC para Engenharia Ambiental
SSC 0301 IC para Engenharia Ambiental Tipos, variáveis e expressões Prof. Márcio Delamaro e Prof. Jorge Luiz e Silva delamaro@icmc.usp.br; jsilva@icmc.usp.br SSC 0301 IC para Engenharia Ambiental ICMC/USP
Leia maisLISTA DE EXERCÍCIOS - ro. 02
USP ICMC SSC SSC0100 - Introdução à Ciência da Computação I (Prática) Professor responsável: Fernando Santos Osório Semestre: 2009/1 Horário: Terça 14h20 (Turma A2) E-mail: fosorio.at. icmc.usp.br fosorio.at.
Leia maisLINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Leia maisCaracteres, Vetores e Matrizes
Caracteres, Vetores e Matrizes STRINGS VETORES DE CARACTERES Para realizar processamento de texto e trabalhar com letras do alfabeto e outros caracteres como, por exemplo, símbolos de pontuação, a linguagem
Leia maisLinguagem C Estruturas de Repetição
Linguagem C Estruturas de Repetição José Gustavo de Souza Paiva Introdução Como fazer um programa que mostre na tela os 4 primeiros números ímpares? Primeira solução printf( 1 ); printf( 3 ); printf( 5
Leia maisTipos Abstratos de Dados
Tipos Abstratos de Dados Prof. Rui Jorge Tramontin Jr. UDESC - Rui J. Tramontin Jr. 1 Índice Introdução Definição de Tipos Abstratos de Dados Exemplos de TADs Implementação de TADs Implementação em C Exemplo
Leia maisP2 Programação II Departamento de Informática/PUC-Rio
P2 Programação II 2012.2 Departamento de Informática/PUC-Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente
Leia maisINF 1620 P2-23/10/04 Questão 1 Nome:
INF 1620 P2-23/10/04 Questão 1 Considere um tipo abstrato de dados para representar uma disciplina da PUC-Rio, com as seguintes informações: Nome da disciplina: com até 50 caracteres Código da disciplina:
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 maisMC-102 Aula 13. Instituto de Computação Unicamp. 29 de Setembro de 2016
MC-102 Aula 13 Funções I Instituto de Computação Unicamp 29 de Setembro de 2016 Roteiro 1 Funções Definindo uma função Invocando uma função 2 O tipo void 3 A função main 4 Protótipo de funções 5 Funções
Leia maisAluno: Valor Nota Q1 3.0 Q2 2.5 Q3 2.5 Q4 2.0 Total 10.0
P4 Programação II 2012.2 Departamento de Informática/PUC- Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente
Leia maisAula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes
CI208 - Programação de Computadores Aula 12: Funções Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática
Leia 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 mais13 Registros (Structs)
13 Registros (Structs) Apesar das facilidades introduzidas até agora na manipulação de variáveis de diversos tipos, em certos momentos podemos estar interessados em agrupar várias delas em uma única entidade.
Leia maisEstruturas de Repetição
Prof.: Edwar Saliba Júnior Fevereiro 2012 1 Nomenclaturas: Loopings, Laços ou Malhas de Repetição; Possibilidades de Parada: Quantidade de repetições previamente definida (melhoria na legibilidade e qualidade
Leia mais2ª Licenciatura AED1 e PC1 Prof. Eduardo 1 1 MODULARIZAÇÃO
2ª Licenciatura AED1 e PC1 Prof. Eduardo 1 1 MODULARIZAÇÃO A identificação de problemas mais complexos resultará no desenvolvimento de algoritmos também mais complexos para resolve-os. Uma abordagem eficiente
Leia maisINF 1620 P4-13/12/01 Questão 1 Nome:
INF 1620 P4-13/12/01 Questão 1 (a) Escreva uma função em C, chamada somaprod, para calcular a soma e o produto de dois valores inteiros. Esta função deve ter o seguinte efeito: se tivermos duas variáveis
Leia maisIntrodução à Computação
Introdução à Computação Tipos de Dados, Expressões, Operadores e Comandos Básicos Prof.: Julliano Rosa Nascimento julliano.rn@gmail.com Roteiro Tipos de Dados: Revisão Expressões Operadores Comandos Básicos
Leia maisLinguagem C ponteiros
Linguagem C ponteiros IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C... Vetores Matrizes Funções Recursão Registros Aula
Leia maisINF 1620 P1-14/04/07 Questão 1 Nome:
INF 1620 P1-14/04/07 Questão 1 Considerando o critério de aprovação de uma disciplina que determina que um aluno está aprovado se a média ponderada de suas três provas for maior ou igual a 5.0, onde a
Leia maisEstruturas de Dados. Nem sempre, a manipulação de dados é feita por simples elementos...
Estruturas de Dados Nem sempre, a manipulação de dados é feita por simples elementos... Vetores, Matrizes e Strings Programação de Computadores 1 de 27 Estruturas de Dados Estruturas de dados permitem
Leia maisCURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres
CURSO BÁSICO DE PROGRAMAÇÃO AULA 11 Revisão Aula Anterior Vetores Cadeia de Caracteres Introdução a Linguagem C Laços de Repetição While Do-While For while() { } do { }while();
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Funções
Algoritmos e Estruturas de Dados I (DCC/003) Funções Funções Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada, e definem um valor de saída
Leia maisSITUAÇÃO VETORES. Imagine o seguinte problema:
13/08/2014 PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO AULA 07 VETORES MATRIZES EXERCÍCIOS 1 SITUAÇÃO Imagine o seguinte problema: Crie um programa que
Leia maisLinguagem C. Funções. Prof. Maurício Dias
Linguagem C Funções Prof. Maurício Dias 1 O que são Funções? (ou subprogramas ou subrotinas) São trechos de código fonte agrupados sob um nome, que podem ser chamados sempre que for necessário executar
Leia maisP2 Programação II Departamento de Informática/PUC-Rio
P2 Programação II 2013.1 Departamento de Informática/PUC-Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente
Leia maisAlgoritmos e Estruturas de Dados I Prof. Eduardo 1 1 MODULARIZAÇÃO
Algoritmos e Estruturas de Dados I Prof. Eduardo 1 1 MODULARIZAÇÃO A identificação de problemas mais complexos resultará no desenvolvimento de algoritmos também mais complexos para resolve-os. Uma abordagem
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 maisAluno: Para todas as questões desta prova considere os tipos estruturados abaixo:
P2 Programação II 2014.1 Departamento de Informática/PUC- Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia maisAula 07: Introdução a Funções
Aula 07: Introdução a Funções Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Comandos condicionais Exemplos diversos
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 03: Tipos Abstratos de Dados (TADs) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes
Leia mais