Arranjos. David Déharbe

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

Download "Arranjos. David Déharbe"

Transcrição

1 Arranjos. David Déharbe 1 1

2 Roteiro da aula Exercícios motivadores para arranjos; Motivação; Definição; Arranjos em C; Arranjos e ponteiros; Exemplos. 2 2

3 Exercícios. Escreva um programa que lê cinco números inteiros, e imprime eles em ordem inversa. 3 3

4 Exercícios Escreva um programa que lê 1000 números inteiros, e imprime eles em ordem inversa. Escreva um programa que lê n, a quantidade de números inteiros, seguida de uma linha com n números inteiros, e imprime eles em ordem inversa. 4 4

5 Motivação Não é prático utilizar variáveis simples quando um programa precisa processar muitos dados e que todo o resultado depende de todos esses dados. Não é viável utilizar variáveis simples quando um programa precisa processar uma quantidade de dados variável e não limitada. 5 5

6 Definição Variáveis arranjos (ou vetores) armazenam um número fixo de valores de um mesmo tipo. A capacidade do arranjo é definida quando a variável é criada. O tipo dos valores do arranjo é definido no código fonte do programa. Cada valor do arranjo pode ser lida ou escrita individualmente. Em C, um arranjo de N valores do tipo T é um bloco de memória composto por N locações contíguas, cada uma armazenando um valor do tipo T. As locações são identificados por um número inteiro. Esse identificador é chamado índice. Os índices válidos vão de 0 até N-1. (ATENÇÃO: PERIGO!!!) 6 6

7 Arranjos em C: declaração Sintaxe para declarar uma variável arranjo: T a [ N ]; onde: a é o nome do arranjo N é a capacidade do arranjo T é o tipo de valores armazenadas no arranjo. Exemplo: int v [1000]; 7 7

