MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes

Tamanho: px
Começar a partir da página:

Download "MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes"

Transcrição

1 MCTA28 Programação Estruturada Aula 3: - Funções e procedimentos - Vetores e matrizes Prof. João Henrique Kleinschmidt Material elaborado pelo Prof. Jesús P. Mena-Chalco 3Q-218

2 Funções

3 Funções (modularidade) Consiste em dividir uma atividade em componentes, rotulados e endereçáveis As variáveis locais não são conhecidas fora da função Uma função devolve um valor. A função invocadora (main) é suspensa quando executar a outra função.

4 Exercício 1 Crie uma função que permita calcular uma aproximação de PI usando a serie de Gregory: A função deve aceitar um parâmetro que represente o número de termos a ser considerado na somatória

5 Exercício 1 Crie uma função que permita calcular uma aproximação de PI usando a série de Gregory: A função deve aceitar um parâmetro que represente o número de termos a ser considerado na somatória

6 Exercício 2 Modifique a função anterior de tal forma que faça a somatória dos termos maiores ou iguais a x. A função deve aceitar um parâmetro que represente o valor x (precisão)

7 Exercício 2 Modifique a função anterior de tal forma que faça a somatória dos termos maiores ou iguais a x. A função deve aceitar um parâmetro que represente o valor x (precisão) Desafio: Quantos termos são necessários?

8 Procedimentos?

9 Procedimentos Na linguagem C existem apenas funções, mas saiba que existem outras linguagens que aceitam funções e procedimentos (em pascal: Function e Procedure): Uma função devolve sempre um valor. Um procedimento não devolve qualquer valor. A forma de invocar funções e procedimentos é diferente: Funções: x = pi(.1) Procedimentos: printf( %f, x)

10 Procedimentos Uma função que devolve void é chamada de procedimento.

11 Procedimento: exemplo

12 Vetores

13 Armazenar 1 inteiros em um programa... Usando variáveis: Usando um vetor: Para acessar a um elemento, use um índice. a[] 6 a[4] 1

14 Vetores Os elementos de um vetor são armazenados/alocados de forma consecutiva na memória. Os elementos são acessados por seu índice dentro do vetor. X:=

15 Memória (hardware) RAM HDD SSD......

16 Memória (hardware) N Geralmente o endereço do objeto é o endereço do 1ro byte.

17 Terminologia x37fd x37fd1 x37fd2 x37fd bytes

18 Vetores Declaração de uma variável que representa um vetor de 13 inteiros Índice / Deslocamento vetor := O vetor contém 13 Elementos Posição

19 Vetores

20 Vetores

21 Vetores

22 Vetores

23 Em concreto Um vetor é uma coleção de valores. Três importantes características: Os vetores representam um grupo de dados relacionados. Todos os dados devem ter o mesmo tipo. O tamanho do vetor é definido na sua criação/definição.

24 Vetores (*) Fonte:

25 Vetores

26 Vetores

27 Vetores

28 Matrizes

29 Matriz bidimensional colunas linhas

30 Matriz bidimensional matriz[2][] matriz[1][4]

31 Matriz bidimensional

32 Declara uma matriz M de 1 linhas com 2 colunas (2mil inteiros) Material adaptado da aula de Matrizes de Ronaldo F. Hashimoto e Carlos H. Morimoto (IME/USP) A memória do computador é linear!

33 Memória (hardware) RAM HDD SSD......

34 Estrutura da matriz na memória do computador Material adaptado da aula de Matrizes de Ronaldo F. Hashimoto e Carlos H. Morimoto (IME/USP)

35 Disposição dos 2mil elementos da matriz M na memória Material adaptado da aula de Matrizes de Ronaldo F. Hashimoto e Carlos H. Morimoto (IME/USP)

36 Matriz bidimensional (imagem em níveis de cinza) Nível=18

37 Matriz tridimensional (imagem em RGB) {Red, Green, Blue}

38 Matrizes Matriz unidimensional (vetor/array) Matriz bidimensional (2D) Matriz tridimensional (3D)

39 Matrizes Matriz unidimensional (vetor/array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]

40 Dimensões? 1 2 3

41 41

42 Processamento de imagens multiespectrais (imagens do mesmo objeto, mas capturadas com diferentes comprimentos de onda eletromagnéticas) Os aparelhos consideram diferentes comprimentos de onda para cada camada. 42

