Aula 25: Funções com Arrays

Documentos relacionados
CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes

Aula 14: Funções Passagem de Parâmetros por Referência

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Aula 8: Estruturas de Repetição: O comando while

Aula 4: Introdução à Linguagem C++

Aula 6: Comandos Estruturados Estrutura Condicional

6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014

Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br

LINGUAGEM 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 FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Programação científica C++

Aula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU

Modularidade - Funções e Procedimentos

LISTA DE EXERCÍCIOS 2

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Quinta aula

Matrizes (Vetores Bidimensionais)

Programação: Vetores

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

Algoritmos e Programação

Aula 11: Modularização

LÓGICA DE PROGRAMAÇÃO (C) VETORES E MATRIZES. Professor Carlos Muniz

Linguagem de Programação I. Aula 10 Funções

7. Vetores e Matrizes

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

LINGUAGEM C: ARRAY: VETORES E MATRIZES

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

Aula 10: Introdução a Vetores e Matrizes

Linguagem C. André Tavares da Silva.

Explicação do programa:

Aula 10: Manipulação do fluxo de laços

Aula 06 Introdução à Programação Matrizes

Programação Básica em Arduino Aula 5

Aula 17: Funções (Parte III) e Introdução a Vetores

Computação 2. Aula 2. Profª. Fabiany Vetores e Matrizes

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU

Vetores. e o programa deverá ler os valores separadamente:

CURSO BÁSICO DE PROGRAMAÇÃO AULA 19. Netbeans - Linguagem JAVA - Vetores - Matrizes - Métodos

Estruturas de Dados Estáticas Cont.

Lógica de Programação e Algoritmos

Programação Orientada a Objetos para Redes de Computadores

Matrizes. Marina Andretta. 17 de abril de 2017 ICMC-USP. Marina Andretta (ICMC-USP) sme0230-ipc 17 de abril de / 30

Computação e Programação Exame Época de recurso

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica

Curso de Programação C em Ambientes Linux Aula 04

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica

Fundamentos de Programação

Algoritmos e Programação

Aula 27: Estruturas heterogêneas e alocação dinâmica

Comandos de controle de fluxo: if / for / while / do while.

Exercícios: Vetores e Matrizes

Array em Java. Figura 1 - Exemplo de um array de inteiros

Modularidade - Fun ções e Procedimentos

Working 05 : Modularização

Java - Estruturas de Decisão, Repetição e Arrays

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Linguagem de Programação III

12 - Dados Estruturados Vetores, Matrizes e Strings

Algoritmos e Programação

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

CURSO DE POO COM JAVA

Aula 28: Arquivos de texto

Disciplina de Algoritmos e Programação. Vetor e Matriz

Aula 20: Matrizes (Parte 2)

1 Introdução e Conceitos básicos

Laboratório de Introdução à Ciência da Computação I Aula de Vetores e Matrizes

Algoritmia e Programação APROG. Vetores. Algoritmia e Java. Nelson Freire (ISEP DEI-APROG 2012/13) 1/32

Estruturas II UFOP 1/35

Transcrição:

CI208 - Programação de Computadores Aula 25: Funções com Arrays 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

Últimas aulas Arrays Multidimensionais (Matrizes)

Relembrando Vetores como parâmetros de funções

Vetores como parâmetros No protótipo e na definição da função, declaramos o array como argumento informando seu tipo e nome, sendo necessário incluir os colchetes para informar ao compilador que este argumento recebe um array: int maior_array(int a[ ]){... } Na chamada da função, passamos como parâmetro apenas o nome do array: resultado = maior_array(valores);

Exemplo prático Fazer uma função que recebe um array de inteiros como parâmetro e retorna o maior elemento. #define TAMANHO 10 int encontra_maior(int a[]){ "int i, maior; "maior = a[0];"" "i = 1;" "while (i < TAMANHO) { " "if(maior < a[i]){ " " "maior = a[i]; " "} " "i = i + 1; "} "return maior; }"

