Estrutura de Dados. TAD (Tipo Abstrato de Dados) Criando a primeira estrutura

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

Download "Estrutura de Dados. TAD (Tipo Abstrato de Dados) Criando a primeira estrutura"

Transcrição

1 Estrutura de Dados TAD (Tipo Abstrato de Dados) Criando a primeira estrutura

2 TAD Um tipo de dado abstrato pode ser definido como um conjunto de valores e uma coleção de operações que atual sobre esses valores. As operações devem ser consistentes com os tipos de valores (MORAES, C.R., 2001, P5)

3 Definindo tipos em C A maioria das linguagens compartilham o mesmo tipo primitivo de dados como int (para inteiros) float (para ponto flutuante sem precisão) double (para pontos flutuantes com precisão) char (para caracteres) string (para cadeia de caracteres) entre outros

4 Definindo tipos em C Podemos dar outro nome para os tipos primitivos Por exemplo, imagine chamar o tipo int de INTEIRO, ou até mesmo NUMEROSNATURAIS Ou chamar tipo char de CARACTERES Ou chamar o tipo float de NUMEROQUEBRADO (rsrs) Em C temos o comando typedef o qual dá um novo nome para um tipo

5 Definindo tipos em C #include <stdio.h> typedef int NUMERO; // definimos que o tipo int será chamado de NUMERO main(){ NUMERO a, b, total; //ao invés de declarar como int, declaramos como NUMERO a = 2; b = 3; total = a + b; printf( O total da soma é %d, total);

6 Estrutura para guardar dados Algumas vezes precisamos guardar dados Para isso, criaremos estruturas, cada uma responsável por guardar os dados em uma hierarquia específica Como modelar essa estrutura? Como inicializamos esta estrutura? Como acessamos os campos desta estrutura?

7 Struct Imagine que temos uma ficha para preencher sobre uma pessoa, nesta ficha temos Nome Idade Peso Altura Nome: Josafá Moisés Idade: 32 Peso: 85 Altura: 1.78 Ficha Cadastral

8 Struct Esta ficha é um conjunto de dados sobre uma pessoa, neste caso, o senhor Josafá Podemos ter uma ficha de outra pessoa, digamos que a Delfina Nome: Josafá Moisés Idade: 32 Peso: 85 Altura: 1.78 Ficha Cadastral

9 Struct Ficha Cadastral Ficha Cadastral Nome: Josafá Moisés Idade: 32 Peso: 85 Altura: 1.78 Nome: Delfina Pereira Idade: 39 Peso: 61 Altura: 1.55

10 Estrutura para guardar dados Temos agora uma estrutura (Ficha Cadastral) e duas fichas preenchidas com dados pessoais, uma para Josafá outra para Delfina Como podemos modelar a estrutura desta ficha cadastral em linguagem de programação?

11 Estrutura para guardar dados Em Java, utilizaremos o paradigma orientado a objetos Podemos criar uma classe chamada FichaCadastral e depois instanciar os objetos (Veja o próximo slide)

