Vetores, Matrizes e Funções

Slides:



Advertisements
Apresentações semelhantes
Funções em C Prof. Fabiano Utiyama.
Advertisements

Técnicas de Programação II Revisão TP1 Parte2
Programação em Java Prof. Maurício Braga
INTRODUÇÃO A COMPUTAÇÃO ENG. CIVIL
Um programa em C Bibliotecas Variáveis globais
V Procedimentos – são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento é chamado. v Funções – são procedimentos.
Funções em C.
Construção de Algoritmos AULA 07
FACENS – Engenharia da Computação Lógica Computacional II
PROGRAMAÇÃO MODULAR (com uso de subprogramas)
Algoritmos Escher.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
OBS: Este ppt não é o definitivo (Versão Beta)
Linguagem C Funções.
Vetores, Matrizes e Funções
Ponteiros em Linguagem C
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Matrizes e Funções - Continuação
Fundamentos de Programação 1
O Portal do Estudante de Computação
APRESENTAÇÃO: DAVID ANDERSON CARDOSO DANTAS CURSO DE C AULA 04: Funções Maceió, Maio de 2010.
Introdução à Programação Estruturas de Repetição
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
Linguagem de Programação II Parte IV
BCC /01 Funções. Material Didático Unificado. 1 BCC701 – Programação de Computadores I Universidade Federal de Ouro Preto Departamento de Ciência.
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Programação II Estruturas de Dados Aula 02 - continuação
Argumentos por valor Passagem de valor da variável indicada Não permite alteração de variável indicada Exemplo: int quadrado_de(int ); //protótipo int.
PROGRAMAÇÃO ESTRUTURADA (MODULARIZAÇÃO/SUBPROGRAMAÇÃO)
Introdução à Programação de Computadores
Introdução à linguagem C
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014
Técnicas de Desenvolvimento de Programas
F UNÇÕES : PASSAGEM DE PARÂMETROS Aluno:Kaynã Vasconcelos Santos Matéria: Estrutura de dados e algoritmos I Turma: Professor: Danilo Silva dos Santos.
Prof: Leandro Maranim Dei Santi Prof. Eduardo Rossit Paiossin
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Modularização Dividir um problema em subproblemas Módulos menores facilita a depuração Dividir o desenvolvimento entre vários programadores “Reutilização”
Introdução à Linguagem C
Declarando e Chamando Funções
Aula Prática 3 Funções Monitoria Introdução à Programação.
 São utilizadas para dividir um código maior (mais complexo) em partes menores (mais simples).  Quando uma mesma tarefa é realizada várias vezes em um.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas.
Estruturas de Dados Aula 6: Cadeias de Caracteres
Prof. Alessandro Gonçalves
Revisão Luis Antonio Tavares
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo III Comandos de Controle.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
Aula Prática 3 Funções Monitoria Introdução à Programação.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Programação Computacional Aula 9: Meu primeiro programa em C
Introdução à Programação Engenharia da Computação Aula Prática 3 Funções Monitoria
Trechos de código que permitem reutilização de uma mesma tarefa. Qualquer código PHP pode estar contido no interior de uma função. Não se pode definir.
PCI- Funções e Procedimentos Profa. Mercedes Gonzales Márquez.
Algoritmo e Estrutura de Dados I Aulas 15 – Linguagem C Alocação Dinâmica de Memória Márcia Marra
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Funções.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Capítulo VIII Subprogramação.
Linguagem de Programação
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
Módulo I Capítulo 7: Funções e Procedimentos William Ivanski Curso de Programação C#
PRE 1002 Éverlin Marques 2015/1.
Funções definidas pelo usuário Escola Olímpio Professor Marcelo Josué Telles Linguagem de Programação I1 de 36.
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”. 1.
Fundamentos de Programação 1
Transcrição da apresentação:

Vetores, Matrizes e Funções Linguagem C Vetores, Matrizes e Funções

Revisão de Funções 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 uma determinada ação programada neste trecho;  Como usar funções? Atribui-se um nome à uma seqüência de comandos, e faz-se referência a este nome nos vários lugares do programa onde a seqüência em questão deveria ser repetida.

