Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

Construção de Algoritmos 2
Um programa em C Bibliotecas Variáveis globais
Linguagem de Programação VI Tipos de Dados Compostos - structs
Construção de Algoritmos AULA 07
Programação II Estruturas de Dados
Programação para Engenharia I
Algoritmos e Estrutura de Dados I
Introdução a Programação
Alocação Dinâmica de Memória
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
LPG - I: Alocação Dinâmica de Memória - Ponteiros
AULA – Linguagem C – Vetores, Ponteiros Estruturas
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo Programação II Estruturas Professora: Norminda Luiza.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Linguagem C Strings.
Vetores, Matrizes e Funções
Ponteiros.
Revisão da Linguagem C.
Apontadores ou Ponteiros
O Portal do Estudante de Computação
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
INTRODUÇÃ A COMPUTAÇÃO ENG. CIVIL
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 8 Ponteiros Monitoria de Introdução à Programação.
Aula prática 6 Vetores e Matrizes
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior
CADEIA DE CARACTERES (Strings)
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
PROGRAMAÇÃO I PONTEIROS.
Estrutura de Dados Avançada
Seminário 1: Revisão de C
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Prof. Ricardo Santos PONTEIROS
Computação Eletrônica
Linguagem C : Ponteiros
Vetores e Matrizes Ameliara Freire
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Aula P.02 – BCC202 Revisão sobre Ponteiros Túlio Toffolo
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Joaquim José Hangalo  Podemos entender a memória do computador como um conjunto de células que armazenam informações.  Cada célula.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Ponteiros.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Linguaguem de Programação II
Estrutura de Dados Revisão Professor Luiz José Hoffmann Filho
Linguagem de Programação
Fundamentos de Programação 1
Aula Prática 6 Ponteiros Monitoria  Quando declaramos uma matriz:  tipo meuArray[tam];  O compilador aloca a matriz em uma região de memória.
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”. 1.
Transcrição da apresentação:

Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1

Sumário Correção Exercício; Ponteiro X Alocação Seqüencial; Exercícios. Prof.: Sergio Pacheco 2 2

Correção DEV C++; Prof.: Sergio Pacheco 3 3

Usando o Linux Compila o arquivo alo.c (gerando o arquivo alo.o).  gcc -c alo.c Linka o programa e gera o executável com nome alo.  gcc -o alo alo.o Executa o programa alo.  ./alo ERROS: SINTAXE ERROS: LÓGICA Prof.: Sergio Pacheco 4 4

Ponteiro Endereços : A memória de qualquer computador é uma seqüência de bytes.    Os bytes são numerados sequencialmente.  O número de um byte é o seu endereço (= address). O endereço de uma variável é dado pelo operador  &, e quando quisermos fazer uso do valor usamos o operador *; Prof.: Sergio Pacheco 5 5

Ponteiro Endereços : A memória de qualquer computador é uma seqüência de bytes.    Os bytes são numerados sequencialmente.  O número de um byte é o seu endereço (= address). O endereço de uma variável é dado pelo operador  &, e quando quisermos fazer uso do valor usamos o operador *; Prof.: Sergio Pacheco 6 6

Ponteiro Um ponteiro indica o endereço onde um valor é armazenado na memória do computador, ao contrário de uma variável que representa um valor numérico real. Prof.: Sergio Pacheco 7 7

Ponteiro Para resumir é uma variável que armazena o endereço de uma outra variável. Prof.: Sergio Pacheco 8 8

Ponteiro Declaração, como forma geral : Tipo *nome; Prof.: Sergio Pacheco 9 9

Ponteiro X Valor #include <stdio.h> void incrementa (int valor); main() { char parada; int i = 1; printf ("O valor original de i e : %d\n", i); incrementa (i); printf ("Depois da chamada e : %d\n", i); getchar(); } void incrementa (valor) { valor++; printf ("Dentro da funcao i vale : %d\n", valor); Prof.: Sergio Pacheco 10 10

Ponteiro X Valor Alterar o exercício anterior, fazendo uso de ponteiros para mostrar a passagem por referência; Prof.: Sergio Pacheco 11 11

Ponteiro X Valor #include <stdio.h> void incrementa (int *valor); main(){ char parada; int *p,i = 1; p=&i; printf ("O valor original de i e : %d\n", i); incrementa (p); printf ("Depois da chamada e : %d\n", i); parada = getchar(); } void incrementa (int *valor) { (*valor)++; printf ("Dentro da funcao i vale : %d\n", *valor); printf(“A posicao de memoria e %d",&valor); Prof.: Sergio Pacheco 12 12

O que esta errado? void main(void){ int x, *p; x = 10; p = x; printf ("%d", *p); } p=&x; Prof.: Sergio Pacheco 13 13

O que podemos entender? #include <stdio.h> #include <string.h> void sempreRef (char str[]); main(){ char parada; char saudacao[20] = "----Alo"; printf ("\nO texto inicial e \" %s\" \n", saudacao); sempreRef (saudacao); printf ("Depois da chamada:\" %s\"\n", saudacao); parada = getchar(); } void sempreRef (char str[]){ strcat (str, "!OUTRO"); Prof.: Sergio Pacheco 14 14

Exercícios Desenvolver um programa em c para receber 2 notas de 1 aluno e verificar se: Media maior que 6,0 imprimir aluno aprovado; Media menor que 6,0 e maior que 3,0 imprimir aluno prova final; Media menor que 3,0 imprimir aluno reprovado; O programa deverá fazer uso de ponteiros e funções. Prof.: Sergio Pacheco 15 15

Depurar o programa abaixo, qual a saída. #include <stdio.h> #include <stdlib.h> void main(){ int y, *p, x; y = 0; p = &y; x = *p; x = 4; (*p)++; printf("P=%d\n",(*p)++); x--; (*p)+=x; printf("y=%d\n",y); getchar(); } Prof.: Sergio Pacheco 16 16

Utilizando ponteiros com vetor. #include <stdio.h> #include <stdlib.h> void main(void){ int vetor[] = { 10, 20, 30, 40, 50 }; int *p1; p1 = &vetor[2]; printf("%d\n", *p1); p1++; p1 = p1 + 1; getchar(); } Prof.: Sergio Pacheco 17 17

Revisão C Escreva um programa em C que leia números inteiros até que a soma de tais números totalize no mínimo 100. Devem ser lidos tantos valores quantos necessários para que tal valor seja atingido ou superado. Quando isto ocorrer, o programa também deve exibir quantos números foram lidos e sua média e listar os todos os números? O programa deverá fazer uso de ponteiros, e deverá usar referencia como passagem de argumentos; Prof.: Sergio Pacheco 18 18

100 valores Prof.: Sergio Pacheco 19 19

Bom final de semana e até semana que vem !!! Deus abençoe a todos. ( Prof.: Sergio Pacheco 20 20