Computação e Programação

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

Download "Computação e Programação"

Transcrição

1 Computação e Programação MEMec - LEAN 1º Semestre Aula Teórica 13 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 13 Estruturas de dados Cell arrays Manipulação de cell arrays Estruturas Manipulação de estruturas Quando usar? 3 1

2 Alinhamento da AT 13 Estruturas de dados Cell arrays Manipulação de cell arrays Estruturas Manipulação de estruturas Quando usar? 4 Estruturas de dados Estruturas de dados são variáveis que agregam diversos valores, podendo estes ser do mesmo tipo, ou de tipos diferentes. Tipos de dados Iguais Diferentes Estruturas de dados Arrays (vectores ou matrizes) Cell arrays (tabelas de células) Structures (Estuturas) Uma possível aplicação das estruturas é a construção de bases de dados para armazenar informação. 5 2

3 Exemplo: base de dados de alunos Turma: AM21T 30 2 Nome: Joã Silmes 1 Nome: João Silva Nome: Número: João Silva Número: Número: Nota: Nota: 15 Nota: 15 Um professor pretende armazenar informação relativa aos alunos de uma turma numa base de dados. Esta base de dados é compostas por diversas fichas com a informação de cada aluno (records). Em MATLAB estas fichas são denominadas por structs. Cada ficha contém campos (fields) com a informação de cada aluno (nome, número e notas). 6 Alinhamento da AT 13 Estruturas de dados Cell arrays Manipulação de cell arrays Estruturas Manipulação de estruturas Quando usar? 7 3

4 Cell arrays (tabelas de células) 8 Cell arrays Definição de cell array: É uma estrutura de dados (array) que pode conter diferentes tipos de dados, em cada célula. Não é comum existir noutras linguagens de programação. É uma estrutura de dados muito versátil e de fácil acesso. 9 4

5 Cell arrays Um cell array é um array cujos elementos são células, com qualquer tipo de elementos. 10 Cell arrays Cada elemento do array (uma célula) aponta para (define) outra estrutura: 11 5

6 Criação de cell arrays via construtor O construtor de um cell array são as chavetas: cel1(1,1)={'exemplo'} Atribui à posição (1,1) do array cel1, uma célula cujo conteúdo é uma string. [logo, o array é do tipo cell] cel2{1,1}='exemplo' Atribui ao conteúdo da célula, na posição (1,1) do array cel2, uma string. [logo, o array é do tipo cell] 12 Criação de cell arrays >> cel_1(1,1)={'exemplo'} cel_1 = 'exemplo' >> cel_2{1,1}='exemplo' cel_2 = 'exemplo' >> whos Name Size Bytes Class Attributes cel_1 1x1 74 cell cel_2 1x1 74 cell 13 6

7 Criação de cell arrays por pré-alocação Pré-alocação de memória: >> a = cell(2,2) a = [] [] [] [] 14 Criação de cell arrays por indexação Indexação das células (cell indexing): >> a(1,1) = {[1 3-7; 2 0 6; 0 5 1]}; >> a(1,2) = { This is a text string. }; >> a(2,1) = {[3+4*i -5; -10*i 3-4*i]}; >> a(2,2) = {[]}; 15 7

8 Criação de cell arrays por indexação Indexação do conteúdo (content indexing): >> a{1,1} = [1 3-7; 2 0 6; 0 5 1]; >> a{1,2} = 'This is a text string.'; >> a{2,1} = [3+4*i -5; -10*i 3-4*i]; >> a{2,2} = []; 16 Alinhamento da AT 13 Estruturas de dados Cell arrays Manipulação de cell arrays Estruturas Manipulação de estruturas Quando usar? 17 8

9 Acesso a elementos do cell array >> a{1,1} ans = >> a{1,1}(1,2) ans = 3 18 Acesso a elementos do cell array >> a{1,:} ans = ans = This is a text string. 19 9

10 Acesso a elementos do cell array >> [a_11, a_12] = a{1,:} a_11 = a_12 = This is a text string. 20 Apresentação dos elementos >> celldisp(a) a{1,1} = a{2,1} = i i i a{1,2} = This is a text string. a{2,2} = [] 21 10

