Técnicas de Programação I

Documentos relacionados
Registros. Técnicas de Programação. Rafael Silva Guimarães

Estruturas II UFOP 1/1

Algoritmos e Estruturas de Dados I

Estruturas (registros)

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Linguagem de Programação C. Registros

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Componentes da linguagem C++

MC-102 Aula 19 Registros

Estruturas II UFOP 1/35

INF 1005 Programação I

Programação de Computadores I Registros na Linguagem C PROFESSORA CINTIA CAETANO

Neste artigo estudaremos os conceitos relacionados às matrizes unidimensionais (vetores) e multidimensionais.

Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa

Estrutura de Dados Básica

Introdução à Programação

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Introdução a Computação

Lista de Exercícios da 3ª Unidade. ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados)

Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB

Fundamentos de Programação

Estrutura de Dados. Struct (Registro) Lais Farias Alves

MC-102 Algoritmos e Programação de Computadores IC-UNICAMP. Aula 21 - Registros. Por: Luís Augusto Angelotti Meira (Sala IC-71) 1S2005

Capítulo 2: Introdução à Linguagem C

Vetores. Professor Dr Francisco Isidro Massettto

Introdução a Java. Hélder Nunes

INF 1620 P1-10/04/02 Questão 1 Nome:

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/rafael/

INTRODUÇÃO À LINGUAGEM C++

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Programação científica C++

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Tipos de Dados Avançados Vetores e Matrizes

Linguagem de Programação I

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s

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

Curso de C para Engenharias

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

MC-102 Aula 17 Strings e Matrizes

PROGRAMANDO EM C# ORIENTADO A OBJETOS

INF 1005 Programação I

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

Noções sobre Objetos e Classes

Tipos de Dados Simples

INF PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4

Algoritmos e Programação Estruturada

Trabalho 3: Agenda de Tarefas

Linguagem de Programação

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba

Linguagens de Programação I

ESTRUTURA DE DADOS -VARIÁVEIS COMPOSTAS. Prof. Angelo Augusto Frozza, M.Sc.

Algoritmos x Programação. Primeiros Passos na Linguagem C/C++ Como traduzir um algoritmo? Algoritmo original. Prof. Marcelo Cohen flash@inf

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Aula 11 Introdução ao Pseudocódigo. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Tipos agregados. Tipos estruturados

Estruturas (Registros)

Programação e Sistemas de Informação

JSP - ORIENTADO A OBJETOS

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

Programação: Tipos, Variáveis e Expressões

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Manipulação de Arquivos

Algoritmos e Programação _ Departamento de Informática

Introdução à Ciência da Computação. Registros em C. Sumário. Registros. Agradecimentos. Parte dos slides a seguir são adaptações dos originais:

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

system("pause"); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa

Introdução a POO. Introdução a Linguagem C++ e POO

Plano de Aula. if(condição) { bloco de comandos; } else { bloco de comandos2; }

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

Aula 1 Tipo Abstrato de Dados

Algoritmos e Programação

Algoritmos e Linguagem de Programação I

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Capítulo 9. Vetores e Matrizes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

INF 1007 Programação II

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Orientação a Objetos

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

Programação de Computadores I. Linguagem C Vetores

Computação L2. Arquivos. Observação: Material da Disciplina Computação Eletrônica CIN/UFPE.

Computação II Orientação a Objetos

PROGRAMA DE DISCIPLINA

O que é um algoritmo? O que é um programa? Algoritmos. Programas. Aula 1 Tipo Abstrato de Dados

Estruturas de Dados. Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos

AULA Uma linguagem de programação orientada a objetos

Laboratório de Programação. Prof. Oscar Luiz Monteiro de Farias

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Transcrição:

Técnicas de Programação I Conceitos básicos C/C++ Material baseado nas aulas da Profa. Isabel Harb Manssour http://www.inf.pucrs.br/~manssour/laproi, entre outros materias Registros e Arquivos Conceito de Registros Sintaxe na Linguagem C Struct Vetor de Struct exercícios Introdução a Arquivos Funções para Manipular Arquivo Texto Exercícios 1

Registros: Utilização Vetores e matrizes Estruturas de dados homogêneas Armazenam vários valores, mas todos de um mesmo Problemas reais Coleções de dados que são de tipos diferentes Exemplo: ficha de um cadastro de cliente Ficha: Nome: Nome: string Endereço: Endereço: string Telefone: Telefone: string Salário: Salário: float Idade: Idade: int Registros: Características Tipo de dado estruturado heterogêneo Coleção de variáveis referenciadas sobre um mesmo nome Permite agrupar dados de diferentes tipos numa mesma estrutura: ao contrário de matrizes que possuem elementos de um mesmo tipo Cada componente de um registro pode ser de um tipo diferente (int, char,...) Estes componentes são referenciados por um identificador Utilizado para armazenar informações de um mesmo objeto Carro cor, marca, ano, placa, chassi Pessoa nome, idade, endereço 2