43 Atividade em aula

44 Questão 1 - a Devolve o último elemento do vetor. printf("%d\n", funcao1(v1, 4)); 1 printf("%d\n", funcao1(v2, 5)); 8

45 Questão 1 - b Devolve. printf("%d\n", funcao2(v1, 4)); printf("%d\n", funcao2(v2, 5));

46 Questão 1 - c Devolve a quantidade de elementos iguais no vetor. printf("%d\n", funcao3(v1, 4)); printf("%d\n", funcao3(v2, 5)); 3

47 Questão 2 Verifica se a quantidade de elementos negativos é igual à quantidade de números positivos. Se houver mais números positivos, retorna verdadeiro (devolve 1), caso contrário, devolve. printf("%d\n", funcao4(3, 4, M)); 1

48 Questão 3 Indique se são verdadeiras ou faltas as seguintes afirmações (resposta correta +,5, incorreta -,5) (a) [ (b) [ (c) [ (d) [ (e) (f) [ (g) (h) [ ] Uma função em C pode devolver simultaneamente mais do que um valor. ] Uma função em C tem que devolver sempre um inteiro. ] Os parâmetros das funções podem ser do tipo void. ] A instrução return, termina a execução de uma função apenas se for a última instrução da função em que se encontra ] A instrução return, quando executada dentro da função main, termina o programa. ] O nome de uma função é opcional.

49 Questão 3 Indique se são verdadeiras ou faltas as seguintes afirmações (resposta correta +,5, incorreta -,5) (a) [ F ] Uma função em C pode devolver simultaneamente mais do que um valor. Em C, uma função pode devolver apenas 1 valor (tipo básico ou ponteiro) (b) [ F ] Uma função em C tem que devolver sempre um inteiro. Pode devolver qualquer tipo de dado básico ou ponteiro (c) [ F ] Os parâmetros das funções podem ser do tipo void. Não. Cada parâmetro deve ter um tipo de dado associado (d) [ F ] A instrução return, termina a execução de uma função apenas se for a última instrução da função em que se encontra (e) [ V ] A instrução return, quando executada dentro da função main, termina o programa. (f) [ F ] O nome de uma função é opcional.

MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes

MCTA028 Programação Estruturada Aula 03: - Funções e procedimentos - Vetores e matrizes MCTA28 Programação Estruturada Aula 3: - Funções e procedimentos - Vetores e matrizes Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-217 1 Funções 2 Funções (modularidade) Consiste em dividir uma

Leia mais

Vetores e matrizes. MCTA028 Programação Estruturada. Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti

Vetores e matrizes. MCTA028 Programação Estruturada. Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti 1 MCTA28 Programação Estruturada Vetores e matrizes Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti Luiz Rozante 3Q-218 Armazenar 1 inteiros em um programa... Usando

Leia mais

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2)

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) Prof. João Henrique Kleinschmidt Material elaborado pelo prof. Jesús P. Mena-Chalco 3Q-2018 Sobre funções ( uma ideia ) Qual função é mais

Leia mais

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2)

MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Sobre funções ( uma ideia ) 2 Qual função é mais eficiente? 3 1995 2015 4 Qual

Leia mais

1. Para cada pergunta selecione uma opção. Resposta correta +2, incorreta -1. [12 pontos]

1. Para cada pergunta selecione uma opção. Resposta correta +2, incorreta -1. [12 pontos] * Universidade Federal do ABC Avaliação: Prova 01 (40 pontos) Disciplina: MCTA028 - Programação Estruturada Turma: Noturno A1 e A2 Professor: Jesús P. Mena-Chalco Data: 25/10/2016 Nome completo: RA: Instruções:

Leia mais

Processamento da Informação Vetores Parte 1 (Arrays / Arranjos )

Processamento da Informação Vetores Parte 1 (Arrays / Arranjos ) Processamento da Informação Vetores Parte 1 (Arrays / Arranjos ) Prof. Jesús P. Mena-Chalco CMCC/UFABC Q2/2018 1 Armazenar 10 inteiros em um programa... Usando variáveis: Usando um vetor: Para acessar

Leia mais

Processamento da Informação Vetores Parte 1 (Arrays / Arranjos )