11 >> b=a; Eliminação de elementos Não é possível eliminar um elemento individual de um cell array (apenas se pode substituir por um vector vazio). Podem-se eliminar linhas ou colunas completas. >> b{1,1}=[] b = [] [1x22 char] [2x2 double] [] >> b(1,:)=[] b = [2x2 double] [] O elemento b{1,1} é substituído por um vector vazio A linha 1 é completamente removida 22 Extensão do cell array >> a{3,3}=5 a = [3x3 double] [1x22 char] [] [2x2 double] [] [] [] [] [5] A operação de extensão é ineficiente e deve ser evitada. Sempre que possível, deve-se fazer a pré-alocação

12 Extensão do cell array >> nomes = {'Maria', 'José', 'António', 'Mafalda'} nomes = 'Maria' 'José' 'António' 'Mafalda' A utilização dos cell arrays evita a necessidade de adicionar caracteres em branco no fim da cada string, o que acontecia com as funções char e strvcat! 24 Operadores para cell arrays Comando cellstr char iscell Descrição Cria um cell array de strings a partir de um array de chars. Coloca cada linha do array em células separadas. Cria um array de chars em que cada linha é composta pelas strings contidas no cell array. Coloca os caracteres em branco necessários. Retorna o valor lógico true se o array for do tipo cell array

13 Operadores para cell arrays Comando Descrição iscellstr Retorna o valor lógico true se o cell array for constituído apenas por strings. size length Dimensões do cell array. Dimensão máxima do cell array. 26 Conversão de cell arrays >> nomes_cell = {'Maria', 'José', 'António', 'Mafalda'}; >> nomes_char = char(nomes_cell) nomes_char = Maria José António Mafalda >> whos nomes_char Name Size Bytes Class Attributes nomes_char 4x7 56 char 27 13

14 Conversão de cell arrays >> cell_nomes = cellstr(nomes_char) cell_nomes = 'Maria' 'José' 'António' 'Mafalda' >> whos cell_nomes Name Size Bytes Class Attributes cell_nomes 4x1 286 cell 28 Conversão de cell arrays >> iscell(cell_nomes) ans = 1 >> iscell(nomes_char) ans = 0 >> iscellstr(cell_nomes) ans =

15 Alinhamento da AT 13 Estruturas de dados Cell arrays Manipulação de cell arrays Estruturas Manipulação de estruturas Quando usar? 30 Estruturas 31 15

16 Alunos Estruturas Definição de estrutura (Structures): Uma estrutura agrupa dados logicamente relacionados, denominados campos da estrutura. Uma vantagem das estruturas é que os campos possuem identificadores, o que torna mais claro que tipo de informação contêm. Contudo, as estrutura não são arrays, logo não é possível a indexação numérica directa. Podem, no entanto, ser organizadas em arrays de estruturas. É comum existirem noutras linguagens de programação. 32 Exemplo: base de dados de alunos Turma: AM21T 30 2 Nome: Joã Silmes 1 Nome: João Silva Nome: Número: João Silva Número: Número: Nota: Nota: 15 Nota: 15 Turma AM21T Número da ficha Nome Numero de Aluno Nota 1 João Silva Paulo Almeida Manuel Gomes

17 Criação de estruturas O construtor de uma estrutura é a função struct >> aluno = struct('nome',[], 'Numero',[],'Nota',[]) aluno = Nome: [] Numero: [] Nota: [] >> aluno = struct('nome','joão Silva','Numero',22331,'Nota',15) aluno = Nome: 'João Silva' Numero: Nota: 15 Construção da struct aluno com pré-alocação Construção da struct aluno com inicialização 34 Criação de estruturas Utilização do operador "." para construir a estrutura >> aluno.nome = 'João Silva'; >> aluno.numero = 22331; >> aluno.nota = 15; >> aluno aluno = Nome: 'João Silva' Numero: Nota: 15 O operador "." é menos eficiente que o construtor struct 35 17

18 Alinhamento da AT 13 Estruturas de dados Cell arrays Manipulação de cell arrays Estruturas Manipulação de estruturas Quando usar? 36 Adicionar campos à estrutura Utilização do operador "." >> aluno.erasmus = logical(0); >> aluno aluno = Nome: 'João Silva' Numero: Nota: 15 Erasmus:

19 Modificar/aceder a campos da estrutura Utilização do operador "." >> aluno.nota = 16; >> aluno aluno = Nome: 'João Silva' Numero: Nota: 16 Erasmus: 0 >> aluno.nome ans = João Silva 38 Apresentar os campos da estrutura Utilização das funções disp e fprintf >> disp(aluno) Nome: 'João Silva' Numero: Nota: 16 Erasmus: 0 >> fprintf('\n%s é aluno de Erasmus?: %d\n', aluno.nome,... aluno.erasmus) João Silva é aluno de Erasmus?: 0 >> 39 19

20 Remover campos de uma estrutura Utilização da função rmfield >> aluno = rmfield(aluno,'erasmus') aluno = Nome: 'João Silva' Numero: Nota: 16 Retorna uma nova estrutura com o campo removido, mas não altera a estrutura original. Para tal, é necessário fazer uma atribuição à mesma estrutura. 40 Operadores para estruturas Comando isstruct isfield fieldnames Descrição Retorna o valor lógico true se o argumento for uma variável do tipo estrutura. Retorna o valor lógico true se o 1º argumento (uma estrutura), possuir um campo com o mesmo identificador que o 2º argumento ( nome_campo ). Retorna um cell array contendo os nomes dos campos da estrutura (o argumento)

21 Alinhamento da AT 13 Estruturas de dados Cell arrays Manipulação de cell arrays Estruturas Manipulação de estruturas Quando usar? 42 Quando usar? Estruturas de dados quando se pretende agregar informação arrays cell arrays estruturas os dados são todos dum mesmo tipo, por exemplo valores numéricos, ou cadeias de caracteres (strings) de igual comprimento os dados relacionam-se logicamente, mas são de tipos diferentes, ou os dados são todos do tipo cadeia de caracteres (strings), mas com comprimentos diferentes pretende-se que a lista resultante seja iterada com um ciclo for os dados relacionam-se logicamente, mas são de tipos diferentes pretende-se que os campos de dados sejam identificados usando atributos com nomes específicos, e não por índices 43 21

22 Referências Capítulo 7 de Stormy Attaway (2009), Matlab: A Practical Introduction to Programming and Problem Solving, Elsevier. Getting started with MATLAB: matlab/getstart.pdf 44 22

Estruturas de dados complexas: cell arrays e structures

Estruturas de dados complexas: cell arrays e structures Estruturas de dados complexas: cell arrays e structures Cell arrays Criação de cell arrays Aceder a elementos Visualizar elementos Modificar elementos Eliminar elementos Guardar strings em cell arrays

Leia mais

Estruturas de dados complexas: cell arrays e structures

Estruturas de dados complexas: cell arrays e structures Estruturas de dados complexas: cell arrays e structures Structures (estruturas) Criação de estruturas Alterar, acrescentar e remover campos (fields) Visualizar (apresentar) uma estrutura Estruturas como

Leia mais

Manipulação de strings e conversão entre tipos de dados

Manipulação de strings e conversão entre tipos de dados Manipulação de strings e conversão entre tipos de dados Avaliação de strings A função eval() A estrutura try-catch A função IS para strings Conversão entre tipos de dados Instituto Superior Técnico, Dep.

Leia mais

Manipulação de strings e conversão entre tipos de dados

Manipulação de strings e conversão entre tipos de dados e conversão entre tipos de dados Criação de variáveis do tipo string: As strings como arrays uni-dimensionais Operações sobre strings Concatenação Formatação Comparação Procura, Substituição e Separação

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 14 Ficheiros de dados Processo de leitura/escrita em ficheiros de texto Manipulação de uma base de dados Ficheiros de dados do

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 16 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 16 Estrutura try-catch Processo de leitura/escrita

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teorica 18 Algoritmos de ordenação Função sort D.E.M. Área Científica de Controlo Automação e Informática Industrial Wrap Up da última

Leia mais

Cell arrays e estruturas: exemplos

Cell arrays e estruturas: exemplos Cell arrays e estruturas: exemplos Cell arrays e estruturas: Comparação entre os dois tipos de dados; Exemplos. Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Cell arrays e estruturas

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 3 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 3 MATLAB Comandos básicos Variáveis e Constantes

Leia mais

MATLAB. Sumário. Tópicos Avançados. 1. Estruturas 2. Células. J. R. Caldas Pinto, J. M. da Costa Sousa 357

