Linguagem C. Programação Estruturada. Estrutura de Dados Homogêneas. Prof. Luis Nícolas de Amorim Trigo

Documentos relacionados
Capítulo 7 Matriz. Roteiro

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

Linguagem C. Programação Estruturada. Estrutura de Dados Heterogêneos. Prof. Luis Nícolas de Amorim Trigo

Computação Informática

Estruturas de Dados. Nem sempre, a manipulação de dados é feita por simples elementos...

CCO 016 / COM 110 Fundamentos de Programação

Estruturas de Dados. Nem sempre, a manipulação de dados é feita por simples elementos... Vetores, Matrizes e Strings Introdução à Computação 1 de 27

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

Quantas variáveis para armazenar as notas e as médias são necessárias para resolver este problema?

Algoritmos e Programação

Matrizes. DCC 119 Algoritmos

Fundamentos de Programação1

Vetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Algoritmos e Programação Parte 02 Vetores e Matrizes

Vetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.

Programação científica C++

Fundamentos de Programação 1

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Vetores. Vetores. Vetores. Vetores. Vetores. Algoritmos e Lógica de Programação. Vetores

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

Fundamentos de Programação

CCO 016 Fundamentos de Programação

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

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

Variáveis, Tipos de Dados e Operadores

Linguagem C vetores multidimensionais

Linguagem C. Programação Estruturada. Modularização (Funções) Prof. Luis Nícolas de Amorim Trigo

Programação: Vetores

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Matrizes. Para começar... Matrizes. Matrizes

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

LINGUAGEM C++ Prof. Bruno Gomes ESTRUTURAS DE DADOS HOMOGÊNEAS PARTE II - MATRIZES. Currais Novos, 2011

Programação Básica. Estrutura de um algoritmo

PCI- Matrizes. Profa. Mercedes Gonzales Márquez

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

Linguagem C Estruturas de Repetição

Exercícios: Vetores e Matrizes

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

Estrutura do programa

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

Algoritmos e Programação

Computação eletrônica:

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

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Dados Estruturados Vetores e Matrizes. SCC120 - Introdução à Ciência de Computação

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros

Variáveis Compostas Homogêneas Vetores

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

1ª Lista de Exercícios

Algoritmos e Programação

Algoritmos e Programação

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

LINGUAGEM C VETOR E MATRIZ

Linguagem C estruturas de repetição

SITUAÇÃO VETORES. Imagine o seguinte problema:

Laboratório de Introdução à Ciência da Computação I

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

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

Linguagem C. Funções. Prof. Maurício Dias

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

LISTA DE EXERCÍCIOS: 1ª Unidade

Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva

Modulo 4: while do while (limites de variáveis)

GFM015 Introdução à Computação Algoritmos e Programação / Estrutura de Controle de Fluxo / Ambiente de Programação

Laboratório de Introdução à Ciência da Computação I

Lógica de Programação Módulo I Prof.: Ricardo Lokchin. Fazer os exercícios abaixo na Linguagem C ou em ALGORITMOS.

Estruturas Homogêneas Vetores e Matrizes. Givanaldo Rocha

Lista de Exercícios 5

Introdução à Programação I

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

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

12 - Dados Estruturados Vetores, Matrizes e Strings

TÉCNICAS DE LINGUAGEM DE PROGRAMAÇÃO

3. Linguagem de Programação C

Funções em Linguagem C Parte II

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

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

Universidade Federal de Goiás Instituto de Informática Introdução à Computação Professor: Julliano Rosa Nascimento

Introdução a Computação

Introdução à Programação

Estrutura de Seleção Múltipla Switch

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

Modulo 3: Else, Case, For...

Arranjos. David Déharbe

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais. Prof. Luiz Fernando Laguardia Campos FMS

Lógica de Programação e Algoritmos

INF 1620 P1-13/09/02 Questão 1 Nome:

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

LP II Estrutura de Dados

Estrutura de Programas e Tipos de Dados Simples

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

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Treinamento Olimpíada Brasileira de Informática

Linguagem C. Programação Estruturada. Funções Matemáticas. Prof. Luis Nícolas de Amorim Trigo

Transcrição:

Programação Estruturada Linguagem C Estrutura de Dados Homogêneas Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Introdução Exercícios 2 1