Processamento da Informação Vetores Parte 1 (Arrays / Arranjos ) Processamento da Informação Vetores Parte 1 (Arrays / Arranjos ) Prof. Jesús P. Mena-Chalco CMCC/UFABC Q1/2017 1 Armazenar 10 inteiros em um programa... Usando variáveis: Usando um vetor: Para acessar

Leia mais

- Mapa de memória de um processo - Ponteiros

- Mapa de memória de um processo - Ponteiros 1 MCTA028 Programação Estruturada - Mapa de memória de um processo - Ponteiros Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti Luiz Rozante 3Q-2018 2 Alocação de

Leia mais

MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas

MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas Prof. Jesús P. Mena-Chalco 1Q-2019 1 Mapa de memória de um processo 2 Alocação de memória: estática VS Dinâmica Na execução, um

Leia mais

Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1)

Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) Prof. João Henrique Kleinschmidt Material elaborado pelo prof. Jesús P. Mena-Chalco 3Q-20108 Mapa de memória

Leia mais

Programação Procedimental GBC /1 Prof. Renan Cattelan Prática 10. Estruturas e alocação dinâmica

Programação Procedimental GBC /1 Prof. Renan Cattelan  Prática 10. Estruturas e alocação dinâmica Programação Procedimental GBC014 2015/1 Prof. Renan Cattelan www.facom.ufu.br/~renan Prática 10 Estruturas e alocação dinâmica Exercício Crie um programa para armazenar uma agenda de contatos pessoais

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Aula 09 Revisão + Simulado Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2019 1 Vetores 2 Vetores 3 Vetores vetor 4 Vetores... vetor... 5 Ponteiros 6 Processo

Leia mais

Apontadores/ponteiros

Apontadores/ponteiros Apontadores/ponteiros 1 Apontadores/ponteiros 1. Um ponteiro pode ser manipulado como sendo um vetor. #include int v[5] = { 10, 20, 30, 40, 50 ; int p, i; p = v; for (i = 1; i < 5; i++) printf

Leia mais

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

Aula 06 Introdução à Programação Matrizes Aula 06 Introdução à Programação Matrizes Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Roteiro Matrizes Unidimensionais (Vetor) Bidimensionais String Exercícios Gustavo Callou DEINFO/UFRPE

Leia mais

(a) Indique, em português, o que realiza a seguinte função. [4 pontos]

(a) Indique, em português, o que realiza a seguinte função. [4 pontos] Universidade Federal do ABC Avaliação: Prova 02 Disciplina: MCTA028 - Programação Estruturada Turma: Noturno - A1 Professor: Jesús P. Mena-Chalco Data: 01/12/2016 Nome completo: RA: Instruções para a prova

Leia mais

1. Se v é um vetor, qual a diferença conceitual entre as expressões v[70] e v+70? [2 ponto]

1. Se v é um vetor, qual a diferença conceitual entre as expressões v[70] e v+70? [2 ponto] Universidade Federal do ABC Avaliação: Prova 01 Disciplina: BC1424 - Algoritmos e Estruturas de Dados I Turma: Noturno Professor: Jesús P. Mena-Chalco Data: 15/03/2016 Nome completo: RA: Instruções para

Leia mais

Aula 13: Listas encadeadas (estruturas lineares)

Aula 13: Listas encadeadas (estruturas lineares) Algoritmos e Estruturas de Dados I Aula 13: Listas encadeadas (estruturas lineares) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2017 1 Estruturas (alguns autores usam o termo registro) 2 Linguagem

Leia mais

Funções em Linguagem C Parte II

Funções em Linguagem C Parte II Slides inicialmente preparados pelo Prof. Dr. Claudio Fabiano Motta Toledo Funções em Linguagem C Parte II Profa. Dra. Elisa Yumi Nakagawa 1. Semestre 2017 Sumário Introdução a Ponteiros Escopo de Variáveis

Leia mais

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação Prof. João Henrique Kleinschmidt Material elaborado pelo Prof. Jesús P. Mena-Chalco 3Q-2018 Linguagens de programação

Leia mais

Aula 05: - Recursão (parte 1)

Aula 05: - Recursão (parte 1) MCTA028 Programação Estruturada Aula 05: - Recursão (parte 1) Prof. João Henrique Kleinschmidt Material elaborado pelo prof. Jesús P. Mena-Chalco 3Q-20108 Recursão: Se você ainda não entendeu; Ver: "Recursão".