MATLAB. Sumário. Tópicos Avançados. 1. Estruturas 2. Células. J. R. Caldas Pinto, J. M. da Costa Sousa 357 MATLAB Tópicos Avançados Sumário 1. Estruturas 2. Células J. R. Caldas Pinto, J. M. da Costa Sousa 357 1 Tipos de dados avançados em Matlab J. R. Caldas Pinto, J. M. da Costa Sousa 358 Estruturas As estruturas

Leia mais

Tópicos avançados sobre funções

Tópicos avançados sobre funções Tópicos avançados sobre funções Definição de function handle Utilização de function handles Funções anónimas Funções em que os argumentos são funções (function functions) Funções com número de parâmetros

Leia mais

Programação em MATLAB

Programação em MATLAB Programação em MATLAB Estruturas de Repetição Ciclo FOR Ciclos FOR encadeados Pré-alocação de variáveis Combinar ciclos FOR com a instrução IF Instituto Superior Técnico, Dep. de Engenharia Mecânica -

Leia mais

Manipulação avançada de ficheiros

Manipulação avançada de ficheiros Manipulação avançada de ficheiros Modularidade na manipulação de ficheiros Caso de estudo Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Revisão de instruções leitura/escrita comando

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 11 Caracteres e cadeias de caracteres (strings) Operações sobre cadeias de caracteres Conversão entre cadeias de caracteres e valores

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 3 Tipos de dados Funções, Operadores e Expressões Vectores Matrizes Utilização de funções com vectores e matrizes D.E.M. Área Científica

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 10 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 10 Passagem de argumentos por valor Âmbito

Leia mais

Computação e Programação. MEMec - LEAN 1º Semestre

Computação e Programação. MEMec - LEAN 1º Semestre Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Objectivos de CP Pretende-se promover o desenvolvimento de, Competências que

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 20 Números complexos Tópicos Avançados sobre Funções Funções com número variável de argumentos de entrada e saída Funções como

Leia mais

Programação em MATLAB

Programação em MATLAB Programação em MATLAB Estruturas de Repetição Ciclo WHILE As instruções BREAK e RETURN A função ERROR Vectorização Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Estruturas de repetição

Leia mais

Tópicos avançados sobre funções (cont.)

Tópicos avançados sobre funções (cont.) Tópicos avançados sobre funções (cont.) Definição de function handle Utilização de function handles Funções anónimas Funções em que os argumentos são funções (function functions) Funções com número de

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2010/2011 MEMec, LEAN Ficha da Aula Prática 7 Estruturas de dados: cell arrays, estruturas. Sumário das tarefas e objectivos da aula: 1. Entender o conceito de estruturas

Leia mais

Introdução ao Matlab. Células e Estruturas

Introdução ao Matlab. Células e Estruturas Introdução ao Matlab Prf. José Fajardo Barbachan IBMEC Células e Estruturas Utilizados para agrupar dados diferentes, mas relacionados Não permitem operações matemáticas diretamente nelas, mas apenas em

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 24 Introdução a linguagem compilada C D.E.M. Área Científica de Controlo Automação e Informática Industrial Wrap Up da última aula

Leia mais

Algoritmos de ordenação. e de procura

Algoritmos de ordenação. e de procura Algoritmos de ordenação Ordenação e de procura Ordenação por selecção Ordenação por inserção linear Ordenação rápida A função sort Exemplos: Ordenar vectores de estruturas Ordenar strings Ordenar índices

Leia mais

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB Aula 01 Introdução ao software MATLAB O MATLAB (Matrix Laboratory) é um ambiente de programação de alto desempenho voltado para a resolução de problemas expressos em notação matemática, projeto e simulação

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 4 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 4 Construção de programas Actividades de teste

Leia mais

1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível?

1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível? P1 Conceitos (2,4 valores) 1.a) Qual a diferença entre uma linguagem de programação de alto nível e uma linguagem de programação de baixo nível? (0.8v) 1.b) Indique três vantagens de criar um programa

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - º Semestre 205-206 Expressões Relacionais Estruturas de Selecção Simples Genéricas Aula Teórica 5 D.E.M. Área Científica de Controlo Automação e Informática Industrial

Leia mais

Computação e Programação 201*/201* - 1º Semestre