Registros: Características Registro: Conjunto de campos relacionados Exemplo: nome, endereço, telefone, salário e idade de uma pessoa Elementos de um registro Denominados campos ou membros do registro Exemplo: nome Registros: Sintaxe C++ A palavra reservada struct indica ao compilador que está sendo criada um registro Uma Struct normalmente é declarada após incluir as bibliotecas e antes da função main Não é obrigatório Sintaxe: struct <identificador_struct> { tipo <nome_variável_campo1>; tipo <nome_variável_campo2>; } <variáveis_estrutura>; 3

Registros: Sintaxe C++ A informação contida em uma struct pode ser atribuída a outra struct do mesmo tipo Não é necessário atribuir os valores de todos os campos separadamente Por exemplo: <var1> = <var2>; Todos os campos de <var1> receberão os valores correspondentes dos campos de <var2> Para acessar os campos da struct: Utiliza-se o nome da variável struct, seguido de ponto, seguido do nome do campo Exemplo: <var1>.<nome_variável_campo2>; Struct: Exemplo Declaração de um Struct endereço que guarda os elementos nome, rua, cidade, estado e cep: struct T_endereco{ char nome[30]; char rua[40]; char cidade[20]; char estado[3]; long int cep; }; Foi feita apenas a declaração da struct, ainda não foi criada nenhuma variável do tipo da struct endereço O comando para declarar uma variável com esta struct é: [struct] T_endereco endereco; A palavra reservada struct é opcional 4

Struct: Exemplo Para inicializar o cep da variável endereco que é uma variável da struct endereço: endereco.cep = 242100450; Para obter o nome da pessoa e colocar na string nome da struct se poderia utilizar: cin >> endereco.nome; Para percorrer toda a string rua seria: for(int i=0; i < 40; i++) cout << info_end.rua[i]; Struct: Exemplo struct T_aluno { char nome[40]; float P1; float P2; float T; int faltas; }; int main() { T_aluno joao, maria; joao.p1 = 9.5; joao.p2 = 8.5; joao.t = 9.0; joao.faltas = 4; maria = joao; } 5

Exemplo #include <stdio.h> #include <string.h> struct endereco { char rua[40]; int num; int complemento; char cidade[20]; char estado[3]; char cep[10]; }; int main() { struct endereco e1; struct endereco e2; : : // declaração de variáveis do // tipo "endereco" compilador // aloca memoria para // todos os campos Exemplo // inicialização dos campos de e1... strcpy(e1.rua, "Avenida Ipiranga"); e1.num = 1234; e1.complemento = 101; strcpy(e1.cidade, "Porto Alegre"); strcpy(e1.estado, "RS"); strcpy(e1.cep, "90000-123"); // inicialização dos campos de e2... strcpy(e2.rua, "Rua Lima e Silva"); e2.num = 1987; e2.complemento = 308; strcpy(e2.cidade, "Porto Alegre"); strcpy(e2.estado, "RS"); strcpy(e2.cep, "90000-345"); 6

Exemplo : // exibição dos dados cout << e1.rua << e1.num << e1.complemento; cout << e1.cep << e1.cidade << e1.estado; cout << e2.rua << e2.num << e2.complemento; cout << e2.cep << e2.cidade << e2.estado; } Vetores de Struts Para declarar um vetor de struct: Definir a struct Declarar o vetor do tipo struct criado Exemplo: struct aluno Turma380[28]; struct endereco vetorendamigos[100]; 7

Vetores de Struts Manipulação dos dados de um vetor de struct: fornecer o índice e o campo Exemplo: strcpy(turma380[0].nome, Fulano ); Turma380[0].P1 = 9.5; Turma380[0].P2 = 8.5; Turma380[0].T = 9.0; Turma380[0].faltas = 4; strcpy(vetorendamigos[0].rua, Carlos Gomes ); strcpy(vetorendamigos[1].rua, Goethe ); Exemplo #include <iostream.h> struct endereco{ char nome[30]; char rua[40]; char cidade[20]; char estado[3]; long int cep; }; main() { struct endereco info_end[100]; : // Imprime todos os nomes do vetor for(int i = 0; i < 100; i++) cout << info_end[i].nome; 8

Exercícios Criar uma estrutura chamada DadosAluno, que armazena o nome e idade de um aluno. Na função main: criar uma variável que é uma estrutura DadosAluno; ler o nome e a idade de um aluno e armazenar na variável criada; exibir na tela o nome do aluno, caracter por caracter, e a idade do aluno. Considerando o exercício anterior, criar uma variável vetor da estrutura DadosAluno. O programa deve obter o nome e a idade de 10 alunos. Depois, estes dados devem ser exibidos. Exercícios Fazer um programa que cria uma estrutura livro, que contém os elementos nome, editora, isbn, ano de edição, número de páginas e preço. Criar uma variável desta estrutura que é um vetor de 5 elementos. Ler os valores para a estrutura e imprimir a média do número de páginas do livros. Foi realizada uma pesquisa entre 500 habitantes de uma certa região. De cada habitante foram coletados os dados: idade, sexo, salário e número de filhos. Construa um programa C++ que armazene as informações da pesquisa e calcule a média do salário dos habitantes e de filhos e liste os habitantes com salário inferior a média e o número de filhos superior a média. 9