Leia mais

MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1)

MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Mapa de memória de um processo 2 Alocação de

Leia mais

Algoritmos e Estruturas de Dados I (AEDI) Introdução - AEDI. Prof. Paulo Henrique Pisani

Algoritmos e Estruturas de Dados I (AEDI) Introdução - AEDI. Prof. Paulo Henrique Pisani Algoritmos e Estruturas de Dados I (AEDI) Introdução - AEDI Prof. Paulo Henrique Pisani fevereiro/2019 Algoritmos e Estruturas de Dados I Ementa: Breve introdução à linguagem C; Noções básicas de análise

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 6 Exercício 1 Dados dois vetores com n (n

Leia mais

Ponteiros. Ponteiros. Ponteiros. Ponteiros. Ponteiros. Introdução a Programação. Profa. Roseli Romero

Ponteiros. Ponteiros. Ponteiros. Ponteiros. Ponteiros. Introdução a Programação. Profa. Roseli Romero ICMC USP 1.semestre/2009 Introdução a Programação e vetores em C Profa. Roseli Romero um é uma variável que contém o endereço um dado declaração: * indica que a variável é um tipo_dado *nome_; int x; int

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso da linguagem C Entendendo Estrutura de Dados Revisão da Linguagem C Tipos primitivos Vetores

Leia mais

Introdução a Ponteiros e Vetores em C

Introdução a Ponteiros e Vetores em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Introdução a Ponteiros e Vetores em C Material preparado pela profa Silvana Maria Affonso de Lara e utilizado por

Leia mais

Vetores e Matrizes. Prof. Fabrício Olivetti de França Charles Henrique

Vetores e Matrizes. Prof. Fabrício Olivetti de França Charles Henrique Vetores e Matrizes Prof. Fabrício Olivetti de França Charles Henrique Vetores Estáticos Um vetor em C é declarado como: tipo nome[tamanho]; 2 Vetores Estáticos /* vetor de nome v1 com 100 elementos do

Leia mais

Ponteiros e alocação dinâmica de memória. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

Ponteiros e alocação dinâmica de memória. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Ponteiros e alocação dinâmica de memória Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Agenda Ponteiros Ponteiros e vetores Passagem por cópia e por referência Alocação

Leia mais

Ponteiros e Alocação de Memória

Ponteiros e Alocação de Memória Algoritmos e Estrutura de Dados I Ponteiros e Alocação de Memória Prof. Paulo Henrique Pisani fevereiro/2019 Memória Podemos entender a memória como um grande vetor de bytes devidamente endereçados: 0x1051

Leia mais

Introdução a Programação. Ponteiros e Passagem de Argumentos por Referência

Introdução a Programação. Ponteiros e Passagem de Argumentos por Referência Introdução a Programação Ponteiros e Passagem de Argumentos por Referência Tópicos da Aula Hoje aprenderemos a manipular endereços de memória ou ponteiros Variáveis e Endereços Conceito de Ponteiro Operadores

Leia mais

GEQ Prof. Paulo R. Coelho. Lista para prova

GEQ Prof. Paulo R. Coelho. Lista para prova GEQ007 2013 Prof. Paulo R. Coelho Lista para prova 7. Defina uma estrutura empregado para armazenar nome, data de nascimento, idade e salário de um empregado de uma empresa. Leia informações sobre 10 empregados

Leia mais

MCTA001 Algoritmos e Estruturas de Dados I Apresentação e exercícios básicos

MCTA001 Algoritmos e Estruturas de Dados I Apresentação e exercícios básicos MCTA001 Algoritmos e Estruturas de Dados I Apresentação e exercícios básicos Prof. Jesús P. Mena-Chalco 1Q-2019 1 Apresentação Professor: Jesús P. Mena-Chalco (CMCC) Formação: - Engenheiro da Computação.

Leia mais

Estrutura de dados 2. Ponteiro. Prof. Jesuliana N. Ulysses

Estrutura de dados 2. Ponteiro. Prof. Jesuliana N. Ulysses 1 3 Estrutura de dados 2 Ponteiro Ponteiro 2 O ponteiro é um tipo de dado como int, char ou float. A diferença do ponteiro ponteiro guardará um endereço de memória. Por meio deste endereço pode-se acessar

Leia mais

3. Linguagem de Programação C

3. 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.6. Ponteiros 3.6.1. Introdução 3.6.2. Uso

Leia mais

19 Vetores, Ponteiros e Funções

19 Vetores, Ponteiros e Funções 19 Vetores, Ponteiros e Funções Ronaldo F. Hashimoto e Carlos H. Morimoto Oobjetivodestaaulaérelacionarotipovetor com ponteiros eassimentendercomoutilizarvetorescomo parâmetros de funções. Ao final dessa

Leia mais

Processamento da Informação Teoria. Laços

Processamento da Informação Teoria. Laços Processamento da Informação Teoria Laços Semana 02 Prof. Jesús P. Mena-Chalco 04/05/2013 Laços (estruturas de repetição) Usado em situações em que é necessário repetir um determinado trecho de um programa,

Leia mais

Alocação Dinâmica de Memória

Alocação Dinâmica de Memória Alocação Dinâmica de Memória Elerson R. S. Santos elerson@dcc.ufmg.br Algoritmos e Estruturas de DCC UFMG Variáveis Uma variável representa um nome simbólico para uma posição de memória. Cada posição de

Leia mais

Aula 02: Custos de um algoritmo e funções de complexidade

Aula 02: Custos de um algoritmo e funções de complexidade MCTA028 Programação Estruturada Aula 02: Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-20106 1 Linguagem C: Tipos de dados 2 Linguagem C: Tipos

Leia mais

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Linguagens de programação 2 Linguagem de programação

Leia mais

Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi

Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Baseado nos slides do Prof. Guillermo Cámara-Chávez Aulas anteriores Vetores Matrizes Cadeias

Leia mais

Processamento da Informação Números Aleatórios Matrizes parte 2

Processamento da Informação Números Aleatórios Matrizes parte 2 Processamento da Informação Números Aleatórios Matrizes parte 2 Prof. Jesús P. Mena-Chalco CMCC/UFABC Q/2 Algoritmos: Deterministicos Vs Não-deterministicos Um programa determinístico sempre gera a mesma

Leia mais

Estrutura de Dados Conceitos Iniciais

Estrutura de Dados Conceitos Iniciais Engenharia de CONTROLE e AUTOMAÇÃO Estrutura de Dados Conceitos Iniciais Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria

Leia mais

23 Matrizes, Ponteiros e Funções

23 Matrizes, Ponteiros e Funções 23 Matrizes, Ponteiros e Funções Ronaldo F. Hashimoto e Carlos H. Morimoto Oobjetivodestaaulaérelacionarotipomatrizes com ponteiros e assim entender como utilizar matrizes como parâmetros de funções. Ao

Leia mais

double x; x = enigmab1(100);

double x; x = enigmab1(100); 8h Universidade Federal do ABC Avaliação: Prova 02 Disciplina: Processamento da Informação Turmas: A4, A5 (8hs) Professor: Jesús P. Mena-Chalco Data: 05/05/2016 Nome: RA: Instruções para a prova (leia

Leia mais

Estruturas Dinâmicas - Ponteiros Parte I

Estruturas Dinâmicas - Ponteiros Parte I SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Estruturas Dinâmicas - Ponteiros Parte I Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br

Leia mais

1 Resumo: Matrizes. 2.1 Como declarar uma matriz IME/USP. Departamento de Ciência da Computação

1 Resumo: Matrizes. 2.1 Como declarar uma matriz IME/USP. Departamento de Ciência da Computação Departamento de Ciência da Computação MAC2166 Introdução a Computação IME/USP Matrizes 1 Resumo: Matrizes são estruturas bi-dimensionais utilizadas para armazenar dados de um mesmo tipo. Para declarar

Leia mais

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Matrizes Alocação estática versus dinâmica Vetores bidimensionais matrizes Matrizes dinâmicas ATENÇÃO

Leia mais

Programação de Computadores II. Cap. 5 Alocação Dinâmica

Programação de Computadores II. Cap. 5 Alocação Dinâmica Programação de Computadores II Cap. 5 Alocação Dinâmica Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais

Leia mais

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

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: ponteiros e alocação dinâmica Prof. Renato Pimentel 1 Ponteiros 2 Prof. Renato Pimentel 1 Ponteiros: introdução Toda a informação

Leia mais

Mais sobre Ponteiros em C

Mais sobre Ponteiros em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Mais sobre Ponteiros em C Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO

Leia mais

Trabalho Linguagem e Programação de Compiladores

Trabalho Linguagem e Programação de Compiladores Trabalho Linguagem e Programação de Compiladores Responda as questões. Os exercícios deverão ser desenvolvidos utilizando as estruturas apresentadas em aula e adequadas para cada problema. Forma de entrega:

Leia mais

Programação Estruturada Aula - Tipos, Constantes, Variáveis e Identificadores

Programação Estruturada Aula - Tipos, Constantes, Variáveis e Identificadores Programação Estruturada Aula - Tipos, Constantes, Variáveis e Identificadores Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br TIPOS DE DADOS EM LINGUAGEM C 2 TIPOS DE DADOS EM LINGUAGEM

Leia mais

SSC304 Introdução à Programação Para Engenharias. Ponteiros. GE4 Bio

SSC304 Introdução à Programação Para Engenharias. Ponteiros. GE4 Bio Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias s GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos Prof.Dr.

Leia mais

Prática de Programação. Prof. Tiago A. E. Ferreira Aula 9 Estruturas, Uniões, Enumerações e Tipos Definidos pelo Usuário

Prática de Programação. Prof. Tiago A. E. Ferreira Aula 9 Estruturas, Uniões, Enumerações e Tipos Definidos pelo Usuário Prática de Programação Prof. Tiago A. E. Ferreira Aula 9 Estruturas, Uniões, Enumerações e Tipos Definidos pelo Usuário Introdução A linguagem C/C++ permite criar tipos de dados definidos pelo usuário

Leia mais

Estruturas Compostas Matriz

Estruturas 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 mais

Processamento da Informação Exercícios de programação

Processamento da Informação Exercícios de programação Processamento da Informação Exercícios de programação Prof. Jesús P. Mena-Chalco Vetores: Inicialização Atividade em aula 04/03 Questão 3: Min-Max int T[ ] = {20, 100, 0, 30, -60, 10, 0, 0}; i m1 m2 0

Leia mais

# Estrutura de Dados # Aula - Revisão de C/C++ na Prática. Prof. Leinylson Fontinele Pereira

# Estrutura de Dados # Aula - Revisão de C/C++ na Prática. Prof. Leinylson Fontinele Pereira # Estrutura de Dados # Aula - Revisão de C/C++ na Prática Prof. Leinylson Fontinele Pereira Na aula anterior... Ponteiros Funções Introdução 3 O que vamos aprender? Preparação do ambiente de testes Conceitos

Leia mais

Ponteiros. prof. Fabrício Olivetti de França

Ponteiros. prof. Fabrício Olivetti de França Ponteiros prof. Fabrício Olivetti de França Anteriormente em prog. estrut. Vimos que as variáveis representando arrays em C armazenam apenas um apontador para o endereço de memória contendo os valores

Leia mais

Plano de Aula Segunda-feira Tarde 13/10/2014 Objetivo: Introduzir o conceito de alocação dinâmica na memória e registros / structs.

Plano de Aula Segunda-feira Tarde 13/10/2014 Objetivo: Introduzir o conceito de alocação dinâmica na memória e registros / structs. Instituto Federal de Santa Catarina - Câmpus Chapecó Ensino Médio Integrado em Informática - Módulo IV Unidade Curricular: Programação Estruturada Professora: Lara Popov Zambiasi Bazzi Oberderfer Plano

Leia mais

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

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU Aula 9 Oficina de Programação Matrizes Profa. Elaine Faria UFU - 26 Variáveis Compostas Homogêneas O que uma variável composta homogênea? - Conjunto de variáveis do mesmo tipo - É chamada de forma geral

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação

Leia mais

Universidade Estadual do Maranhão Curso de Engenharia da Computação Mestrado em Engenharia da Computação e Sistemas

Universidade 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 mais

Arrays, Criação de Funções, Estruturas e Manipulação de Arquivos.

Arrays, Criação de Funções, Estruturas e Manipulação de Arquivos. Faculdade de Engenharia da Computação Disciplina: Lógica de Programação Arrays, Criação de Funções, Estruturas e Manipulação de Arquivos. Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Programação de Computadores II. Cap. 5 Vetores

Programação de Computadores II. Cap. 5 Vetores Programação de Computadores II Cap. 5 Vetores Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:

Leia mais

x=0; y=x+1; x=&y+2; x 1000 y 1004

x=0; y=x+1; x=&y+2; x 1000 y 1004 Variáveis Conceitos São alocadas em memória; Elas ocupam uma quantidade de btes que depende do tipo da variável; Esses btes são alocados de forma contígua na memória; O valor de uma variável corresponde

Leia mais

Estruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C

Estruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C Estruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C 2015/1 Programação Básica de Computadores (INF 09325) Archimedes Detoni www.inf.ufes.br/~archimedesdetoni archimedesdetoni@inf.ufes.br

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

ponteiros INF Programação I Prof. Roberto Azevedo

ponteiros 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 mais

Programação em Linguagem C

Programaçã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 mais

A sintaxe para se declarar uma variável do tipo ponteiro é dada por:

A sintaxe para se declarar uma variável do tipo ponteiro é dada por: Pense duas vezes e faça uma vez. Provérbio Chinês. PONTEIROS Um ponteiro nada mais é que uma variável capaz de armazenar um número hexadecimal que corresponde a um endereço de memória de outra variável.

Leia mais

INF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 2 Alocação Dinâmica 17/02/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Alocação dinâmica Vetores locais e funções 17/02/2014 (c) Dept. Informática - PUC-Rio 2 Alocação Dinâmica

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções

Leia mais

LINGUAGEM C: ARRAY: VETORES E MATRIZES

LINGUAGEM C: ARRAY: VETORES E MATRIZES LINGUAGEM C: ARRAY: VETORES E MATRIZES Prof. André Backes POR QUE USAR ARRAY? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor

Leia mais

Aula 07 Introdução à Programação Subprogramas

Aula 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 mais

MC-102 Aula 20 Ponteiros III

MC-102 Aula 20 Ponteiros III MC-102 Aula 20 Ponteiros III Instituto de Computação Unicamp 20 de Outubro de 2016 Roteiro 1 Exemplo de Ponteiros e Alocação Dinâmica 2 Exercício 3 Informações Extras: Ponteiros para Ponteiros e Alocação

Leia mais

Sumário. 1.1 Variáveis Globais e Locais Passagem de Parâmetro (por valor por referência) 1

Sumá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 mais

Variáveis Compostas. Vanessa Braganholo

Variáveis Compostas. Vanessa Braganholo Variáveis Compostas Vanessa Braganholo vanessa@ic.uff.br Aula de hoje } Veremos os diferentes tipos de variáveis compostas (arrays) } Com uma dimensão (vetores) } Com duas ou mais dimensões (matrizes)

Leia mais

ALOCAÇÃO DINÂMICA DE MEMORIA Lista 10. A linguagem C/C++ possui recursos para alocação dinâmica de memoria.

ALOCAÇÃO DINÂMICA DE MEMORIA Lista 10. A linguagem C/C++ possui recursos para alocação dinâmica de memoria. ALOCAÇÃO DINÂMICA DE MEMORIA Lista 10 A linguagem C/C++ possui recursos para alocação dinâmica de memoria. As funções que trabalham com alocação de memoria se encontram na biblioteca void *calloc(int

Leia mais

Subprogramas. Prof. Carlos Lopes

Subprogramas. 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 mais

Computação 2. Aula 7. Profª. Fabiany Ponteiros

Computação 2. Aula 7. Profª. Fabiany Ponteiros Computação 2 Aula 7 Ponteiros Profª. Fabiany fabianyl@utfpr.edu.br O que são Ponteiros? Um ponteiro é uma variável que contém um endereço de memória. Este endereço é normalmente a posição de uma outra

Leia mais

Matrizes. Estruturas de Dados Aula 5: Matrizes. Vetor declaração estática. Vetor declaração dinâmica

Matrizes. Estruturas de Dados Aula 5: Matrizes. Vetor declaração estática. Vetor declaração dinâmica Matrizes Estruturas de Dados Aula 5: Matrizes 22/03/2010 Conjuntos bidimensionais declarados estaticamente float mat[4][3]; Declaração de um vetor (estática ou dinâmica?) int v[10] int *v; v = (int*) malloc

Leia mais

Figura 1: Uma matriz contem elementos de um mesmo tipo, com início em (0,0). 30 é o número de colunas!

Figura 1: Uma matriz contem elementos de um mesmo tipo, com início em (0,0). 30 é o número de colunas! 22 Matrizes Ronaldo F Hashimoto e Carlos H Morimoto Oobjetivodestaaulaéintroduzirotipomatriz Aofinaldessaaulavocêdeverásaber: descrever o que são matrizes em C Declarar matrizes Como acessar elementos

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada

Leia mais

Estruturas de Dados Aula 5: Matrizes 23/03/2011

Estruturas de Dados Aula 5: Matrizes 23/03/2011 Estruturas de Dados Aula 5: Matrizes 23/03/2011 Matrizes Conjuntos bidimensionais declarados estaticamente float mat[4][3]; Declaração de um vetor (estática ou dinâmica?) int v[10] int *v; v = (int*) malloc

Leia mais

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Programação Procedimental 1 o Laboratório de Programação C Prof. Cláudio C. Rodrigues 1. Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos

Leia mais

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

Aula 10 Oficina de Programação Matrizes. Profa. Elaine Faria UFU Aula Oficina de Programação Matrizes Profa. Elaine Faria UFU - 27 Variáveis Compostas Homogêneas O que uma variável composta homogênea? - Conjunto de variáveis do mesmo tipo - É chamada de forma geral

Leia mais

Aula 3: Algoritmos: Formalização e Construção

Aula 3: Algoritmos: Formalização e Construção Aula 3: Algoritmos: Formalização e Construção Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Formalização e Pseudo-Código Programação de

Leia mais

Explicação do programa:

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 mais

Métodos Computacionais. Funções, Escopo de Variáveis e Ponteiros

Métodos Computacionais. Funções, Escopo de Variáveis e Ponteiros Métodos Computacionais Funções, Escopo de Variáveis e Ponteiros Tópicos da Aula Hoje vamos detalhar funções em C Escrevendo funções Comando return Passagem de argumentos por valor Execução de uma função

Leia mais

Capítulo 3: Programando com Funções

Capítulo 3: Programando com Funções Capítulo 3: Programando com Funções INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Organização de Código Um programa de computador representa a implementação

Leia mais

Algoritmos Computacionais

Algoritmos Computacionais UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE

Leia mais

Aula 05: - Recursão (parte 1)

Aula 05: - Recursão (parte 1) MCTA028 Programação Estruturada Aula 05: - Recursão (parte 1) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-20107 1 Recursão: Se você ainda não entendeu; Ver: "Recursão". Efeito Droste Anuncio

Leia mais

1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada pelo usuário. Ex: Entrada: Hello World. Saída:.

1. 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 mais

Paradigmas de programação

Paradigmas de programação Paradigmas de programação 1 Paradigma? Um paradigma é algo que serve de exemplo ou modelo. Sinônimos: Padrão Prototipo 2 Paradigma de programação? É uma proposta tecnológica. Fornece uma visão do programador

Leia mais

Estruturas de Dados Aula 5: Matrizes

Estruturas de Dados Aula 5: Matrizes Estruturas de Dados Aula 5: Matrizes Matrizes Conjuntos bidimensionais declarados estaticamente float mat[4][3]; Declaração de um vetor (estática ou dinâmica?) int v[10] int *v; v = (int*) malloc (n*sizeof(int));

Leia mais

Modularidade - Funções e Procedimentos

Modularidade - 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 mais

Lógica de Programação e Algoritmos

Lógica de Programação e Algoritmos Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 4 Estruturas de Dados Homogêneas Vetores e Matrizes Conteúdo: 4.1 Variáveis compostas homogêneas... 55 4.2 Vetores... 56 Exercícios

Leia mais

ESTRUTURA DE DADOS (TCC )

ESTRUTURA DE DADOS (TCC ) ESTRUTURA DE DADOS (TCC-00.319) Ponteiros e funções Cristina Boeres 2 Ponteiros Variável do tipo ponteiro:! Linguagens como C permite o armazenamento e a manipulação de valores de endereços de memória!

Leia mais

3ra. Avaliação - Grupo A

3ra. Avaliação - Grupo A Universidade Federal de Ouro Preto - UFOP Disciplina: BCC 201 - Introdução à Programação Professor: Guillermo Cámara-Chávez Aluno: No. A cola não será tolerada. Se alguém for pego colando, será reprovado

Leia mais