Computação e Programação 201*/201* - 1º Semestre Computação e Programação 201*/201* - 1º Semestre Exame Tipo MEMec LEAN DURAÇÃO: 2h30min Leia com atenção os pontos que se seguem: Comece por IDENTIFICAR TODAS AS FOLHAS DO EXAME. Não desagrafe as folhas.

Leia mais

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 10 de janeiro de 2018 Exame sem

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec - LEAN 1º Semestre 2010-2011 Aula Teórica 15 Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Alinhamento da AT 15 Manipulação avançada de ficheiros Leitura

Leia mais

Programação em MATLAB

Programação em MATLAB Programação em MATLAB Desenvolvimento de software em MATLAB Scripts ou M-files Funções definidas pelo programador Estruturas de Selecção Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII

Leia mais

Estudando com o MATLAB

Estudando com o MATLAB Estudando com o MATLAB Curso de Extensão Docentes: > Fabiano Araujo Soares > Marcelino M. de Andrade Programando com o Matlab Programando com o Matlab 1ª Parte: Arquivos.m 1ª Parte: Arquivos.m Direciona

Leia mais

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados TÉCNICAS DE PROGRAMAÇÃO Estrutura de dados O que são estrutura de dados? É a forma como os armazenamos tipos de dados, vistos dia a dia, ou seja, nada mais são do que a transformação de uma forma de armazenamento

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula teórica 15 Estruturas como argumentos de funções Exemplo Gestão de um Cine-Clube D.E.M. Área Científica de Controlo Automação e Informática

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 21 Introdução à linguagem compilada C Estrutura e compilação do código fonte Tipos de dados básicos Operadores aritméticos e lógicos

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 6 Estruturas de Repetição (FOR, WHILE) A instrução break Pré-alocação de variáveis D.E.M. Área Científica de Controlo Automação

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Introdução à Ciência da Computação Unidade III Programação de Computadores com Octave Uso do Octave no Modo Interativo Prof. Roberto M. de Faria/DSC/UFCG Ajuda para o Octave Para ter acesso à documentação

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 22 Introdução a linguagem compilada C (2) Structs Ponteiros Arrays D.E.M. Área Científica de Controlo Automação e Informática Industrial

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

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos

Leia mais

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 31 de janeiro de 2018 Exame

Leia mais

Estrutura de Dados. Struct (Registro) Lais Farias Alves

Estrutura de Dados. Struct (Registro) Lais Farias Alves Estrutura de Dados Struct (Registro) Lais Farias Alves Conceito de Struct Struct (Registro). Um registro (=record) é uma coleção de várias variáveis, possivelmente de tipos diferentes. Na linguagem C,

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

COMPUTAÇÃO E PROGRAMAÇÃO

COMPUTAÇÃO E PROGRAMAÇÃO COMPUTAÇÃO E PROGRAMAÇÃO 1º Semestre 2015/2016 MEMec, LEAN Ficha da Aula Prática 6: Cadeias de caracteres (strings). Estruturas de dados (structures). Sumário das tarefas e objectivos da aula: 1. Utilizar

Leia mais

Programação Estruturada Aula 9 - Matrizes e Strings II

Programação Estruturada Aula 9 - Matrizes e Strings II Programação Estruturada Aula 9 - Matrizes e Strings II Prof. Luis Carlos Retondaro Técnico em Telecomunicações 2 o Ano CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca Campus Petrópolis

Leia mais

Lição 7 Array em Java

Lição 7 Array em Java Lição 7 Array em Java Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Declarar e criar arrays Acessar elementos de um array Determinar o número de elementos em um

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

Computação e Programação

Computação e Programação Computação e Programação 3ª Aula de Problemas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Exercícios Resolvidos [Baseado no Livro 1] (Ver referências no último slide) 2.28 Pretende-se

Leia mais

Computação e Programação

Computação e Programação Computação e Programação 9ª Aula de Problemas Manipulação avançada de ficheiros fopen, fclose, fprintf, fgetl, fgets, fscanf, textscan Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Problema

Leia mais

Arrays em Java. Prof. Renato Pimentel. GGI030 Programação Orientada a Objetos. Universidade Federal de Uberlândia Faculdade de Computação

Arrays em Java. Prof. Renato Pimentel. GGI030 Programação Orientada a Objetos. Universidade Federal de Uberlândia Faculdade de Computação Universidade Federal de Uberlândia Faculdade de Computação Arrays em Java Prof. Renato Pimentel GGI030 Programação Orientada a Objetos GGI030 Arrays em Java Prog. Orient. Objetos 1 / 20 Sumário 1 API GGI030