Exemplo prático Fazer uma função que recebe um array de inteiros como parâmetro e retorna o maior elemento. int main(){ "int i = 0, valores[tamanho]; "cout << Insira 10 valores: << endl; "while (i < TAMANHO) { " "cin >> valores[i]; " "i = i+ 1; "} "cout << O maior valor eh: << encontra_maior(valores); }"

Vetores como parâmetros Vimos então a passagem de vetores como parâmetro e aprendemos a: 1. passar o vetor como parâmetro na chamada da função; 2. declarar o vetor como argumento na função; Note que na declaração da função, omitimos o tamanho do vetor. Em arrays unidimensionais, especificar o tamanho é opcional. É uma questão de estilo, porém, recomenda-se especificar o tamanho. int encontra_maior(int a[])... OU int encontra_maior(int a[tamanho])...

Arrays Multidimensionais Como argumentos de funções

Matrizes como parâmetros O uso de arrays multidimensionais (matrizes) como parâmetros de funções, funciona semelhante a passagem de parâmetros de vetores. A diferença essencial é: quando o parâmetro de uma função é um array multidimensional, todas as dimensões deste array, exceto a primeira, precisam obrigatoriamente ser especificadas no cabeçalho e no protótipo.

Matrizes como parâmetros A diferença essencial é: quando o parâmetro de uma função é um array multidimensional, todas as dimensões deste array, exceto a primeira, precisam obrigatoriamente ser especificadas no cabeçalho e no protótipo. Definição da função: tipo_retorno nome_funcao (tipo_array nome_array[lin][col]){ "... }

Matrizes como parâmetros Quando a função é chamada, apenas o nome do array multidimensional é passado como parâmetro (assim como funcionava com vetores); É importante lembrar que o tipo de dado do array que está sendo passado como parâmetro deve ser consistente com o tipo de dado do argumento que está no cabeçalho da função!

Exemplo Escreva uma função que recebe como parâmetro do tipo int: um array tabela. Sua função deve buscar e retornar o menor elemento desta matriz. Escreva um programa principal que solicite ao usuário uma matriz de tamanho 5 x 5 e então utilize a função escrita anteriormente para buscar o menor elemento da matriz e, então, mostrá-lo na tela.

Exemplo Escreva uma função que recebe três parâmetros do tipo int: um array tabela e seu tamanho M e N. Sua função deve buscar e retornar o menor elemento desta matriz. Escreva um programa principal que solicite ao usuário uma matriz de tamanho M x N e então utilize a função escrita anteriormente para buscar o menor elemento da matriz e, então, mostrá-lo na tela.

IMPORTANTE Ao passar um array como parâmetro, o compilador automaticamente faz a passagem de parâmetros por referência. Assim, ao passar um array como argumento, alterações no array feitas dentro da função alteram o conteúdo do array passado como parâmetro real na chamada da função. Essa é a diferença entre passar variáveis e arrays como parâmetros.

Exercícios

1) Faça uma função genérica para ler do teclado uma matriz. Sua função deve receber como parâmetros dois números inteiros (que indicam o tamanho da matriz) e uma matriz (array bidimensional para armazenar os dados lidos). A função deve ser utilizada nos programas seguintes. 2) Faça uma função genérica para mostrar na tela uma matriz. Sua função deve receber como parâmetros dois números inteiros (que indicam o tamanho da matriz) e uma matriz (array bidimensional onde os dados estão armazenados). A função deve ser utilizado nos programas seguintes. 3) Faça um programa que solicite uma matriz de inteiros de tamanho M x N ao usuário e então chame uma função e passe a matriz como parâmetro (bem como seu tamanho). Esta função deve substituir todos os números negativos por seu módulo. Ao final mostre na tela a matriz modificada. 4) Faça um programa que contenha e use uma função que receba uma matriz N x N como parâmetro e retorna a média aritmética dos elementos abaixo da diagonal principal. 5) Escreva uma função que recebe três parâmetros do tipo int: uma matriz e seu tamanho (M e N). Esta função deve verificar e retornar se existem elementos repetidos ou não. Escreva um programa principal que solicite ao usuário uma matriz de tamanho M x N e, então, chame a função e mostre na tela se existem elementos repetidos ou não.