Introdução [ 1 3 ] A manipulação de dados é um dos objetivos da criação de programas, que leva este a precisar de dados e informações para exercer as suas funções. Informações simples atendem a uma pequena parcela dos algoritmos. A maioria utiliza uma grande carga de informações e estas, quando utilizadas com tipos primitivos, precisam de inúmeras variáveis, tornando o algoritmo um monstro carregado de repositórios, já que um deste contém apenas uma informação. 3 Introdução [ 2 3 ] A alternativa para atender a esta demanda corresponde a criação de novos repositórios que suportem várias informações. Utilizando os armários como demonstração: uma gaveta só pode conter um objeto, uma variável tem somente uma informação, no tipo primitivo. Quando se trata de tipos construídos, uma gaveta, ou melhor, uma variável pode conter inúmeras informações. 4 2

Introdução [ 3 3 ] Os tipos construídos são denominados de Estrutura de Dados Composta, que consiste em um conjunto de informações armazenados em um repositório. É dividida em duas classificações: Estruturas de Dados Compostas Homogêneas Estruturas de Dados Compostas Heterogêneas 5 Estrutura de Dados Compostas Homogêneas É formado por variáveis que aceitam um número indeterminado de informações a partir de um mesmo tipo primitivo. Ele é dividido em duas partes: Estruturas de Dados Compostas Homogêneas Unidimensionais, conhecido como Vetor; e Estruturas de Dados Compostas Homogêneas Compostas Multidimensionais, conhecido como Matriz. 6 3

Vetor Para entendermos um vetor iremos utilizar o cenário de um edifício. Digamos que um edifício contém apenas um apartamento por andar. Um edifício corresponde a um vetor e cada apartamento corresponde a um elemento deste vetor. 7 Sintaxe de Declaração de Vetor tipo nome_var[tamanho]; Onde: tipo Refere-se ao tipo de dado(int, etc.). nome_var Identifica o nome do vetor. [tamanho] Quantidade de elementos que o vetor armazenará. Exemplo: float notas[4]; // vetor possui 4 posições (índice de 0 a 3) 8 4