8 Arranjos em C: declaração com inicialização Sintaxe para declarar e inicializar uma variável arranjo: T a [ N ] = {t1, t2,... tn; exemplo: float notas[4] = {4.5, 6.2, 3.7, 8.8; Inicialização parcial: as posições não inicializadas são zeradas. exemplo: float notas[5] = {4.5, 6.2; neste caso, há zeros nas posições 2, 3 e 4. exemplo: int n [1000] = {0; // todas as posições zeradas. Inicialização por posição: indica quais posições inicializar (exótico) int n [1000] = { [43] = 1, [2] = 7; neste caso, há 1 na posição 43, 7 na posição 2, e zeros nas demais. Se a capacidade é omitida, o compilador infere ela do tamanho da inicialização: int v [ ] = {2, 3, 5, 7; 8 // v tem tamanho 4 8

9 Exemplo 1: espelho de 1000 valores Escreva um programa que lê 1000 números inteiros, e imprime eles em ordem inversa. 9 9

10 Exemplo 1: solução Criar um arranjo de 1000 inteiros; Leitura da entrada no arranjo; Impressão da saída a partir do arranjo

11 Exemplo 1: solução Criar um arranjo de 1000 inteiros, digamos a; Leitura da entrada em a; Impressão da saída a partir de a

12 Exemplo 1: solução Criar um arranjo de 1000 inteiros, digamos a; int a [1000]; Leitura da entrada em a; Impressão da saída a partir de a

13 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: Repetir 1000 vezes ler um inteiro e guardar na próxima posição não usada do arranjo Impressão da saída a partir do arranjo

14 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: Repetir 1000 vezes (seja i o contador da repetição). ler um inteiro e guardar na próxima posição não usada do arranjo. Impressão da saída a partir do arranjo

15 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; /* contador de repetições */ for (i = 1; i <= 1000; ++i) { ler um inteiro e guardar na próxima posição não usada do arranjo. Impressão da saída a partir do arranjo

16 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; /* contador de repetições */ for (i = 1; i <= 1000; ++i) { ler um inteiro, digamos v, e guardar na próxima posição não usada do arranjo, digamos p. Impressão da saída a partir do arranjo

17 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; // contador de repeticoes int p; // proxima posicao livre de a for (i = 1, p = 0; i <= 1000; ++i) { int v; // guarda um valor de entrada ler um inteiro, digamos v, e guardar na próxima posição não usada do arranjo, digamos p. i = i + 1; Impressão da saída a partir do arranjo

18 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; // contador de repeticoes int p; // proxima posicao livre de a for (i = 1, p = 0; i <= 1000; ++i) { int v; // guarda um valor de entrada // ler um inteiro v, scanf("%i", &v); // e guardar na posição p do arranjo a. a[p]=v; p += 1; // atualizar p Impressão da saída a partir do arranjo

19 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; // contador de repeticoes int p; // proxima posicao livre de a for (i = 1, p = 0; i <= 1000; ++i) { int v; // guarda um valor de entrada // ler um inteiro v, scanf("%i", &v); // e guardar na posição p do arranjo a. a[p]=v; p = p + 1; // atualizar p Impressão da saída a partir do arranjo

20 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; // contador de repeticoes int p; // proxima posicao livre de a for (i = 1, p = 0; i <= 1000; ++i) { scanf("%i", &a[p]); p = p + 1; // atualizar p Impressão da saída a partir do arranjo

21 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; // contador de repeticoes int p; // proxima posicao livre de a for (i = 1, p = 0; i <= 1000; ++i) { scanf("%i", &a[p]); p = p + 1; // atualizar p Impressão da saída a partir do arranjo

22 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; // contador de repeticoes for (i = 0; i < 1000; ++i) { scanf("%i", &a[i]); Impressão da saída a partir do arranjo

23 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; // contador de repeticoes for (i = 0; i < 1000; ++i) { scanf("%i", &a[i]); Impressão da saída a partir do arranjo

24 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; // contador de repeticoes for (i = 0; i < 1000; ++i) { scanf("%i", &a[i]); Impressão da saída a partir do arranjo

25 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i; // contador de repeticoes for (i = 0; i < 1000; ++i) { scanf("%i", &a[i]); Impressão do arranjo da última até a primeira posição: repetição

26 Exemplo 1: solução Criar um arranjo de 1000 inteiros; int a [1000]; Leitura da entrada em a: int i = 1; // contador de repeticoes while (i <= 1000) { scanf("%i", &a[i-1]); i = i + 1; Impressão do arranjo da última até a primeira posição: repetição. for (i = 999; i>= 0; --i) printf("%i ", a[i]); printf("\n"); 26 26

27 Exemplo 1: implementação #include <stdio.h> /* para printf, scanf */ int main () { int a[1000]; int i; // contador de repeticoes for (i = 0; i < 1000; ++i) { scanf("%i", &a[i]); for (i = 999; i >= 0; --i) { printf("%i", a[i]); return 0; 27 27

28 Exemplo 1: implementação #include <stdio.h> /* para printf */ int main () { int tamanho = 1000; int a[tamanho]; int i; for (i = 0; i < tamanho; ++i) { scanf("%i", &a[i-1]); for (i = tamanho-1; i >= 0; --i) { printf("%i", a[i]); return 0; 28 28

29 Exercícios motivadores Escreva um programa que lê n, a quantidade de números inteiros, seguida de uma linha com n números inteiros, e imprime eles em ordem inversa

30 Solução #include <stdio.h> /* para printf */ int main () { int n; scanf("%i", &n); int a[n]; int i; for (i = 0; i < n; ++i) { scanf("%i", &a[i-1]); for (i = n-1; i >= 0; --i) { printf("%i", a[i]); return 0; 30 30

31 Exercício: soma dos elementos de um arranjo Escreva uma sub-rotina que tem como parâmetro um arranjo de 1000 floats e retorna a soma dos elementos do arranjo. interface: float soma_arranjo_float (float v[1000]); 31 31

32 Exercício: maior elemento de um arranjo Escreva uma sub-rotina que tem como parâmetro um arranjo de 1000 floats e retorna o maior deles. interface: float max_arranjo_float (float v[1000]); 32 32

33 Exercício: busca em um arranjo Escreva uma sub-rotina que tem como parâmetros um arranjo a de 1000 ints e um int i, e retorna 1 se i é elemento de a, e 0 caso contrário. interface: int busca_arranjo_int (int a[1000], int i); 33 33

34 Exercício: posição de um valor em um arranjo Escreva uma sub-rotina que tem como parâmetros um arranjo a de 1000 ints e um int i, e retorna a menor posição de a que contem o valor i ou -1 se a não contem o valor i. interface: int pos_arranjo_int (int a[1000], int i); 34 34

35 Exercício: contagem de ocorrências Escreva uma sub-rotina que tem como parâmetros um arranjo a de 1000 ints e um int i, e retorna o número de posições de a que contem com o valor i. interface: int num_arranjo_int (int a[1000], int i); 35 35

36 Exercício: teste de ordem Escreva uma sub-rotina que tem como parâmetros um arranjo a de 1000 ints e retorna 1 se os valores de a estão em ordem estritamente crescente, e 0 caso contrário. interface: int arranjo_crescente (int a[1000]); 36 36

37 Exercício: teste de simetria Escreva uma sub-rotina que tem como parâmetros um arranjo a de 1000 ints e retorna 1 se o conteúdo de a é simétrico, e 0 caso contrário. interface: int arranjo_simétrico (int a[1000]); O conteúdo de um arranjo é dito simétrico quando o valor na primeira posição é igual ao valor na última posição, o valor na segunda posição é igual ao valor na penúltima posição, etc

38 Exercício: maior subsequência crescente Uma subsequência de um arranjo é uma faixa de posições. Escreva uma sub-rotina que tem como parâmetros um arranjo a de 1000 ints e retorna o tamanho da maior subsequência estritamente crescente de a. interface: int arranjo_msc (int a[1000]); 38 38

Arranjos: parâmetros, matrizes.

Arranjos: parâmetros, matrizes. Arranjos: parâmetros, matrizes. David Déharbe 1 1 Roteiro da aula Ponteiros e arranjos; Arranjos e parâmetros; Sub-rotinas para arranjos de tamanho qualquer. 2 2 Ponteiros e arranjos Um arranjo é um bloco

Leia mais

Algoritmos e Programação

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

Roteiro da aula. Resolução de exercícios O operador de indireção Sub-rotinas e tipos. DIM Conceitos e Técnicas de Programação

Roteiro da aula. Resolução de exercícios O operador de indireção Sub-rotinas e tipos. DIM Conceitos e Técnicas de Programação Roteiro da aula Resolução de exercícios O operador de indireção Sub-rotinas e tipos. 1 1 Exercícios David Déharbe 2 2 Uma definição de sub-rotina em C int max (int x, int y) int result; if (x > y) result

Leia mais

Programação: Vetores

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

Recursão David Déharbe

Recursão David Déharbe Recursão David Déharbe 1 1 Objetivos da aula O conceito de recursão. Exemplos. Programação em C. 2 2 Roteiro da aula Revisão de funções; Motivação; Definição; Dois exemplos básicos; Recursão mútua; Dois

Leia mais

Arranjos de arranjos, matrizes.

Arranjos de arranjos, matrizes. Arranjos de arranjos, matrizes. David Déharbe 1 1 Arranjos multi-dimensionais Muitos problemas computacionais precisam representar uma malha multi-dimensional de dados. Jogos: tabuleiro, simulação. Gráficos.

Leia mais

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

Primeiros programas.

Primeiros programas. Primeiros programas. David Déharbe 1 1 Objetivos da aula Revisar as atividades "edição", "compilação", ("correção" e) "execução". Revisar os primeiros elementos de linguagem C já vistos. Aprender a escrever

Leia mais

Sub-rotinas David Déharbe

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

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

Computação 2. Aula 2. Profª. Fabiany Vetores e Matrizes Computação 2 Aula 2 Vetores e Matrizes Profª. Fabiany fabianyl@utfpr.edu.br Vetores Vetor também é conhecido como variável composta homogênea unidimensional; Um vetor computacional é um variável composta

Leia mais

Exercícios sobre textos; Alocação dinâmica.

Exercícios sobre textos; Alocação dinâmica. s sobre textos; Alocação dinâmica. David Deharbe 1 1 s Escreva uma sub-rotina, chamada strchr, que recebe um string s (= o endereço onde está guardado um texto), um caracter c e retorna o endereço da primeira

Leia mais

VETORES ADAPTADO DO MATERIAL DE PROF. L. A. ALVARES

VETORES ADAPTADO DO MATERIAL DE PROF. L. A. ALVARES VETORES ADAPTADO DO MATERIAL DE PROF. L. A. ALVARES SEJA O PROBLEMA: LER 30 VALORES E CALCULAR A MÉDIA ARITMÉTICA DOS MESMOS. Pergunta-se: Quantas variáveis serão necessárias para ler os 30 valores? 30?

Leia mais

Ponteiros e Tabelas. K&R: Capítulo 5

Ponteiros e Tabelas. K&R: Capítulo 5 Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros

Leia mais

Vetores são estruturas indexadas utilizadas para armazenar dados de um mesmo tipo: int, char, float ou double. Oexemploaseguirédeumvetordeinteiros:

Vetores são estruturas indexadas utilizadas para armazenar dados de um mesmo tipo: int, char, float ou double. Oexemploaseguirédeumvetordeinteiros: 18 Vetores Ronaldo F. Hashimoto e Carlos H. Morimoto Nessa aula vamos introduzir o tipo vetor. Aofinaldessaaulavocêdeverásaber: Descrever o que são vetores na linguagem C. Declarar vetores. Como acessar

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

Computação eletrônica: Funções

Computação eletrônica: Funções Computação eletrônica: Gurvan Huiban ghuiban@cin.ufpe.br 13 de maio de 2014 Plano de aula 1 Princípio 2 Declaração de funções 3 Escope de variáveis Introdução O que é? Bloco de instruções desenvolvido

Leia mais

Introdução à Programação em C Input / Output

Introdução à Programação em C Input / Output Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then

Leia mais

Capítulo 6: Arquivos

Capítulo 6: Arquivos Capítulo 6: Arquivos Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Funções de entrada e saída em arquivos Nos capítulos anteriores, desenvolvemos programas que capturam seus dados de

Leia mais

Vetores. Marina Andretta. 11 de abril de 2016 ICMC-USP. Marina Andretta (ICMC-USP) sme0230-ipc 11 de abril de / 20

Vetores. Marina Andretta. 11 de abril de 2016 ICMC-USP. Marina Andretta (ICMC-USP) sme0230-ipc 11 de abril de / 20 Vetores Marina Andretta ICMC-USP 11 de abril de 2016 Marina Andretta (ICMC-USP) sme0230-ipc 11 de abril de 2016 1 / 20 Vetores Um vetor (ou array) é uma variável composta. Ele é formado por uma sequência

Leia mais

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

Vetores. e o programa deverá ler os valores separadamente: Vetores Vetor é um tipo de dado usado para representar uma certa quantidade de variáveis de valores homogêneos (do mesmo tipo). Imagine o seguinte problema: calcular a média das notas da prova de 5 alunos.

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

Ponteiros. Baseado nos slides do Prof. Mauro.

Ponteiros. Baseado nos slides do Prof. Mauro. Baseado nos slides do Prof. Mauro. A memória do computador é uma sequência de bytes, na qual endereçamos cada um sequencialmente. Como vimos, uma variável é uma região da memória que reservamos para armazenar

Leia mais

Capítulo 06: Arquivos

Capítulo 06: Arquivos Capítulo 06: Arquivos INF1004 e INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Funções de entrada e saída em arquivos Motivação: quando um programa precisa processar

Leia mais

11a. Aula Ponteiros e Vetores

11a. Aula Ponteiros e Vetores 11a. Aula Ponteiros e Vetores 2013.2 2 É um tipo de variável com uma ressalva...... armazena apenasendereçode memória (ou null) Se eu tiver o endereço da casa de Francisca, eu poderei visitá-la e lhe fazer

Leia mais

INTRODUÇÃO À LINGUAGEM C. Prof. Msc. Luis Filipe Alves Pereira 2015

INTRODUÇÃO À LINGUAGEM C. Prof. Msc. Luis Filipe Alves Pereira 2015 INTRODUÇÃO À LINGUAGEM C Prof. Msc. Luis Filipe Alves Pereira 2015 INTRODUÇÃO À LINGUAGEM C 02/23 INTRODUÇÃO Criada em 1972 na AT&T Bell Labs É uma das linguagens mais populares. Existem poucas arquiteturas

Leia mais

INF1005: Programação 1. Arquivos. 02/05/10 (c) Paula Rodrigues 1

INF1005: Programação 1. Arquivos. 02/05/10 (c) Paula Rodrigues 1 INF1005: Programação 1 Arquivos 02/05/10 (c) Paula Rodrigues 1 Tópicos Principais Motivação Abertura e fechamento de arquivos Leitura com fscanf Escrita com fprintf 08/03/10 (c) Paula Rodrigues 2 Motivação

Leia mais

Estruturas condicionais

Estruturas condicionais Estruturas condicionais David Déharbe 1 1 Objetivos da aula Revisar os primeiros elementos de linguagem C já vistos. Condicionais simples Condicionais compostas Operadores lógicos 2 2 Objetivos da aula

Leia mais

ALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória

ALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória ALGORITMOS E ESRUTRA DE DADOS I Ponteiros Passagem por Valor e Referência Alocação de Memória 2 Agenda Ponteiros Conceitos gerais O que é Ponteiro? Declaração de Ponteiros Operadores para Ponteiros Exemplos

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

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

Aula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU Aula 8 Oficina de Programação Vetores Profa. Elaine Faria UFU - 2017 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

Programação 11543: Engenharia Informática 6619: Tecnologias e Sistemas de Informação. Cap. 8 Endereçamento de Memória Endereçamento de Memória

Programação 11543: Engenharia Informática 6619: Tecnologias e Sistemas de Informação. Cap. 8 Endereçamento de Memória Endereçamento de Memória Programação 11543: Engenharia Informática 6619: Tecnologias e Sistemas de Informação Cap. 8 Endereçamento de Memória Endereçamento de Memória Sumário: O que nós já sabemos sobre endereçadores (ou apontadores

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

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental USP - ICMC - SSC SSC 0301-2o. Semestre 2013 Disciplina de Introdução à Computação para Engenharia Ambiental Prof. Dr. Fernando Santos Osório LRM - Laboratório de Robótica Móvel do ICMC / CROB-SC Email:

Leia mais

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

LÓGICA DE PROGRAMAÇÃO (C) VETORES E MATRIZES. Professor Carlos Muniz Vetores são estruturas de dados que armazenam usualmente uma quantidade fixa de dados de um certo tipo; por esta razão, também são conhecidos como estruturas homogêneas de dados. Internamente, um vetor

Leia mais

Estruturas de repetição

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

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Variáveis Compostas Homogêneas Vetores

Variáveis Compostas Homogêneas Vetores Variáveis Compostas Homogêneas Vetores Lógica de Programação Prof. Kleber Rezende Considerações Iniciais Os vetores são variáveis estruturadas homogêneas capazes de armazenar uma série de informações de

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

Referências. Arquivos. Tópicos Principais. Programação de Computadores II. Motivação. Motivação. Abertura de arquivo. Slides da profa.

Referências. Arquivos. Tópicos Principais. Programação de Computadores II. Motivação. Motivação. Abertura de arquivo. Slides da profa. Programação de Computadores II Arquivos Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004) Capítulo 15 Arquivos Slides da profa. Paula

Leia mais

Matrizes. DCC 119 Algoritmos

Matrizes. DCC 119 Algoritmos Matrizes DCC 119 Algoritmos Matrizes: vetores multidimensionais Assim como os vetores, as matrizes são estruturas de dados homogêneas. Podem ser construídas dos diversos tipos básicos primitivos (real,

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho CURSO BÁSICO DE PROGRAMAÇÃO AULA 15 Revisão Vetores e Matrizes Trabalho Definição: Introdução a Linguagem C Vetores Estrutura que permite armazenar um conjunto de dados do mesmo tipo na mesma variável;

Leia mais

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha LINGUAGEM DE PROGRAMAÇÃO C AULA 2 Professor: Rodrigo Rocha TIPOS, VARIÁVEIS E CONSTANTES Tipos de Dados Variáveis Constantes Introdução a entrada e saída Printf Scanf Ferramentas: Dev-C++ Code::Blocks

Leia mais

Programação estruturada

Programação estruturada Programação estruturada IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 2 Exercício Desenvolvimento de um programa

Leia mais

INF 1005 Programação I - Prof. Hélio Lopes 24/04/2012

INF 1005 Programação I - Prof. Hélio Lopes 24/04/2012 Vetores (Arrays) IF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 vetores tópicos definição declaração e inicialização vetores locais a funções passagem de vetores como parâmetros

Leia mais

Computação 2. Aula 5. Profª. Fabiany defines vetor, strings e matriz por parâmetros de função

Computação 2. Aula 5. Profª. Fabiany defines vetor, strings e matriz por parâmetros de função Computação 2 Aula 5 defines vetor, strings e matriz por parâmetros de função Profª. Fabiany fabianyl@utfpr.com.br #define A diretiva #define define um identificador e uma string que o substituirá toda

Leia mais

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE)

Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE) Aula 5 ESTRUTURAS DE REPETIÇÃO (WHILE) Profa. Dra. Elisa Yumi Nakagawa 1o semestre/2017 Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura Condicional

Leia mais

MC-102 Aula 12 Matrizes e Vetores Multidimensionais

MC-102 Aula 12 Matrizes e Vetores Multidimensionais MC-102 Aula 12 Matrizes e Vetores Multidimensionais Instituto de Computação Unicamp 22 de Setembro de 2016 Roteiro 1 Matrizes e Vetores Multidimensionais Declaração de Matrizes Acessando dados de uma Matriz

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

Variáveis e Operadores em C

Variáveis e Operadores em C Variáveis e Operadores em C Luís Charneca luis.charneca@gmail.com NOMES DE VARIÁVEIS (1) As variáveis no C podem ter qualquer nome se duas condições forem satisfeitas: o nome deve começar com uma letra

Leia mais

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Aula 8 Vetores Cleverton Hentz

Aula 8 Vetores Cleverton Hentz Aula 8 Vetores Cleverton Hentz Sumário de Aula } Introdução } Vetores } Índice de Vetores } Exemplos 2 Introdução l Vimos que variáveis em um algoritmo são utilizadas para se guardar valores (dados): l

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

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser

Leia mais

Introdução à Programação em C

Introdução à Programação em C Introdução à Programação em C Tabelas Resumo Aulas Anteriores Streams de Texto Leitura e escrita de caracteres Caracteres como números inteiros Exemplos Leitura e Escrita de Caracteres Input/Output Leitura

Leia mais

Estruturas de Controle de Fluxo

Estruturas de Controle de Fluxo Estruturas de Controle de Fluxo 1 Instrução condicional if () 187 Estruturas de Controle de Fluxo 1 Instrução condicional (continuação) if () else

Leia mais

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação Tipos de Dados, Variáveis e Entrada e Saída em C DCC 120 Laboratório de Programação Variáveis Uma variável representa um espaço na memória do computador para armazenar um determinado tipo de dado. Em C,

Leia mais

Programação Estruturada Aula - Estruturas de Repetição

Programação Estruturada Aula - Estruturas de Repetição Programação Estruturada Aula - Estruturas de Repetição Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 TESTE NO INÍCIO: WHILE Fundamentos TESTE NO INÍCIO: WHILE Estes comandos permitem

Leia mais

Introdução a Programação. Tipos Estruturados de Dados

Introdução a Programação. Tipos Estruturados de Dados Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados

Leia mais

Linguagem C (repetição)

Linguagem 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 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

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

Leia mais

MC-102 Aula 21 Registros

MC-102 Aula 21 Registros MC-102 Aula 21 Registros Instituto de Computação Unicamp 27 de Outubro de 2016 Roteiro 1 Registros Declarando um novo tipo de Registro Acessando os campos de um Registro Lendo e Escrevendo Registros Atribuição

Leia mais

1) Operadores de auto incremento ++ e auto decremento --