Revisão de Funções Resumo: Principais motivações para uso das funções! Por que usar funções? Evita escrita repetida de código (uma certa seqüência de comandos deve ser repetida em vários lugares de um programa). Economiza o tempo gasto com o trabalho de copiar estas seqüências; Evitar a necessidade de mudar em múltiplos lugares caso deseje alterar o seu funcionamento; Dividir grandes tarefas de computação em tarefas menores: Facilita o gerenciamento de grandes sistemas e Aumenta a confiabilidade dos mesmos. Resumo: Principais motivações para uso das funções! Evitar repetição de código Modularização

Revisão de Funções Função simples: void sai_do_programa() { printf(“Digite qualquer tecla para sair do programa.\n”); system(“pause”); exit(0); } Chamada: sai_do_programa();

Revisão de Funções Função com parâmetro: void imprime_quadrado(int n) { printf(“O quadrado de %d eh %d.\n”,n, n*n); } Chamada: imprime_quadrado(5); Saída: O quadrado de 5 eh 25

Revisão de Funções Função com parâmetro e retorno: int quadrado(int n) { int q; q = n * n; return(q); } Chamada: printf(“O quadrado de %d eh %d.\n”, 5, quadrado(5) ); Saída: O quadrado de 5 eh 25

Revisão de Funções Função com parâmetro e retorno: int quadrado(int n) { int q; q = n * n; return(q); } Chamada: int i; for(i=1;i<5;i++) printf(“O quadrado de %d eh %d.\n”, 5, quadrado(5) ); Saída: O quadrado de 1 eh 1 O quadrado de 2 eh 4 O quadrado de 3 eh 9 O quadrado de 4 eh 16

Revisão de Funções Função com diversos parâmetros e retorno: int potencia(int n, int p) { int i,resultado=1; for(i=1;i<=p;i++) resultado = resultado * n; return(resultado); } Chamada: printf(“%d elevado a %d vale %d.\n”,2,4,potencia(2,4)); Saída: 2 elevado a 4 vale 16

Revisão de Funções Função com diversos parâmetros e retorno: int potencia(int n, int p) { int i,resultado=1; for(i=1;i<=p;i++) resultado = resultado * n; return(resultado); } Chamada: int i; for(i=1;i<5;i++) printf(“%d elevado a %d vale %d.\n”,2,i,potencia(2,i)); Saída: 2 elevado a 1 vale 1 2 elevado a 2 vale 4 2 elevado a 3 vale 8 2 elevado a 4 vale 16

Revisão de Funções Posicionamento das funções no programa C: Sempre antes da função main() Caso queira colocar as funções após a função main(), é preciso colocar um “protótipo” da função antes da função main()!!!! (Mas o que é um protótipo de função?.....) …é a descrição da função! Ex: função “sai_do_programa” void sai_do_programa() { printf(“Digite qualquer tecla para sair do programa.\n”); system(“pause”); exit(0); } Protótipo da função “sai_do_programa”: void sai_do_programa();

Revisão de Funções Posicionamento das funções no programa C: Ex2: função “quadrado” int quadrado(int n) { int q; q = n * n; return(q); } Protótipo da função “quadrado”: int quadrado(int n);

Revisão de Vetores tipo nomedovetor[DimMax]; Onde: Vetores são Estruturas de Dados Homegêneas, isto é, capazes de armazenar uma quantidade pré-definida de valores do mesmo tipo Necessitam de apenas um índice de acesso. Declaração: tipo nomedovetor[DimMax]; Onde: tipo:um dos tipos primitivos de dados em C (char, int, float, double) nomedovetor: segue as mesmas regras das variáveis básicas DimMax: define o número máximo de elementos do vetor pode ser uma expressão constante inteira

Revisão de Vetores #include <stdio.h> #include <stdlib.h> #define NUM_ALUNOS 3 int main( ) { float notas [NUM_ALUNOS]; float media_turma = 0.0; int i; for ( i = 0; i < NUM_ALUNOS; i++ ) printf ("Digite a nota do %d o. aluno: ", i+1); scanf ("%f", &notas[i]); } media_turma += notas[i]; media_turma = media_turma / NUM_ALUNOS ; printf ("A media da turma eh %.2f \n", media_turma); system ("Pause"); return 0;