12 Código Java public class FichaCadastral{ String nome; int idade; float peso; float altura; public class EstruturaSimples{ public static void main(string[] args){ FichaCadastral pessoa1 = new FichaCadastral(); FichaCadastral pessoa2 = new FichaCadastral(); pessoa1.nome = Josafa Moises; pessoa1.idade = 32;... pessoa2.nome = Delfina Pereira; pessoa2.idade = 39;...

13 Criando uma estrutura simples em C Em C não temos o conceito de classes Mas temos um ancestral das classes: a STRUCT Struct Define uma estrutura com os campos definidos entre as chaves struct{ int altura; int peso;

14 Criando uma estrutura simples em C Uma Struct pode ser vista como um novo tipo de dado, o qual é formado por composição de variáveis de outros tipos Uma Struct é um agrupamento de dados Cadastro de pessoas Todas as informações como Nome, Idade, Peso e altura pertencem a uma pessoa Logo, podemos agrupar estes dados Isso facilita lidar com dados de outras pessoas no mesmo programa

15 Criando uma estrutura simples em C Utilizaremos o comando typedef para definir o nome da struct, ficando assim typedef struct{ int altura; int peso; Pessoa;

16 Criando uma estrutura simples em C Voltando a ficha anterior, em Java criamos uma classe chamada FichaCadastral, então agora criaremos uma struct chamada FichaCadastral e depois vamos requisitar esta ficha no escopo principal do código C (Veja o próximo slide)

17 Código C typedef struct{ char nome[50]; int idade; float peso; float altura; FichaCadastral; main(){ FichaCadastral p1, p2; strcpy(p1.nome, Josafa Moises ); p1.idade = 32;... strcpy(p2.nome, Delfina Pereira ); p2.idade = 39;...

18 Exercício Declare uma estrutura capaz de armazenar o ra e 3 notas para um dado aluno

19 int x; int* y; //significa que x é uma variável do tipo inteiro //significa que y é uma variável do tipo endereço para inteiro O símbolo de asterisco após a palavra int indica que estamos falando de um endereço para a memória, e não para um valor na memória Veja o código no próximo slide

20 #include <stdio.h> int main(void) { int a; int* b; a = 100; //a variável a recebe o valor 100 b = &a; //a variável b recebe o endereço de memória da variável a printf("o valor de b eh: %d", b); //imprime o valor de b, que será o endereço de a

21 #include <stdio.h> int main(void) { int a; int* b; a = 100; //a variável a recebe o valor 100 b = &a; //a variável b recebe o endereço de memória da variável a printf("o valor de b eh: %d", *b); //agora será impresso o conteúdo presente no endereço de a confuso??? Veja no próximo slide o passo a passo da execução

22 Na memória foi reservado um espaço para o conteúdo da variável a. Este espaço está no endereço #include <stdio.h> Variável a (854245) int main(void) { int a; int* b; Saída na Tela: a = 100; b = &a; printf("o valor de b eh: %d", b);

23 Na memória foi reservado um espaço para o conteúdo da variável b. Este espaço está no endereço #include <stdio.h> Variável a (854245) Variável b (835424) int main(void) { int a; int* b; Saída na Tela: a = 100; b = &a; printf("o valor de b eh: %d", b);

24 O espaço na memória com endereço , representado pela variável a recebe o valor 100. #include <stdio.h> int main(void) { int a; int* b; Variável a (854245) Variável b (835424) 100 Saída na Tela: a = 100; b = &a; printf("o valor de b eh: %d", b);

25 O espaço na memória com endereço , representado pela variável b recebe o endereço da variável a, que é #include <stdio.h> int main(void) { int a; int* b; Variável a (854245) Variável b (835424) Saída na Tela: a = 100; b = &a; printf("o valor de b eh: %d", b);

26 O printf mostra o valor contido em b, neste caso, o endereço de a O endereço vai mudar de execução para execução!!! #include <stdio.h> int main(void) { int a; int* b; Variável a (854245) Variável b (835424) Saída na Tela: O valor de b eh: a = 100; b = &a; printf("o valor de b eh: %d", b);

27 Estamos mostrando o endereço da variável a que está na variável b Para mostrarmos o valor de a, colocaremos um asterisco antes da variável b no printf *b desta forma, não vamos mais mostrar o endereço de a, mas o valor que está contido naquele endereço Chamamos de ponteiro pois este aponta para um endereço de memória, e não para um valor

28 Na memória foi reservado um espaço para o conteúdo da variável a. Este espaço está no endereço #include <stdio.h> Variável a (854245) int main(void) { int a; int* b; Saída na Tela: a = 100; b = &a; printf("o valor de b eh: %d", *b);

29 Na memória foi reservado um espaço para o conteúdo da variável b. Este espaço está no endereço #include <stdio.h> Variável a (854245) Variável b (835424) int main(void) { int a; int* b; Saída na Tela: a = 100; b = &a; printf("o valor de b eh: %d", *b);

30 O espaço na memória com endereço , representado pela variável a recebe o valor 100. #include <stdio.h> int main(void) { int a; int* b; Variável a (854245) Variável b (835424) 100 Saída na Tela: a = 100; b = &a; printf("o valor de b eh: %d", *b);

31 O espaço na memória com endereço , representado pela variável b recebe o endereço da variável a, que é #include <stdio.h> int main(void) { int a; int* b; Variável a (854245) Variável b (835424) Saída na Tela: a = 100; b = &a; printf("o valor de b eh: %d", *b);

32 O *b apresentará o valor contido no endereço #include <stdio.h> int main(void) { int a; int* b; Variável a (854245) Variável b (835424) Saída na Tela: O valor de b eh: 100 a = 100; b = &a; printf("o valor de b eh: %d", *b);

33 Estamos mostrando o endereço da variável a que está na variável b Para mostrarmos o valor de a, colocaremos um asterisco antes da variável b no printf *b desta forma, não vamos mais mostrar o endereço de a, mas o valor que está contido naquele endereço Chamamos de ponteiro pois este aponta para um endereço de memória, e não para um valor

34 No próximo exemplo, vamos modificar o valor da variável a fazendo b receber um determinado valor, utilizando ponteiro

35 As variáveis a e b são declaradas e um espaço na memória é reservado para cada uma das variáveis, a estará no endereço 5421 e b no endereço 5638 #include <stdio.h> Variável a (5421) Variável b (5638) int main(void) { int a; int* b; Saída na Tela: a = 100; b = &a; *b =50; printf("o valor de a eh: %d", a);

36 A variável a recebe o valor 100. Ou seja, o espaço na memória cujo endereço é 5421 e é representado pela variável a, recebe o valor 100 #include <stdio.h> int main(void) { int a; int* b; Variável a (5421) Variável b (5638) 100 Saída na Tela: a = 100; b = &a; *b =50; printf("o valor de a eh: %d", a);

37 A variável b recebe o endereço da variável a. Ou seja, o espaço na memória cujo endereço é 5638 e é representado pela variável b, recebe o endereço 5421 #include <stdio.h> int main(void) { int a; int* b; Variável a (5421) Variável b (5638) Saída na Tela: a = 100; b = &a; *b =50; printf("o valor de a eh: %d", a);

38 Neste momento, é como se o espaço de memória da variável b deixasse de ser no endereço 5638 e passasse a ser no endereço 5421, ou seja, mesmo endereço de a #include <stdio.h> int main(void) { int a; int* b; Variável a (5421) Variável b ( ) Saída na Tela: a = 100; b = &a; *b =50; printf("o valor de a eh: %d", a);

39 Quando colocamos o *b, dizemos que: o conteúdo para onde o endereço de memória de b aponta receberá o valor 50 #include <stdio.h> int main(void) { int a; int* b; Variável a (5421) Variável b ( ) Saída na Tela: a = 100; b = &a; *b =50; printf("o valor de a eh: %d", a);

40 É como se b fosse uma ponte para a variável a. Tudo o que for atribuído ou manipulado na variável *b, será impactado na variável a, pois *b APONTA para o endereço de memória de a #include <stdio.h> int main(void) { int a; int* b; Variável a (5421) Variável b ( ) Saída na Tela: a = 100; b = &a; *b =50; printf("o valor de a eh: %d", a);

41 Será impresso na tela o valor 50, que é o valor atual de a. #include <stdio.h> int main(void) { int a; int* b; Variável a (5421) Variável b ( ) Saída na Tela: O valor de a eh: 50 a = 100; b = &a; *b =50; printf("o valor de a eh: %d", a);

42 Atividade 1) Quais serão os valores de x, y e p ao final do trecho de código abaixo? int x, y, *p; y = 0; p = &y; x = *p; x = 4; (*p)++; --x; (*p) += x; printf( x=%d y=%d p=%d,x,y,p);

43 Atividade 2) O programa abaixo possui erro(s). Qual(is)? Como deveria ser? main(){ int x, *p; x = 100; p = x; printf( Valor de p: %d, *p);

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

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

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Estruturas e Definição de Tipo (struct / typedef) Gil Eduardo de Andrade Introdução Uma estrutura, em C, é uma coleção de variáveis referenciada por apenas um nome; As estruturas

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Programação Programa é um algoritmo escrito em uma linguagem de programação. Existem diversas linguagens

Leia mais

Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?

Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes? Introdução à Ciência da Computação Ponteiros em C Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros

Leia mais

LINGUAGEM C: ESTRUTURAS DEFINIDAS PELO

LINGUAGEM C: ESTRUTURAS DEFINIDAS PELO LINGUAGEM C: ESTRUTURAS DEFINIDAS PELO PROGRAMADOR Prof. André Backes VARIÁVEIS As variáveis vistas até agora podem ser classificados em duas categorias: simples: definidas por tipos int, float, double

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

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

Programação de Computadores IV

Programação de Computadores IV Programação de Computadores IV Introdução ao C - Variáveis Slides de Bruno Augusto Dorta Marques 1 Roteiro da aula Introdução a linguagem C Organização do código-fonte Método main Variável Tipos básicos

Leia mais

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados

ALGORITMOS. Professor: Diego Oliveira. Aula 06 - Tipos Primitivos de Dados ALGORITMOS Professor: Diego Oliveira Aula 06 - Tipos Primitivos de Dados Netbeans Para testar nossos exemplos criaremos uma classe no Netbeans Nesta disciplina não será visto nada de orientação a objetos,

Leia mais

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 03 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www3.ifrn.edu.br/~brunogomes Agenda da Aula Representação de Algoritmos em Pseudocódigo: Tipos de Dados;

Leia mais

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

SSC304 Introdução à Programação Para Engenharias. Estruturas. 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 Estruturas GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos

Leia mais

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

INF 1620 P1-13/09/02 Questão 1 Nome: INF 1620 P1-13/09/02 Questão 1 Considere que o cálculo da multa para o pagamento de um determinado imposto varia de acordo com a tabela a seguir: Valor do Imposto Original Multa por mês de atraso até R$

Leia mais

ECT1203 Linguagem de Programação

ECT1203 Linguagem de Programação Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação Prof. Aquiles Burlamaqui Profa. Caroline Rocha Prof. Luiz Eduardo Leite Prof. Luciano Ferreira

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 Tipos Estruturados Tipo estrutura Definição de novos tipos Aninhamento de Estruturas Vetores de estruturas

Leia mais

Variáveis, Tipos de Dados e Operadores

Variáveis, Tipos de Dados e Operadores ! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória

Leia mais

Algoritmos e Estruturas de dados

Algoritmos e Estruturas de dados Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores

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.2. Estrutura de Programas e Representação

Leia mais

INTRODUÇÃO À LINGUAGEM C

INTRODUÇÃO À LINGUAGEM C INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2018) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Java Variáveis e Controle Fluxo

Java Variáveis e Controle Fluxo Java Variáveis e Controle Fluxo 1 Variáveis primitivas p Todo bloco em java é delimitado por chaves ({ } ); p Dentro de um bloco, podemos declarar variáveis e usa las; p Em Java, toda variável tem um tipo

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador

Leia mais

Computação Eletrônica. Aula 08 Estruturas de Dados. Prof: Luciano Barbosa. CIn.ufpe.br

Computação Eletrônica. Aula 08 Estruturas de Dados. Prof: Luciano Barbosa. CIn.ufpe.br Computação Eletrônica Aula 08 Estruturas de Dados Prof: Luciano Barbosa Tipos de Dados Primitivos vs Estruturados Tipos primitivos: reais (float, double), inteiros (int), caractere (char); Tipos estruturados:

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

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

Objetivo. Compreender a definição e dominar a implementação de ponteiros em C. Dominar a manipulação de arquivos

Objetivo. Compreender a definição e dominar a implementação de ponteiros em C. Dominar a manipulação de arquivos Objetivo Compreender a definição e dominar a implementação de ponteiros em C. Dominar a manipulação de arquivos Motivação para a utilização de ponteiros O que precisamos para fazer para que uma funçã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

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

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

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

Programação Básica. Estrutura de um algoritmo Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse

Leia mais

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { } Java e sua Sintaxe Java e sua Sintaxe Estrutura mínima de um programa em Java: public class Exemplo { } Como todo programa deve ter um início, convenciona-se que a primeira ação de um programa é a execução

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

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

ESTRUTURAS COMPOSTAS. REGISTROS (Struct) Introdução à Ciência da Computação I Simone Senger Souza

ESTRUTURAS COMPOSTAS. REGISTROS (Struct) Introdução à Ciência da Computação I Simone Senger Souza ESTRUTURAS COMPOSTAS REGISTROS (Struct) Introdução à Ciência da Computação I Simone Senger Souza Estruturas Vetor e Matriz estruturas compostas homogêneas Registro estruturas compostas heterogêneas Registro

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

INTRODUÇÃO À LINGUAGEM C

INTRODUÇÃO À LINGUAGEM C INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2017) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima

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 À LINGUAGEM C

INTRODUÇÃO À LINGUAGEM C INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2018) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição

Leia mais

Introdução a Linguagem C. Prof. Me. Hélio Esperidião

Introdução a Linguagem C. Prof. Me. Hélio Esperidião Introdução a Linguagem C Prof. Me. Hélio Esperidião Características de um programa De forma geral a maioria dos programas são compostos por dados de entrada, processamento e dados de saída. Entrada de

Leia mais

1 Introdução e Conceitos básicos

1 Introdução e Conceitos básicos 1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2

Leia mais

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Estruturas de Dados Revisão de Ponteiros Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros e Arranjos

Leia mais

4. Estruturas Fundamentais de Programação em C

4. Estruturas Fundamentais de Programação em C 4. Estruturas Fundamentais de Programação em C 4.1. Imprimindo Mensagens e Valores no Monitor de Vídeo A biblioteca de entrada e saída (stdio.h) possui a função printf que imprime mensagens e valores diretamente

Leia mais

Métodos Computacionais. Tipos Estruturados

Métodos Computacionais. Tipos Estruturados Métodos Computacionais Tipos Estruturados Tipos Estruturados C oferece tipos primitivos que servem para representar valores simples Reais (float, double), inteiros (int), caracter (char) C oferece também

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Vetores e Strings int vetor[] / rand() / #define / char string[] / gets() Gil Eduardo de Andrade Vetores Introdução Um vetor pode ser definido como é um conjunto de elementos (variáveis)

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

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

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

Introdução à Linguagem C

Introdução à Linguagem C Introdução à Linguagem C Eduardo Simões de Albuquerque Instituto de Informática UFG 13/03/2006 1 História Inventada e desenvolvida por Dennis Ritchie em um DEC- PDP 11 Originária de: BCPL desenvolvida

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

Conceitos básicos de programação

Conceitos básicos de programação Constantes class Exemplo { static void Main() { float fahr, celsius; int lower, upper, step; lower = 0; /* limite inferior da tabela de temperaturas */ upper = 300; /* limite superior */ step = 20; /*

Leia mais

Ponteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ

Ponteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ Ponteiros em C Adriano Joaquim de Oliveira Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo da Seção Introdução Declaração Incrementando e Decrementando

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

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que

Leia mais

Introdução à Computação (IC) Linguagem C: Variáveis e Constantes

Introdução à Computação (IC) Linguagem C: Variáveis e Constantes Introdução à Computação (IC) Linguagem C: Variáveis e Constantes Prof.ª Dr.ª Symone Gomes Soares Alcalá Universidade Federal de Goiás (UFG) Regional Goiânia (RG) Campus Aparecida de Goiânia (CAP) Faculdade

Leia mais

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações

Leia mais

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Objetivos: Modelar um sistema orientado a objetos simples a partir

Leia mais

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel.

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel. Slide 01 16/03/2017 Estruturas de Dados Prof. Cleziel Franzoni da Costa 1 @Cleziel /Cleziel cleziel@hotmail.com 42 3 EMENTA Listas lineares e suas variações. Filas e pilhas. Árvores binárias e suas variações.

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

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

Array em Java. Figura 1 - Exemplo de um array de inteiros Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:

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

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

ESTRUTURAS COMPOSTAS. REGISTROS (Struct) Introdução à Ciência da Computação I Simone Senger Souza

ESTRUTURAS COMPOSTAS. REGISTROS (Struct) Introdução à Ciência da Computação I Simone Senger Souza ESTRUTURAS COMPOSTAS REGISTROS (Struct) Introdução à Ciência da Computação I Simone Senger Souza 2 Estruturas Vetor e Matriz estruturas compostas homogêneas Registro estruturas compostas heterogêneas 3

Leia mais

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída

Leia mais

6 Alguns conceitos e comandos em programação

6 Alguns conceitos e comandos em programação 6 Alguns conceitos e comandos em programação 6.1 Diretivas Diretivas são instruções que permitem ao programador efetuar algum tipo de modificação à compilação, sendo analisadas e executadas pelo pré-compilador,

Leia mais

Modulo 13: para os que ainda tem dúvidas no assunto...

Modulo 13: para os que ainda tem dúvidas no assunto... PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 13: para os que ainda tem dúvidas no assunto... Aura -Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Gabarito da prova Data da vista da P2 e/ou sua

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Linguagem C Professor: André de Carvalho Aula de hoje Introdução Tipos compostos Tipo enumeração Conclusão Tipos compostos A Linguagem C permite criar tipos de dados definíveis

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

AULA 6 - ARRAYS. Array de 10 elementos

AULA 6 - ARRAYS. Array de 10 elementos 1 AULA 6 - ARRAYS Arrays são objetos que armazenam diversas variáveis do mesmo tipo. Eles podem conter variáveis de referência primitivas ou de objeto, mas o array propriamente dito sempre será um objeto

Leia mais

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão Educação Módulo Lógica e Ética de Programação com aplicações em Java Projeto khouse Profissionalizante Profª Larissa Brandão Educação e Ética Fundamentos da Programação Objetivos: Reconhecer as diferenças

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Sumário de Aula } Conceito de Memória } Variáveis e Tipos de Dados } Constantes 2 Conceito de Memória } A memória de um computador é

Leia mais

Estrutura de Dados. Introduc a o e Alocac a o de Memo ria. Vilson Heck Junior. Instituto Federal de Santa Catarina

Estrutura de Dados. Introduc a o e Alocac a o de Memo ria. Vilson Heck Junior. Instituto Federal de Santa Catarina Estrutura de Dados Introduc a o e Alocac a o de Memo ria Vilson Heck Junior Instituto Federal de Santa Catarina 2015 Sumário 1 Sumário 2 Introdução 3 Dados Compostos Heterogêneos O Problema A Solução Objetos

Leia mais

Lógica de Programação. Lógica de Programação com Java

Lógica de Programação. Lógica de Programação com Java Lógica de Programação Lógica de Programação com Java Sumário Lógica de programação 1. Algoritmos 2. Comentários no código 3. Tipos de dados 4. Constantes e Variáveis 5. O que devemos saber para começar

Leia mais

Conceitos básicos. Computação eletrônica: Gurvan Huiban

Conceitos básicos. Computação eletrônica: Gurvan Huiban Computação eletrônica: Conceitos básicos Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Estrutura de um programa em C 2 Variáveis e constantes 3 Comandos de entrada e saída Estrutura de um programa

Leia mais

Programação Java (nível intermediário) 4. Polimorfismo

Programação Java (nível intermediário) 4. Polimorfismo Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo

Leia mais

Arrays. int idade1; int idade2; int idade3; int idade4; int[] idades;

Arrays. int idade1; int idade2; int idade3; int idade4; int[] idades; Vetores 1 Arrays p O problema: Dentro de um bloco, podemos declarar diversas variáveis e usa -las: int idade1; int idade2; int idade3; int idade4; p Isso pode se tornar um problema quando precisamos mudar

Leia mais

INF 1620 P2-23/10/04 Questão 1 Nome:

INF 1620 P2-23/10/04 Questão 1 Nome: INF 1620 P2-23/10/04 Questão 1 Considere um tipo abstrato de dados para representar uma disciplina da PUC-Rio, com as seguintes informações: Nome da disciplina: com até 50 caracteres Código da disciplina:

Leia mais

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU Aula 13 Oficina de Programação Modularização Profa. Elaine Faria UFU - 2017 O que é modularização? No século XIX, Henry Ford, para baratear e massificar a montagem de carros, criou uma base modular. Esta

Leia mais

A Linguagem C. A forma de um programa em C

A Linguagem C. A forma de um programa em C A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de

Leia mais

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double

Leia mais

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato/honoratonunes Linguagem C Prof.

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

Programação Estruturada Programação Estruturada Ponteiros Parte 1 Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Ponteiros Ponteiro Ponteiros

Leia mais

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Introdução à Programação. Conceitos Básicos de Orientação a Objetos Introdução à Programação Conceitos Básicos de Orientação a Objetos Tópicos da Aula Aprenderemos fundamentos do paradigma orientado a objetos, mas antes veremos o que é paradigma Conceito de paradigma Diferentes

Leia mais

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio) Módulo 1 Introdução AEDS I C++ (Rone Ilídio) Introdução Linguagens de Programação Fonte Compilador Executável SO I Hardware C++ - Características Evolução do C, ou seja, possui a mesma sintaxe É uma linguagem

Leia mais

Estruturas (registros)

Estruturas (registros) BCC 201 - Introdução à Programação I Estruturas (registros) Guillermo Cámara-Chávez UFOP 1/44 Estruturas (struct) I Imaginemos que queremos ler as notas de 4 provas para um aluno e calcular a média do

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou

Leia mais

1. Revisão de Vetores, Ponteiros, Funções e Estruturas em C

1. Revisão de Vetores, Ponteiros, Funções e Estruturas em C Introdução à Computação II 5952011 1. Revisão de Vetores, Ponteiros, Funções e Estruturas em C Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 1.1. Revisão

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

OO - Orientação a Objetos

OO - Orientação a Objetos OO - Orientação a Objetos 1 Motivação p Orientação a objetos é uma maneira de programar que ajuda na organização e resolve muitos problemas enfrentados pela programação procedural; p Imaginem em um grande

Leia mais

Aula 11 Oficina de Programação Estruturas. Profa. Elaine Faria UFU

Aula 11 Oficina de Programação Estruturas. Profa. Elaine Faria UFU Aula 11 Oficina de Programação Estruturas Profa. Elaine Faria UFU - 2017 Estrutura de Dados Muitas vezes precisamos compor os dados para formar estruturas de dados complexas Variáveis compostas homogêneas

Leia mais

Ponteiros de Variáveis

Ponteiros de Variáveis Ponteiros de Variáveis C++ permite o armazenamento e a manipulação de valores de endereços de memória. Para cada tipo existente, há um tipo ponteirocapaz de armazenar endereços de memória em que existem

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

Revisão. Profa Marina Gomes

Revisão. Profa Marina Gomes Revisão Profa Marina Gomes Algoritmos Na construção de um programa, o problema que o algoritmo representa é composto por três fases. Entrada: dados de entrada do algoritmo. Processamento: ações sobre os

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 04 Funções Edirlei Soares de Lima Organização de Código Um programa representa a implementação de uma solução de um determinado problema. É fundamental

Leia mais

Computação 2. Aula 5. Diego Addan Estrutura de Dados Registros (structs)

Computação 2. Aula 5. Diego Addan Estrutura de Dados Registros (structs) Computação 2 Aula 5 Estrutura de Dados Registros (structs) Diego Addan diegoaddan@gmail.com Estruturas ou Registros (structs) Uma estrutura (registro) é uma coleção de variáveis referenciadas por um nome,

Leia mais