1) Operadores de auto incremento ++ e auto decremento -- Aula 09 - Operadores de auto incremento e auto decremento, atribuição múltipla, atribuição na declaração, atribuição resumida e algumas regras de boa programação. 1) Operadores de auto incremento ++ e

Leia mais

Linguagem C. Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973.

Linguagem C. Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973. Aula 2 05/03/2015 Linguagem C Linguagem artificial e formal usada para comunicar instruções ao computador. Proposta por Dennis Ritchie entre 1969 e 1973. Um programa em C é Texto que segue as regras formais

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

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 12 Agregados Homogêneos Variáveis Indexadas matrizes Variáveis Indexadas bi dimensionais

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

Linguagem de Programação I. Aula 08 Linguagem C: Arrays

Linguagem de Programação I. Aula 08 Linguagem C: Arrays Linguagem de Programação I Aula 08 Linguagem C: Arrays Da Aula Anterior Tipos de dados básicos em C Modificadores de tipo Declaração de Variáveis Operadores em C Estruturas de Controle Nesta Aula Arrays

Leia mais

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda

Leia mais

Curso de C. Declaração de Variáveis 18/3/ :48 1

Curso de C. Declaração de Variáveis 18/3/ :48 1 Curso de C Declaração de Variáveis 18/3/2008 15:48 1 Declaração de Variáveis Objetivos: Aprender como: Criar variáveis Atribuir um valor inicial à variável Escolher um nome para a variável 18/3/2008 15:48