Leia mais

Projecto e Desenvolvimento de Programas

Projecto e Desenvolvimento de Programas Projecto e Desenvolvimento de Programas Projecto de programas Metodologia de desenvolvimento Construção de algoritmos Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Programa de Computador

Leia mais

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema Python Listas e Strings Prof. Paulo Henrique Ribeiro Gabriel (Com base no material do Prof. André Backes) Listas Por que usar listas? Listas As variáveis declaradas até agora são capazes de armazenar um

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 1 Apresentação da disciplina A Computação e a Programação Aplicações à Engenharia Mecânica D.E.M. Área Científica de Controlo Automação

Leia mais

Sistemas e Sinais. Laboratório 0 (parte c) Miguel Pedro Silva e João Reis

Sistemas e Sinais. Laboratório 0 (parte c) Miguel Pedro Silva e João Reis Sistemas e Sinais Laboratório 0 (parte c) (MATLAB : Cell arrays e structures) Miguel Pedro Silva e João Reis Instituto Superior Técnico, Dep. de Engenharia Mecânica - Secção Sistemas, Grupo de Controlo

Leia mais

Rosane Minghim e Guilherme P. Telles

Rosane Minghim e Guilherme P. Telles Introdução à Computação Rosane Minghim e Guilherme P. Telles 9 de Agosto de 2012 Capítulo 6 Registros e Arquivos Neste capítulo apresentamos registros e arquivos. Registros são estruturas que permitem

Leia mais

Aula 26: Estruturas heterogêneas

Aula 26: Estruturas heterogêneas Aula 26: Estruturas heterogêneas Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 10 Exemplo de desenvolvimento de Programa Modular: Máquina de venda de bilhetes D.E.M. Área Científica de Controlo Automação e

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef Prof. Renato Pimentel 1 Introdução Tipos de variáveis vistos

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 9 Abordagem ao projecto de programas s, Abordagem Top-Down, Modularidade Processo de Desenvolvimento Tipos de Erros e Casos de

Leia mais

Algoritmos e Lógica de Programação Introdução e formas de representação

Algoritmos e Lógica de Programação Introdução e formas de representação Algoritmos e Lógica de Programação Introdução e formas de representação Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 15 de agosto de

Leia mais

Exercícios: Arquivos

Exercícios: Arquivos Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Arquivos 1. Codifique, compile e execute um programa que: (a) crie/abra

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Aula 3 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/prog3/ Aula 3-12/09/2006 1 Aula de Hoje Revisão da aula passada: Conceitos gerais

Leia mais

Problema 2 (1 valor) M = [50:2:248 ; 249:-2:51] Problema 3 (1 valor)

Problema 2 (1 valor) M = [50:2:248 ; 249:-2:51] Problema 3 (1 valor) Nome : Número : Computação e Programação 2015-2016 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 27 de janeiro de 2015 Exame

Leia mais

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se

Leia mais

Agregado Homogêneo e Heterogêneo

Agregado Homogêneo e Heterogêneo Universidade Estadual de Maringá - UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação Agregado Homogêneo e Heterogêneo Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado

Leia mais

1.1 o que é um algoritmo... 6

1.1 o que é um algoritmo... 6 sumário introdução 1 1 fundamentos 5 1.1 o que é um algoritmo... 6 1.1.1 algoritmos executados por um computador...7 1.1.2 comandos básicos executados por um computador...11 1.1.3 da necessidade do desenvolvimento

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

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

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias. 5 Arrays Arrays são grupos de variáveis do mesmo tipo. As arrays podem armazenar variáveis de qualquer tipo (tipo de dado primitivo ou objetos), mas é importante lembrar que todos os valores devem ser

Leia mais

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época Normal 10 de janeiro de 2018 Exame sem

Leia mais

AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação

AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação 1 Vector Os vectores são semelhantes aos arrays, pois também podem conter um conjunto de objectos aos quais é atribuído um índice.

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

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

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 1 Outubro 2013 Prof. Dr. Fernando Santos Osório / Prof. Artur Lovato Cunha LRM - Laboratório

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

Computação e Programação (2007/2008-1º Semestre)