Vetores e Funções #include <stdio.h> #include <stdlib.h> #define NUM_ALUNOS 3 float media ( float notas[], int n ) { int i = 0; float m = 0.0; for ( i = 0; i < n; i++ ) m = m + notas[i] ; } m = m / n; return m; int main( ) { float notas [NUM_ALUNOS]; float media_turma; int i; for ( i = 0; i < NUM_ALUNOS; i++ ) printf ("Digite a nota do %d o. aluno: ", i+1); scanf ("%f", &notas[i]); } media_turma = media ( notas, NUM_ALUNOS ); printf ("A media da turma eh %.2f \n", media_turma); system ("Pause"); return 0;

Vetores e Funções E para calcular o número de alunos com notas acima da média? A função de cálculo de média pode ser a mesma já utilizada..... E agora criamos a função de cálculo da quantidade de alunos acima da média! #include <stdio.h> #include <stdlib.h> #define NUM_ALUNOS 3 float media ( float notas[], int n ) { int i = 0; float m = 0.0; for ( i = 0; i < n; i++ ) m = m + notas[i] ; } m = m / n; return m;

Vetores e Funções int conta_alunos_acima_da_media ( float notas[], int n, float media) { int i, conta = 0; for ( i = 0; i < n; i++ ) if (notas[i] > media) conta += 1; } return conta;

Vetores e Funções int main( ) { float notas [NUM_ALUNOS]; float media_turma; int i, melhores_alunos; for ( i = 0; i < NUM_ALUNOS; i++ ) printf ("Digite a nota do %d o. aluno: ", i+1); scanf ("%f", &notas[i]); } media_turma = media ( notas, NUM_ALUNOS ); printf ("A media da turma eh %.2f \n", media_turma); melhores_alunos=conta_alunos_acima_da_ media(notas, NUM_ALUNOS, media_turma); printf (“E o numero de alunos com nota acima da media foi: %d .\n”, melhores_alunos); system ("Pause"); return 0;

Vetores e Funções Desafio 1: Alterar o programa anterior para: Receber duas notas bimestrais de cada aluno; Verificar se cada nota está entre 0.0 e 10.0; Calcular a média de cada aluno (e armazenar o valor em um vetor); Modificar o programa para apresentar os seguintes resultados: média geral da turma; número de alunos com média individual acima da média da turma.

Matrizes e Funções Será que é possível “passar matrizes” por parâmetro? Se sim, como?

Matrizes e Funções int main() { #include <stdio.h> #include <stdlib.h> #define NUM_ALUNOS 3 int main() { float notas [NUM_ALUNOS][2], media_turma; int i; for ( i = 0; i < NUM_ALUNOS; i++ ) printf ("Digite a 1a. nota do %d o. aluno \n: ", i+1); scanf ("%f", &notas[i][0]); printf ("Digite a 2a. nota do %d o. aluno \n: ", i+1); scanf ("%f", &notas[i][1]); } media_turma = media_geral ( notas, NUM_ALUNOS ); printf ( "A media da turma eh %.2f \n", media_turma); system ("Pause"); return 0;

Matrizes e Funções float media_geral ( float notas[][2], int n ) { int i = 0; float m = 0.0; float notaaluno = 0.0; for ( i = 0; i < n; i++ ) notaaluno = ( notas[i][0] + notas[i][1] )/2; m = m + notaaluno; } m = m / n; return m;

Exercício Complementar: Elabore um programa que manipule os dados para uma sala de 40 alunos. O programa deve receber como entrada (via leitura de teclado): Os nomes dos alunos (máximo 50 caracteres). As duas notas parciais. O programa deve calcular e imprimir, numa mesma linha, para cada aluno: O nome e a média final. E também deve apresentar: A maior média da turma, e a menor média da turma. A quantidade de alunos aprovados, reprovados e em exame. Uma listagem com o nome dos alunos que irão para a final.