Leia mais

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 7 Vetores ou Matrizes Unidimensionais Matrices Multidimencionais Susana M Iglesias 1 INTRODUÇÃO Um vetor geralmente é associado a uma lista ou conjunto de elementos similares,

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

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

Programação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 7 Arrays. Arrays

Programação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 7 Arrays. Arrays 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação Cap. 7 Sumário: Classificação de tipos de dados Características gerais de tipos de dados compostos Definição de array (ou tabela)

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

Curso de Introdução à Liguagem de. Grupo PET-Tele. Universidade Federal Fluminense. July 16, 2012

Curso de Introdução à Liguagem de. Grupo PET-Tele. Universidade Federal Fluminense. July 16, 2012 urso de à urso de à Universidade Federal Fluminense July 16, 2012 Indrodução urso de à O é uma linguagem de programação criada por Dennis Ritchie, em 1972 e que continua a ser muito utilizada até os dias

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 2017.2 Relembrando... Linguagem C Relembrando... Linguagem C Declaração básica de um programa Relembrando... Linguagem C Declaração básica de um programa include Relembrando...

Leia mais

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius

Leia mais

Linguagem de Programação C

Linguagem de Programação C ICMC USP Linguagem de Programação C Aula: Comandos em C Prof. Dr Alneu de Andrade Lopes O comando if Se condição verdadeira (1) executa comando ou sequencia de comandos. Forma geral: if (condição) { sequência_de_comandos_1;

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

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.5. Vetores 3.5.1. Vetores 3.5.2. Strings 3.5.3.

Leia mais

prim = A ; prim = &A[0];

prim = A ; prim = &A[0]; 57 12 - MAIS SOBRE APONTADOR 12.1 - Ponteiros e arrays Em C, ponteiros e matrizes são tratados de maneira semelhante. 12.1.1 - Nome O nome é um ponteiro, ou seja, aponta (contém o endereço) para o primeiro

Leia mais

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com Página Pessoal:

Leia mais

12 - Dados Estruturados Vetores, Matrizes e Strings

12 - Dados Estruturados Vetores, Matrizes e Strings 12 - Dados Estruturados Vetores, Matrizes e Strings Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante Vetores,

Leia mais

Módulo 5 Vetores e Alocação Dinâmica

Módulo 5 Vetores e Alocação Dinâmica Estruturas de Dados Módulo 5 Vetores e Alocação Dinâmica 1/9/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora

Leia mais

Métodos Computacionais. Listas Encadeadas

Métodos Computacionais. Listas Encadeadas Métodos Computacionais Listas Encadeadas Vetores Declaração de vetor implica na especificação de seu tamanho Não se pode aumentar ou diminuir tamanho Outra alternativa no uso de vetores é alocar dinamicamente

Leia mais

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota P1 22/09/2010 Matrícula: Turma: Questão 1) (3,5 pontos) O Índice de Desenvolvimento Humano (IDH) é uma medida do bemestar de uma população. Engloba três dimensões: educação (E), longevidade (L) e a riqueza