Computação e Programação (2007/2008-1º Semestre) Computação e Programação (2007/2008-1º Semestre) Exame Tipo: 2008-01-14 MEMec - LEAN DURAÇÃO: 3 horas Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha, e número

Leia mais

Computação I (MAB120) DCC/UFRJ

Computação I (MAB120) DCC/UFRJ Computação I (MAB120) DCC/UFRJ Aula 3: conceitos e operações elementares da programação 18 de março de 2019 Objetivos dessa aula Apresentar o conceito de variável em C: declaração, inicialização, atribuição

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 25 Interfaces Gráficas do Utilizador (GUIs) Programação event-driven GUIs no MATLAB Componentes e handles Estrutura do código no

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

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2 Universidade Federal do Rio de Janeiro Instituto de Matemática / DCC Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação - 2003/2 Prof. A. C. G. Thomé, PhD thome@nce.ufrj.br Airam C. P.

Leia mais

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

Linguagem C vetores. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C vetores IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C Estrutura de um programa Escrita e execução do primeiro

Leia mais

10 a Aula - Operadores de Molde ( Casting ). Atribuição de Memória. Ponteiros. Enumerados. Mestrado em Engenharia Física Tecnológica

10 a Aula - Operadores de Molde ( Casting ). Atribuição de Memória. Ponteiros. Enumerados. Mestrado em Engenharia Física Tecnológica 10 a Aula - Operadores de Molde ( Casting ). Atribuição de Memória. Ponteiros. Enumerados. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Faculdade de Computação Aula Revisão Marcelo Zanchetta do Nascimento Material elaborado pela Profa. Ana Carolina Lorena - UNIFESP Desenvolvimento de Software ANÁLISE IMPLEMENTAÇÃO

Leia mais

Algoritmos: tipos de dados, variáveis e expressões

Algoritmos: tipos de dados, variáveis e expressões Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Algoritmos: tipos de dados, variáveis e expressões DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros

Leia mais

Aula 27: Estruturas heterogêneas e alocação dinâmica

Aula 27: Estruturas heterogêneas e alocação dinâmica Aula 27: Estruturas heterogêneas e alocação dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória

Leia mais

Linguagem C Ponteiros

Linguagem C Ponteiros Linguagem C Ponteiros Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Janeiro de 2018 Unidade 14 Linguagem C - Ponteiros 1/24 Identificadores e Endereços

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

BCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/61

BCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/61 BCC 201 - Introdução à Programação I Ponteiros Guillermo Cámara-Chávez UFOP 1/61 Ponteiros... I i n t main ( ) { i n t x ; x = 10 p r i n t f ( " Conteudo de x: %d \n", x ) ; p r i n t f ( " Endereco de

Leia mais

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS Ao término desse capítulo você terá aprendido: Tipos de dados e suas conversões; Operadores; Criação de projetos, pacotes e classes no NetBeans; Variáveis, cálculos

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 e Programação 2009 / 2010

Computação e Programação 2009 / 2010 Computação e Programação 2ª Aula de Problemas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Exercícios Resolvidos [Livro 1] (Ver referências no slide 20) 3.3 Write a program to convert

Leia mais

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 4 EXPRESSÕES BOOLEANAS O tipo primitivo boolean É um tipo de dados primitivo em Java que possui

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

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

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

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: ponteiros e alocação dinâmica Prof. Renato Pimentel 1 Ponteiros 2 Prof. Renato Pimentel 1 Ponteiros: introdução Toda a informação

Leia mais

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas

Nome: Número: Computação e Programação Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas Nome: Número: Computação e Programação 2017-2018 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de Recurso 31 de janeiro de 2018 Exame

Leia mais

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 3ª Parte Prof. Sandra Pais Soares Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 3ª Parte Prof. Sandra Pais Soares Fundamentos de Programação 1. Palavras Reservadas 2.

Leia mais

Agregado Homogêneo e Heterogêneo. Agregado Homogêneo. Agregado Homogêneo 28/11/2015

Agregado Homogêneo e Heterogêneo. Agregado Homogêneo. Agregado Homogêneo 28/11/2015 8//0 Universidade Estadual de Maringá - UEM Centro de Tecnologia - CTC Departamento de Informática - DIN Fundamentos da Computação e Heterogêneo Prof. Yandre Maldonado - Prof. Yandre Maldonado e Gomes

Leia mais