Sintaxe de Manipulação de Vetor Atribuição completa do vetor nome_var[tamanho] = {x,y,z; Exemplo: float notas[4]; notas[4] = {5.5,9,6,8; 9 Sintaxe de Manipulação de Vetor Atribuição em uma posição do vetor nome_var[i] = n; Exemplo: Float notas[4]; notas[2] = 6; 10 5

Sintaxe de Manipulação de Vetor Inicialização de um vetor float notas[4]; for(int i=0;i<4;i++){ //<X> varia conforme cada repetição notas[i] = <X>; 11 Sintaxe de Manipulação de Vetor Entrada de dados em um vetor #include <stdio.h>... float notas[4]; for(int i=0;i<4;i++){ scanf( %f,&notas[i]); 12 6

Sintaxe de Manipulação de Vetor Saída de dados em um vetor #include <stdio.h> float notas[4];... for(int i=0;i<4;i++){ printf( \nnota: %.2f,notas[i]); Resultado: Nota: 5.50 Nota: 9.00 Nota: 6.00 Nota: 8.00 13 Exemplo de Vetor Elaborar um algoritmo que leia 3 salários e, no final, imprima o maior. #include <stdio.h> #include <stdlib.h> int main(){ float salario[3], maiorsalario; for(int i=0;i<3;i++){ scanf( %f,&salario[i]); if(i==0){ maiorsalario = salario[i]; else{ if(salario[i] > maiorsalario){ maiorsalario = salario[i]; printf( Maior Salario eh R$ %.2f\n,maiorsalario); system( pause ); 14 7

Matriz Vetor é uma variável composta homogênea unidimensional porque tem somente uma dimensão, ou seja, cresce somente em um sentido. Já uma matriz corresponde a uma variável composta homogênea multidimensional, pois ela pode crescer em vários sentidos. Ela pode variar de matriz bidimensional até N-dimensional, ou seja, projeta de 2 ou mais direções. 15 Matriz 16 8

Matriz Para entendermos uma matriz bidimensional (duas dimensões), será utilizado o cenário de uma platéia de um teatro. O teatro é formado por um palco e uma platéia de 20 cadeiras. Esta platéia é composta por cinco fileiras de quatro cadeiras ou quatro arquibancadas de cinco cadeiras. 17 Matriz Fazendo outra comparação para haver uma melhor compreensão, iremos utilizar novamente o cenário de um edifício, só que, agora, cada andar terá vários apartamentos. Digamos que um edifício tenha três apartamentos por andar, sendo quatro andares. Neste caso, o edifício corresponde a uma matriz com quatro linhas e três colunas, conforme a figura ao lado. As formas de declaração e manipulação a seguir são de estruturas bidimensionais. 18 9

Sintaxe de Declaração de Matriz tipo nome_var[linha][coluna]; Onde: tipo Refere-se ao tipo de dado(int, etc.). nome_var Identifica o nome da matriz. [linha][coluna] Qtde. de elementos que a matriz armazenará. linhas * colunas. Exemplo: int num[2][3]; int num2[4][4] Matriz Retangular Matriz Quadrada 19 Sintaxe de Manipulação de Matriz Atribuição completa da matriz tipo nome_var[linha][coluna] = {{x1,...,y1,{x2,...,y2,...{xn,...,yn; Exemplo: int num[2][2] = {{5,9,{6,8; int num2[3][2] = {{4,7,{5,6,{1,0; 20 10

Sintaxe de Manipulação de Matriz Atribuição em uma posição da matriz nome_var[linha][coluna] = n; Exemplo: int num[2][3]; num[1][0] = 87; int num2[4][4]; num2[0][3] = 23; 21 Sintaxe de Manipulação de Matriz Inicialização de uma matriz int num[2][3]; for(int i=0;i<2;i++){ //i<=1 for(int j=0;j<3;j++){ //j<=2 //<X> varia conforme cada repetição num[i][j] = <X>; 22 11

Sintaxe de Manipulação de Matriz Entrada de dados em uma matriz #include <stdio.h>... int num[2][3]; for(int i=0;i<2;i++){ for(int j=0;j<3;j++){ scanf( %d,&num[i][j]); Saída de dados em uma matriz #include <stdio.h>... int num[2][3]; for(int i=0;i<2;i++){ for(int j=0;j<3;j++){ printf( %d,num[i][j]); 23 Algumas considerações de Matriz Quadrada Se tratando de linha e coluna, refere-se ao índice: A Diagonal Principal corresponde à linha igual à coluna. (Amarelo [67,12,51,87]) O Triângulo Principal Superior corresponde à linha ser sempre inferior à coluna. (Verde [92,2,10,48,76,23]) O Triângulo Principal Inferior corresponde à linha ser sempre superior à coluna. (Azul [43,54,28,99,7,33]) A Diagonal Secundária corresponde à soma da linha e coluna ser a ordem da matriz decrementando um. (Laranja [33,54,2,23]) O Triângulo Secundário Superior corresponde à soma da linha e coluna ser sempre menor do que à ordem da matriz decrementando um. (bege [99,12,48,43,92,67]) O Triângulo Secundário Inferior corresponde à soma da linha e coluna ser maior ou igual à ordem. (lilás [7,51,76,28,10,87]). 24 12

Exemplo de Matriz Elabore um algoritmo que leia a matriz da 3 linhas e 2 colunas. No final, imprima o maior e o menor. #include <stdio.h> #include <stdlib.h> int main(){ int num[3][2],maior,menor; for(int i=0;i<3;i++){ for(int j=0;j<2;j++){ scanf("%d",&num[i][j]); if((i==0)&&(j==0)){ maior = num[i][j]; menor = num[i][j]; else{ if(num[i][j] > maior) maior = num[i][j]; if(num[i][j] < menor) menor = num[i][j]; printf("o maior eh %d\n",maior); printf("o menor eh %d\n",menor); system("pause"); 25 Exercício cio 1. Elabore um algoritmo que, dados dois vetores inteiros de 10 posições, leia os dois vetores, some os valores da mesma posição e armazene em um terceiro vetor inteiro de 10 posições. No final imprima este terceiro vetor. 2. Desenvolver um programa que armazene as alturas de 5 atletas em um vetor e, no final, verifique e mostre o maior altura e menor altura. 3. Elabore um programa que leia 5 inteiros do teclado, armazene em um vetor. No final, mostre os números ímpares. 4. Elabore um algoritmo que leia 10 inteiros do teclado, armazene em um vetor, calcule e, no final, mostre a média dos números ímpares. 26 13

Exercício cio 4. Elabore um algoritmo que leia uma matriz quadrada de ordem 5 e um inteiro. Apresente os números da linha indicada pelo número inteiro fornecido pelo usuário. 5. Elabore um algoritmo que leia uma matriz quadrada de ordem 5 e um inteiro. Apresente os números da coluna indicada pelo número inteiro fornecido pelo usuário. 6. Elabore um algoritmo que receba uma matriz inteira retangular 2x3, gere e imprima uma matriz transposta. Esta é gerada trocando a linha pela coluna. Exemplificado na figura ao lado. num 1 2 3 4 5 6 num transposta 1 4 2 5 3 6 27 Exercício cio 7. Elabore um algoritmo que leia uma matriz inteira quadrada de ordem 4, calcule e mostre no final: a) A soma dos Triângulos Principais e Secundários, tanto superior, quanto inferior. b) A média aritmética da Diagonal Principal e da Diagonal Secundária. 28 14