Leia mais

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

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++ VARIÁVEIS COMPOSTAS Arrays Aula I Prof. Bruno E. G. Gomes Uma variável em um algoritmo pode ser vista como uma gaveta. A declaração de uma variável reserva uma gaveta (posição) de um certo

Leia mais

Alocação Dinâmica em C

Alocação Dinâmica em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Alocação Dinâmica em C Profa Rosana Braga Adaptado de material preparado pela profa Silvana Maria Affonso de Lara

Leia mais

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná

Matrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná em C Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Uma matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum; Em C todas as matrizes consistem

Leia mais

CICLOS DE REPETIÇÃO. Luís Charneca.

CICLOS DE REPETIÇÃO. Luís Charneca. CICLOS DE REPETIÇÃO Luís Charneca luis.charneca@gmail.com O Comando FOR (1) O loop (ciclo) for é usado para repetir um comando, ou bloco de comandos, diversas vezes, de maneira que se possater um bom controle

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada Prática com declaração e inicialização de variáveis Capacidade de representação (estouro de representação) Tamanho ocupado pela variável na memória (comando

Leia mais

Universidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza

Universidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza Universidade Federal do Espírito Santo Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza Variáveis Tipos de Dados Básicos Formação dos identificadores o nome deve começar com uma letra

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Linguagem C Laços de Repetição em C Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO 1 while ( ) #include #include int main() int resultado, numero; printf (

Leia mais

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

Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Exercícios da aula prática 2 Vetores 3 Exemplos

Leia mais

Métodos Computacionais. Vetores e Matrizes Dinâmicas

Métodos Computacionais. Vetores e Matrizes Dinâmicas Métodos Computacionais Vetores e Matrizes Dinâmicas Vetores Um programa para o cálculo da média Média m n i= = 1 n x i Variância v n i= = 1 ( x i n m) 2 A forma mais simples de estruturar um conjunto de

Leia mais

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

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica Introdução a Programação Ponteiros e Vetores, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos que existe uma forte relação entre ponteiros e vetores Associação entre ponteiros e vetores Ponteiros constantes

Leia mais