Linguagem de Programação I

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

Download "Linguagem de Programação I"

Transcrição

1 Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br

2 Exemplo: Explorar Templates e Exceções Incrementar com o uso de STL 2

3 STL é uma biblioteca padrão com as estruturas de dados mais usadas Criada para evitar a implementação e teste das mesmas estruturas de dados Economiza tempo e evita retrabalho É a biblioteca padrão de C++ Padronizada pelo ANSI em 1997 Por que templates? Poupam da tarefa de reimplementar o código para cada novo tipo de dado da sua aplicação. STL 3

4 Quando usados apropriadamente, templates são bastante eficazes. Porém, mensagens de erro STL costumam ser pouco elucidativas. Uma boa fonte sobre a STL é o guia de programação da SGI STL 4

5 A STL oferece: Containers (recipientes). Iterators (iteradores). Algorithms (algoritmos). Recipientes servem para armazenar dados e podem ser classificados como: Seqüências de dados Recipientes associativos para pares de objetos (chave, dado). Adaptadores que provêem um subconjunto da funcionalidade de um recipiente. Pilhas, filas, filas de prioridade. STL 5

6 Organização da STL Containers <vector> Array unidimensional do tipo T <list> Lista duplamente ligada do tipo T <deque> Lista ligada double-ended do tipo T <queue> Lista ligada do tipo T <stack> Pilha do tipo T <map> <set> Array associativo do tipo T (red-black tree) Conjunto do tipo T <bitset> Array de booleanos

7 Organização da STL <utility> <funcional> <memory> <ctime> <iterator> <algorithm> <cstdlib> General Utilities Operadores Funções Funções para manipulação de memória Funções de C para manipulação de data e hora Iterators Definição e suporte para Iterators Algorithms Algoritmos gerais bsearch() e qsort()

8 Diagnostics <exception> Definição da classe exception <stdexception> Exceções da biblioteca padrão <cassert> Diagnóstico de Erros <cerrno> Tratamento de erro com as funções de C Organização da STL

9 Strings <string> string do tipo T <cctype> Classificação de caracteres <cwctype> Classificação de wide-caracters <cstring> Funções de C para manipulação de strings <cwchar> Funções de C para classificação de wide-caracters <cstdlib> Mais funções de C para manipulação de strings Organização da STL

10 Input/Output <iosfwd> Declarações forward de facilidades de E/S. <iostream> Objetos e operações padrões de E/S. <ios> Classes bases de E/S. <streambuf> Stream buffers. <istream> Templates de stream de entrada. <ostream> Templates de stream de saída. <iomanip> Manipuladores. <sstream> Stream para E/S com strings. Organização da STL

11 Input/Output <cstdlib> Classificação de caracteres e funções <fstream> Streams para E/S com arquivos <cstdio> printf() e scanf() <cwchar> printf() e scanf() para wide characters Language Suport <locale> Representa diferenças culturais <clocale> Funções de C para representar diferenças culturais Organização da STL

12 Language Suport <limits> Limites numéricos <climits> Macros de C com os limites numéricos <cfloat> Macros de C com os limites de ponto flutuante <new> Gerenciamento de memória dinâmico <typeinfo> Suporte para identificação de tipos em tempo de execução <exception> Suporte para o tratamento de exceções <cstddef> Suporte para a biblioteca da linguagem C <cstdargs> Criação de funções com lista de argumentos variável <csetjmp> Funções de C para manipulação de Pilhas Organização da STL

13 <cstdlib> Language Suport Finalização do programa <ctime> Relógio (Clock) do sistema <csignal> Manipulação de sinais em C Numéricos <complex> Números complexos e seus operadores <valarray> Vetores numéricos e operações <numeric> Operações numéricas generalizadas <cmath> Funções matemáticas de C <cstdlib> Geração de números aleatórios em C Organização da STL

14 Criados para permitir uma maneira unificada de percorrer ou recuperar dados de recipientes. Escondem detalhes de implementação das aplicações. Diminui o uso de ponteiros É possível trocar o tipo de recipiente e ainda assim usar o mesmo código. A STL adota a filosofia de manter os algoritmos fora das classes dos recipientes. Permitir que o mesmo algoritmo possa agir sobre recipientes diferentes. STL - Iteradores 14

15 Algoritmos são implementados usando iteradores apenas. Ordenação, busca, contagem, substituição, etc... Iteradores tem operadores de incremento ++ definidos. Ponteiros podem ser usados como iteradores. STL - Iteradores 15

16 #include <vector> #include <iostream> using namespace std; template <class T> struct print : public unary_function <T, void> { print(ostream& out) : os(out), count(0) {} void operator() (T x) { os << x << ' '; ++count; } ostream& os; int count; }; int main() { int A[] = {1, 4, 2, 8, 5, 7}; const int N = sizeof(a) / sizeof(int); } print<int> P = for_each(a, A + N, print<int>(cout)); cout << endl << P.count << " objects printed." << endl; return 1; STL - Iteradores 16

17 É um tipo utilizado para percorrer os containers da STL Objetos deste tipo são ponteiros Cada container possui uma classe com este nome; Para percorrer um container podemos utilizar os métodos: begin() - Ponteiro para o início do container end() - Ponteiro para o fim do container As classes const_iterator

18 int main() { typedef vector<int> IntVector; IntVector v; v.push_back(10); v.push_back(14); v.push_back(0); v.push_back(-8); v.push_back(30); // declara um iterator para um vetor IntVector::const_iterator iter; // percorre o vetor através de um iterator for (iter = v.begin(); iter!= v.end(); iter++) { } cout << *iter << " "; cout << endl; cin.get(); } return 0; As classes const_iterator 18

19 vector é o recipiente mais simples da STL. Seqüência que suporta acesso aleatório aos seus elementos. Inserção e remoção de elementos no final em O(1). Inserção e remoção de elementos no meio em O(n). Busca em O(n). Gerenciamento automático de memória. Iteradores estão invalidados após realocação de memória, inserção e remoção no meio. Descrição e implementação STL - Vector 19

20 #include <vector> #include <iostream> #include <iterator> #include <ext/algorithm> using namespace std; using gnu_cxx::is_sorted; int main() { vector<int> V; V.push_back(20); V.push_back(30); V.push_back(-1); V.push_back(-1); V.push_back(-1); cout << "V: \n"; copy(v.begin(), V.end(), ostream_iterator<int>(cout, " ")); stable_sort (V.begin(), V.end()); cout << "\nv: sorted\n"; copy(v.begin(), V.end(), ostream_iterator<int>(cout, " ")); cout << "\nv: is sorted? "; cout << is_sorted ( V.begin(), V.end() ) << "\n"; } STL - Vector 20

21 template<class InputIterator, class OutputIterator> inline OutputIterator copy(inputiterator first, InputIterator last, OutputIterator result) { for( InputIterator itr = first; itr!= last; ++itr, ++result ) { *result = *itr; } return result; } STL - Vector 21

22 list é de fato uma lista duplamente encadeada. É uma seqüência que suporta percurso para frente e para trás. Busca em O(n). Inserção e remoção de elementos na frente, no meio e no final em O(1). Iteradores ainda estão válidos após inserção, splicing ou remoção. STL - List 22

23 #include <list> #include <iostream> #include <iterator> using namespace std; int main() { list<int> L; L.push_back(0); L.push_front(1); L.insert(++L.begin(), 2); copy(l.begin(), L.end(), ostream_iterator<int>(cout, " ")); cout << "\n"; list<int> M ( L ); L.splice ( ++++L.begin(), M ); copy(l.begin(), L.end(), ostream_iterator<int>(cout, " ")); cout << \n ; copy(m.begin(), M.end(), ostream_iterator<int>(cout, " ")); } STL - List 23

24 #include <iostream> #include <list> using namespace std; int main() { list<string> l; l.push_back("hello, "); l.push_back( Bro! "); l.push_back("fine? "); for (list<string>::const_iterator i = l.begin(); i!= l.end(); ++i) cout << *i; } STL - List 24

25 set é uma coleção ordenada de objetos do tipo key sem duplicatas. Operações de conjunto como interseção, união e diferença são eficientes. Implementado por uma árvore balanceada de busca (Red Black, Splay). Busca em O(log n). multiset é a versão que permite duplicatas. STL - Set 25

26 #include <set> #include <iostream> using namespace std; struct ltstr // função objeto. Compara duas seqüências de caracteres. { bool operator()(const char* s1, const char* s2) const { return strcmp(s1, s2) < 0; } }; int main() { const int N = 6; const char* a[n] = {"isomer", "ephemeral", "prosaic", "nugatory", "artichoke", "serif"}; const char* b[n] = {"flat", "this", "artichoke", "frigate", "prosaic", "isomer"}; set<const char*,ltstr> A(a, a + N); set<const char*,ltstr> B(b, b + N); set<const char*,ltstr> C; STL - Set 26

27 } cout << "Set A: "; copy(a.begin(), A.end(), ostream_iterator <const char*>(cout, " ")); cout << endl; cout << "Set B: "; copy(b.begin(), B.end(), ostream_iterator <const char*>(cout, " ")); cout << endl; cout << "Union: "; set_union(a.begin(), A.end(), B.begin(), B.end(), ostream_iterator<const char*>(cout, " "), ltstr()); cout << endl; cout << "Intersection: "; set_intersection(a.begin(), A.end(), B.begin(), B.end(), ostream_iterator<const char*>(cout, " "), ltstr()); cout << endl; set_difference(a.begin(), A.end(), B.begin(), B.end(), inserter(c, C.begin()), ltstr()); cout << "Set C (difference of A and B): "; copy(c.begin(), C.end(), ostream_iterator <const char*>(cout, " ")); cout << endl; STL - Set 27

28 map associa objetos do tipo key a objetos do tipo data. Nenhum par de elementos possui a mesma chave. Percurso é ordenado. Indicada para implementação de dicionários. Implementada por uma árvore balanceada de busca (Red Black, Splay). Busca em O(log n). multimap é a versão que permite duplicatas. STL - Map 28

29 #include <map> #include <string> #include <iostream> using namespace std; typedef map < long, string > maptype; typedef maptype::value_type ValuePair; int main() { maptype Map; Map[ ] = "Andrew"; Map[ ] = "Berni"; Map[ ] = "Ulisses"; Map[ ] = "Paulo"; Map[ ] = "Pedro"; Map[ ] = "Peter"; Map[ ] = "Paula"; Map[ ] = "Paulos"; Map.insert(ValuePair( , "John")); Map.insert(ValuePair( , "Karen")); Map.insert(ValuePair( , "Thomas")); Map.insert(ValuePair( , "William")); // insertion of Xaviera is not executed, because // the key already exists. Map.insert(ValuePair( , "Xaviera")); maptype Map2 ( Map.begin(), Map.end() ); cout << "equality operator " << (Map2 == Map) << endl; STL - Map 29

30 cout << "Output:\n"; Map.erase ( ); Map2.swap ( Map ); maptype::const_reverse_iterator iter = Map.rbegin(); while( iter!= (maptype::const_reverse_iterator)map.rend() ) { cout << (*iter).first << ':' << (*iter).second << endl; ++iter; } cout << "Output of the name after entering the number\n" << "Number: "; long Number; cin >> Number; maptype::const_iterator it = Map.find(Number); } if(it!= Map.end()) { cout << (*it).second << ' ' // O(1) << endl; } else cout << "Not found!" << endl; STL - Map 30

31 class cool { private: int serial; private: string longname; public: cool() {} // try to comment this out to see the error public: cool(int i, string s) { serial = i; longname = s; } public: int get_serial() { return serial; } public: string get_name() { return longname; } public: void set_name(string n) { longname = n; } }; int main() { cool c(5,"five Young Canibals"); cool d(8,"eighteen"); map<string,cool> m; // This container stores pair of objects string and cool // I mean: copies of the objects I give to it map<string,cool*> m2; // One could store pointers to objects in a container m["five"]=c; m["eight"]=d; m["new"] = cool(78,"new object"); // short for m.insert(m.begin,make_pair(const string("eight"),d)); map<string,cool>::iterator i; for (i=m.begin(); i!= m.end(); ++i) cout << (*i).second.get_serial() << " " << (*i).second.get_name() << endl; // elements in the map are pairs, whose fields are first and second cout << One of the elements: " << m["new"].get_name() << endl; } 31

32 hash_map associa objetos do tipo key a objetos do tipo data. Nenhum par de elementos possui a mesma chave. Não há ordem de percurso. Implementada por uma hash table. Há uma função de hash que gera endereços a partir de chaves. Busca em O(1). hash_multimap é a versão que permite duplicatas. STL - Hash Map 32

33 #include <ext/hash_map> #include <string> #include <iostream> using namespace std; using gnu_cxx::hash_map; using gun_cxx::hash; #define table_size 11 template <class T> class my_hash: public hash<t> { public: }; my_hash() {} size_t operator()(const string& p) const { hash<const char*> h; return h(p.c_str()); } typedef hash_map<string, string, my_hash<string> > maptype; typedef maptype::value_type ValuePair; int main() { maptype Map ( table_size, my_hash <string>() ); Map["ANDREW"]="Andrew"; Map["BERNI"]="Berni"; Map["JOHN"]="John"; Map.insert(ValuePair("KAREN", "Karen")); Map.insert(ValuePair("THOMAS", "Thomas")); Map["WILLIAM"]="William"; Map.insert(ValuePair("BERNI", "Xaviera")); 33

34 } cout << "Output:\n"; maptype::iterator iter = Map.begin(); while(iter!= Map.end()) { cout << (*iter).first << ':' << (*iter).second << endl; ++iter; } cout << "Output of the name after entering the key\n" << "Key: "; char buf[256]; buf[0] = '\0'; fgets ( buf, 256, stdin ); if ( buf[strlen(buf)-1]=='\n' ) buf[strlen(buf)-1] = '\0'; string key ( buf ); iter = Map.find(key); if(iter!= Map.end()) { cout << (*iter).second << ' ' << Map[key] << endl; } else cout << "Not found!" << endl; STL Hash Map 34

35 class cool { private: int serial; private: string longname; public: cool() {} // try to comment this out to see the error public: cool(int i, string s) { serial = i; longname = s; } public: int get_serial() { return serial; } public: string get_name() { return longname; } public: void set_name(string n) { longname = n; } }; int main() { char *five="five"; cool c(5,"five Young Canibals"); cool d(8,"eighteen"); hash_map<char*,cool> m; m[five]=c; m["eight"]=d; // short for m.insert(m.begin,make_pair(const string("eight"),d)); hash_map<char*,cool>::iterator i; cool x = m["five"]; cout << x.get_serial() << " " << x.get_name() << endl; // elements in the map are pairs, whose fields are first and second char a; cout << "Ok?"; cin >> a; } 35

36 string toma o lugar de um array of char (char *) Não é mais necessário se preocupar com o tamanho do arranjo. Oferece todas as funções de C pertinentes a strings como membros da classe. Evita erros relacionados com ponteiros, na chamada de funções que recebem ou retornam strings. STL - String 36

37 #include <string> #include <iostream> using namespace std; int main () { string str0; cout << "empty constructor: " << str0 << endl; cout << "str0 size = " << str0.size() << endl; string str1("hellow world!"); cout << "const char constructor: " << str1 << endl; cout << "data = " << str1.data() << endl; cout << "size = " << str1.size() << endl; cout << "length = " << str1.length() << endl; cout << "capacity = " << str1.capacity() << endl; cout << "max_size = " << str1.max_size() << endl; cout << "str0 empty = " << str0.empty() << endl; cout << "str1 empty = " << str1.empty() << endl; string str2(str1); cout << copy constructor: " << str2 << endl; string str3(str1, 4, 6); cout << "string&, pos, npos, str3 constructor: " << str3 << endl; string str4("hellow word!", 6); cout << "char[], npos, str4 constructor: " << str4 << endl; string str5(12, 'h'); cout << n, char str5 constructor: " << str5 << endl; cout << "str5 size = " << str5.size() << endl; // swap str5.swap(str1); cout << "swap str1 and str5" << endl; cout << "str1 = " << str1 << endl; cout << "str5 = " << str5 << endl; } 37

38 int main() { string s; // também é uma string basic_string<char> bs; // lê uma linha getline(cin, bs); cout << "bs = \"" << bs << "\"" << endl; // lê uma string cin >> s; cout << "s = \"" << s << "\"" << endl; // troca os conteúdos s.swap(bs); cout << "Apos a inversao: " << endl << "bs = \"" << bs << "\"" << endl << "s = \"" << s << "\"" << endl; int a = s.find('a'); cout << "Primeiro indice da letra 'a' em s: " << a << endl; s[a] = 'A'; cout << "Apos a modificacao s = \"" << s << "\"" << endl; // converte s para uma strig de c const char *p = s.data(); // s.c_str(); cout << "p = \"" << p << "\""<< endl; cout << "Tamanho de bs: " << bs.length() << endl; // limpa bs bs = ""; cout << "bs foi limpa? " << (bs.empty()? "Sim" : "Nao") << endl; return 0; } Strings 38

39 Crie uma função verificarpalindromo() que recebe um vetor como parâmetro. Ela deve retornar true se ele contém um palíndromo e false caso contrário. Exemplo: Um vetor contendo 1, 2, 3, 2, 1 é um palíndromo. E um vetor contendo 1, 4, 3, 2, 1 não é um palíndromo. Crie uma mapa que associa o nome de uma pessoa a um objeto do tipo Pessoa. A classe Pessoa deve ser feita usando templates, armazenando uma variável de tipo arbitrário. Crie um programa que leia entradas e armazene utilizando a classe map. Caso o usuário tente cadastrar uma chave duplicada, uma exceção deve ser lançada. Exercícios 39

40 2ª. Prova 20/03 Reposição 25/03 Final 27/03 2º. Trabalho Deadline 22/03 23h59 GMT-3 40

41 Notas de aula Claudio Esperança e Paulo Cavalcanti (UFRJ) Notas de aula Allan Lima (citi/ufpe) Referências 41

42 Marcação 2ª. Prova e trabalho 42

43 STL Programação Orientada a Eventos Programação concorrente (Threads) (3ª. Prova) Próximas aulas 43

44 Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Sobrecarga de funções Mesmo nome Mesma semântica Diferentes tipos de dados As vezes a mesma sintaxe... int

Leia mais

Aula 8- Standard Template Library. Arthur Ribacki Gabriel Portal Leonardo Chatain Luiz Fernando Scheidegger Rosália Schneider

Aula 8- Standard Template Library. Arthur Ribacki Gabriel Portal Leonardo Chatain Luiz Fernando Scheidegger Rosália Schneider Aula 8- Standard Template Library Arthur Ribacki Gabriel Portal Leonardo Chatain Luiz Fernando Scheidegger Rosália Schneider STL Motivação... int int_array = 5; char **vetor = new char*[int_array]; for(int

Leia mais

Guia de Consulta Rápida C++ STL. Joel Saade. Novatec Editora

Guia de Consulta Rápida C++ STL. Joel Saade. Novatec Editora Guia de Consulta Rápida C++ STL Joel Saade Novatec Editora Guia de Consulta Rápida C++ STL de Joel Saade Copyright 2006 da Novatec Editora Ltda. Todos os direitos reservados. É proibida a reprodução desta

Leia mais

Programando em C++ Histórico da Linguagem C

Programando em C++ Histórico da Linguagem C Programando em C++ Joaquim Quinteiro Uchôa joukim@comp.ufla.br DCC-UFLA, 2002 Programando em C++ p.1/38 Histórico da Linguagem C Linguagem C: 1972 - Laboratório Bells, por Dennis Ritchie, a partir da linguagem

Leia mais

Princípios de programação em Linguagem C++

Princípios de programação em Linguagem C++ Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Princípios de programação em Linguagem C++ 1 Introdução A Linguagem C++ é uma extensão da linguagem

Leia mais

Mar 13, 2009 Roteiro Entrada & Saída Contêineres Algoritmos Exemplos Leitura simples #include // cin, cout, endl int a; float b; cin >> a >> b; if (cin) cout

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 08 Busca em Vetor Edirlei Soares de Lima Busca em Vetor Problema: Entrada: vetor v com n elementos; elemento d a procurar; Saída: m se o elemento procurado

Leia mais

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes ITENS FUNDAMENTAIS Profª Angélica da Silva Nunes CONCEITOS BÁSICOS Hardware - é a parte física do computador, tais como: teclado, monitor de vídeo, etc. Software - são os programas e aplicativos que permitem

Leia mais

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

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Funções Classes de armazenamento

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

Meta-Programação com. Julia Lima. Agosto 2010

Meta-Programação com. Julia Lima. Agosto 2010 Meta-Programação com Templates Julia Lima Agosto 2010 O que é Meta-programação Desenvolver um programa que gera um outro programa Meta-programas A linguagem usada para criar um metaprograma permite a manipulação

Leia mais

Algoritmos e Técnicas de

Algoritmos e Técnicas de INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Algoritmos e Técnicas de Programação Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Prof. Jhonatan Fernando

Prof. Jhonatan Fernando Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis

Leia mais

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

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional UNIX. O C é derivado de uma outra linguagem: o B,

Leia mais

STL significa Standard Template Library. É uma biblioteca que contém algumas estruturas de dados, como árvore binária e lista encadeada.

STL significa Standard Template Library. É uma biblioteca que contém algumas estruturas de dados, como árvore binária e lista encadeada. STL significa Standard Template Library. É uma biblioteca que contém algumas estruturas de dados, como árvore binária e lista encadeada. Estas estruturas são chamadas de Containers. Elas armazenam coleções

Leia mais

Fundamentos de Programação II. Introdução à linguagem de programação C++

Fundamentos de Programação II. Introdução à linguagem de programação C++ Fundamentos de Programação II Introdução à linguagem de programação C++ Prof. Rafael Henrique D. Zottesso Material cedido por Prof. Msc. Everton Fernando Baro Agenda IDE HelloWorld Variáveis Operadores

Leia mais

Templates. Introdução. Motivação. Thiago Rosso Adams

Templates. Introdução. Motivação. Thiago Rosso Adams Templates Thiago Rosso Adams http://www.thradams.com thiago.adams@gmail.com Introdução Apesar de toda biblioteca padrão usar templates, muitas pessoas ainda têm uma visão muito superficial sobre este assunto,

Leia mais

Hashing (Tabela de Dispersão)

Hashing (Tabela de Dispersão) Hashing (Tabela de Dispersão) Motivação! Os métodos de pesquisa vistos até agora buscam informações armazenadas com base na comparação de suas chaves.! Para obtermos algoritmos eficientes, armazenamos

Leia mais

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

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros

Leia mais

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos

Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos Fundamentos de Programação Linguagem C++ Entrada e saída com arquivos Prof.: Bruno E. G. Gomes IFRN 1 Introdução Entrada e saída de dados pode ser feita: Para dispositivo de entrada/saída (monitor, impressora,

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 Cadeias de caracteres (strings) Caracteres Definição e manipulação de strings Vetor de strings Parâmetros

Leia mais

Introdução à Programação com Classes em C++

Introdução à Programação com Classes em C++ 1 FEUP/LEEC/AED/2001-2002 Introdução à Programação com Classes em C++ João Pascoal Faria http://www.fe.up.pt/~jpf FEUP/LEEC/AED/ 2000-2001 Conceito de classe em C++ 2 Classe em sentido lato: tipo de dados

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Listas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br. BCC202 Aula 10 Algoritmos e Estruturas de Dados I

Listas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br. BCC202 Aula 10 Algoritmos e Estruturas de Dados I Listas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 10 Algoritmos e Estruturas de Dados I Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento

Leia mais

Vectores em C++ Classe vector: Introdução

Vectores em C++ Classe vector: Introdução Vectores em C++ FEUP - MIEEC Programação 2-2008/2009 Classe vector: Introdução A classe vector é uma alternativa à representação de array primitivo Template de classe necessário especificar o tipo dos

Leia mais

Filas: conceitos e implementações

Filas: conceitos e implementações Estrutura de Dados I Filas: conceitos e implementações Cesar Rocha cesar@pontoweb.com.br 1 Objetivos Explorar os conceitos fundamentais acerca do uso de filas utilizando a linguagem C Organização e implementação,

Leia mais

Tipo de Dados em Linguagem C

Tipo de Dados em Linguagem C Tipo de Dados em Linguagem C Principais tipos de dados em C int : tipo de dados inteiros (exemplo: 1, -3, 100, -9, 18, etc.) float : tipo de dados reais (exemplo: 1.33, 3.14, 2.00, -9.0, 1.8, etc.) Ocupa

Leia mais

Sumário. Parte I Filosofia e Modelagem Orientada a Objetos... 23

Sumário. Parte I Filosofia e Modelagem Orientada a Objetos... 23 Sumário Prefácio... 17 Sobre o livro... 18 Como fazer download dos arquivos-fonte... 19 Como ler este livro... 19 Experiência do autor... 21 Parte I Filosofia e Modelagem Orientada a Objetos... 23 Capítulo

Leia mais

Tabela ASCII de caracteres de controle

Tabela ASCII de caracteres de controle Caracteres Estruturas de Dados Aula 6: Cadeias de Caracteres 31/03/2010 Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 27 de setembro de 2018 Marco Antonio

Leia mais

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO Curso: Engenharia de Computação e Ciência da Computação Data: 10/09/2013 Disciplina: Programação Estruturada Valor: 3,0 pontos Professor: Henrique Monteiro Cristovão Nota: Aluno: Prova resolvida 4ª Prova

Leia mais

Aula 07. Estruturas de dados Lista, Pilha, Fila Pair, Map, Set e Bitset

Aula 07. Estruturas de dados Lista, Pilha, Fila Pair, Map, Set e Bitset Logo Aula 07 Estruturas de dados Lista, Pilha, Fila Pair, Map, Set e Bitset 2 Estrutura de Dados Estrutura de dados já foi vista em vetores, que foi uma maneira de manipular várias informações (variáveis

Leia mais

Ordenação. Prof. Túlio A. M. Toffolo Prof. Marco Antonio M. Carvalho BCC402 Aula 04 Algoritmos e Programação Avançada

Ordenação. Prof. Túlio A. M. Toffolo Prof. Marco Antonio M. Carvalho   BCC402 Aula 04 Algoritmos e Programação Avançada Ordenação Prof. Túlio A. M. Toffolo Prof. Marco Antonio M. Carvalho http://www.toffolo.com.br BCC402 Aula 04 Algoritmos e Programação Avançada Aplicações Como testar se todos os elementos de um conjunto

Leia mais

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Linguagem C Tipos de Dados void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Funções void void pode ser usado em lugar de um tipo, para indicar a ausência de valor

Leia mais

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada

Leia mais

INTRODUÇÃO À LINGUAGEM C++

INTRODUÇÃO À LINGUAGEM C++ INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 02 Introdução a Linguagem C Edirlei Soares de Lima Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para

Leia mais

String em C++ Verificando o tamanho da string

String em C++ Verificando o tamanho da string String em C++ Uma das formas de se manipular cadeias de caracteres, também chamadas de strings em C+ + é armazená-las como vetores de char. Esta é a forma tradicional utilizada pela linguagem C. Então,

Leia mais

SCC-210 Algoritmos Avançados

SCC-210 Algoritmos Avançados SCC-210 Algoritmos Avançados Capítulo 3 Strings João Luís G. Rosa Strings & Códigos de Caracteres Caracteres são representados por códigos. Códigos de caracteres: Mapeamento símbolo (em um dado alfabeto)

Leia mais

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

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2012-1 LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2012-1 Objetivos Entender o mecanismo de um programa em C/C++ Apresentar e estrutura da Linguagem C/C++

Leia mais

Estrutura de Dados. Prof. Gustavo Willam Pereira. Créditos: Profa. Juliana Pinheiro Campos

Estrutura de Dados. Prof. Gustavo Willam Pereira. Créditos: Profa. Juliana Pinheiro Campos Estrutura de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos ESTRUTURAS DE DADOS Ementa Introdução à Linguagem C. Recursividade. Alocação dinâmica de memória. Conceito de tipos

Leia mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu. Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração

Leia mais

Programação de Computadores Primeiros Passos Práticos em C++

Programação de Computadores Primeiros Passos Práticos em C++ Programação de Computadores Primeiros Passos Práticos em C++ Alan de Freitas! Marco Antonio Carvalho Compilação de Programas O compilador é o responsável por transformar nosso código em um programa propriamente

Leia mais

Estruturas de Dados Aula 15: Árvores 17/05/2011

Estruturas de Dados Aula 15: Árvores 17/05/2011 Estruturas de Dados Aula 15: Árvores 17/05/2011 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo

Leia mais

O COMPUTADOR. Introdução à Computação

O COMPUTADOR. Introdução à Computação O COMPUTADOR Introdução à Computação Sumário O Hardware O Software Linguagens de Programação Histórico da Linguagem C Componentes Básicos do Computador O HARDWARE: O equipamento propriamente dito. Inclui:

Leia mais

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

Introdução a POO. Introdução a Linguagem C++ e POO Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes

Leia mais

CAPÍTULO 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO C

CAPÍTULO 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO C PREFÁCIO AO LEITOR A Importância de C Público-alvo ESCOPO DO LIVRO ORGANIZAÇÃO DO LIVRO Volume I Volume II COMO USAR O LIVRO Recomendações ao Aprendiz Recomendações ao Instrutor MATERIAL COMPLEMENTAR Hardware

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação CP41F Conversão de tipos. Alocação dinâmica de memória. Recursão. Aula 16 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia de Computação

Leia mais

Universidade Federal de Mato Grosso do Sul. Standard Template Library (STL)

Universidade Federal de Mato Grosso do Sul. Standard Template Library (STL) Universidade Federal de Mato Grosso do Sul Facom - Faculdade de Computação Linguagem de Programação Orientada a Objetos Prof. Me. Liana Duenha Standard Template Library (STL) 1 Introdução A Standard Template

Leia mais

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa

Leia mais

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

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores Introdução à Programação Armazenamento de Grande Quantidade de Informação Usando Vetores Armazenando Grande Quantidade de Informação Como armazenar tanta informação? Vetores! 2 Tópicos da Aula Hoje, aprenderemos

Leia mais

Pilhas. Profa Morganna Diniz

Pilhas. Profa Morganna Diniz Pilhas Profa Morganna Diniz Pilhas Geralmente pilhas são úteis em situações em que dados devem ser recuperados em ordem inversa a do armazenamento É uma estrutura de dados linear que permite acesso por

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

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).

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). Cast (conversão) Um tipo de dado pode ser convertido momentaneamente em outro tipo com um cast. Em linguagem C a sintaxe usada é formada pelo tipo desejado entre parênteses precedendo a expressão a ser

Leia mais

Variáveis e Comandos de Atribuição

Variáveis e Comandos de Atribuição BCC 201 - Introdução à Programação Variáveis e Comandos de Atribuição Guillermo Cámara-Chávez UFOP 1/47 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c e s s a d o r > < d e c l

Leia mais

LINGUAGEM C. Estrutura básica de um programa

LINGUAGEM C. Estrutura básica de um programa LINGUAGEM C Estrutura básica de um programa Um programa em linguagem C é constituído por uma sequência de funções (módulos) que em conjunto irão permitir resolver o problema proposto. Estas funções contêm

Leia mais

AULA 1: PARADIGMAS DE PROGRAMAÇÃO

AULA 1: PARADIGMAS DE PROGRAMAÇÃO 1 AULA 1: PARADIGMAS DE PROGRAMAÇÃO Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Ementa 2 Programação Imperativa. Programação Paralela e Concorrente. Programação Lógica. Programação Funcional.

Leia mais

Estruturas de Informação. Biblioteca STL. Departamento de Engenharia Informática (DEI/ISEP) Fátima Rodrigues

Estruturas de Informação. Biblioteca STL. Departamento de Engenharia Informática (DEI/ISEP) Fátima Rodrigues Estruturas de Informação Biblioteca STL Departamento de Engenharia Informática (DEI/ISEP) Fátima Rodrigues mfc@isep.ipp.pt Programação Genérica Generic programming is a subdiscipline of computer science

Leia mais

INFORMÁTICA E COMPUTAÇÃO CMP 1060 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1

INFORMÁTICA E COMPUTAÇÃO CMP 1060 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1 INFORMÁTICA E COMPUTAÇÃO CMP 1060 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1 Os programas que vimos até agora têm a seguinte estrutura: main( ) declarações instrução 1 instrução 2 instrução 3... instrução

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para

Leia mais

Roteiro de estudos para maratona de. Autores: André Luís Tibola Guilherme Fickel

Roteiro de estudos para maratona de. Autores: André Luís Tibola Guilherme Fickel Roteiro de estudos para maratona de programação Autores: André Luís Tibola Guilherme Fickel Versão 0.3 17 de maio de 2010 2 Sumário 1 Introdução 5 1.1 Estrutura do livro................................

Leia mais

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Pilhas Filas Deques Pilhas,,f filas e deques Vimos que as listas lineares admitem inserção e eliminação

Leia mais

Trabalho 3: Agenda de Tarefas

Trabalho 3: Agenda de Tarefas INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma

Leia mais

Fila de Prioridade. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC 5710 - Estruturas de Dados - 2008

Fila de Prioridade. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC 5710 - Estruturas de Dados - 2008 MAC 5710 - Estruturas de Dados - 2008 Fila de prioridade Fila de prioridade é uma estrutura de dado que mantém uma coleção de elementos, cada um com uma prioridade associada. Valem as operações seguintes.

Leia mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

Primeiro Curso de Programação em C 3 a Edição

Primeiro Curso de Programação em C 3 a Edição Edson Luiz França Senne Primeiro Curso de Programação em C 3 a Edição Visual Books Sumário Prefácio da Terceira Edição 9 Prefácio da Primeira Edição 11 Aula 1 13 Regras de sintaxe de uma linguagem de programação...

Leia mais

14.1 Vetor - Problemas

14.1 Vetor - Problemas Problema 14: Um método de Criptografia consiste em substituir as letras de uma mensagem através do emparelhamento de alfabetos tal como dado abaixo. Construir um programa que codifica mensagens usando

Leia mais

Programação Orientada a Objetos C++

Programação Orientada a Objetos C++ Programação Orientada a Objetos em C++ Sumário Histórico Comparação com Java Encapsulamento Tratamento de classes e objetos Herança Polimorfismo Histórico Desenvolvido por Bjarne Stroustrup dos Bell Labs

Leia mais

PCS 3111 - LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA

PCS 3111 - LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia de Computação e Sistemas Digitais PCS - LABORATÓRIO DE PROGRAMAÇÃO ORIENTADA A OBJETOS PARA A ENGENHARIA ELÉTRICA EXERCÍCIO PROGRAMA

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

Prof. Marco Antonio M. Carvalho

Prof. Marco Antonio M. Carvalho Prof. Marco Antonio M. Carvalho Lembretes Lista de discussão Endereço: programaacao@googlegroups.com Solicitem acesso: http://groups.google.com/group/programaacao Página com material dos treinamentos http://www.decom.ufop.br/marco/extensao/obi/

Leia mais

Linguagem de Programação C

Linguagem de Programação C ICMC USP Linguagem de Programação C Aula: Funções em C Prof Alneu de Andrade Lopes MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente em vários subproblemas MODULARIZAÇÃO

Leia mais

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade Orientação a Objetos Conceitos Iniciais Introdução a Linguagem Java Gil Eduardo de Andrade Conceitos: Orientação a Objeto Introdução Abordagem típica no desenvolvimento de sistemas complexos; Consiste

Leia mais

Convertendo Algoritmos para a Linguagem C

Convertendo Algoritmos para a Linguagem C onvertendo Algoritmos para a Linguagem Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan O objetivo deste texto é mostrar alguns programas em, dando uma breve descrição de seu funcionamento

Leia mais

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4 INF1 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4 1. Considere uma aplicação que utiliza pontos, retângulos e círculos para representações gráficas. Um ponto é composto pelas suas coordenadas x e y, um retângulo

Leia mais

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05 IFTO LÓGICA DE PROGRAMAÇÃO AULA 05 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://lab.ifto.edu.br/~mcampos http://manoelcampos.com

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos 1 Manipulação de Arquivos Para realizar E/S em arquivo, você precisa incluir o arquivo-cabeçalho fstream.h nos programas. Esse arquivo define muitas classes e valores importantes. Abrindo e fechando um

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

Leia mais

Linguagem C Funções definidas pelo usuário. Lógica de Programação

Linguagem C Funções definidas pelo usuário. Lógica de Programação Linguagem C Funções definidas pelo usuário Lógica de Programação Caro(a) aluno(a), Trabalharemos agora com as funções criadas por vocês na Linguagem C. Bom trabalho!!! Funções C permite que o programador

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Standard Template Library (STL) Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Standard Template Library Biblioteca padronizada de funções Oferece um

Leia mais

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

Estruturas de Dados. Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos Estruturas de Dados Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos Estruturas de Dados Programação de Computadores 1 de 26 Tipos Estruturados de Dados

Leia mais

Curso de Linguagem C

Curso de Linguagem C Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...

Leia mais

Algoritmos de Pesquisa e Ordenação em Vectores

Algoritmos de Pesquisa e Ordenação em Vectores Algoritmos de Pesquisa e Ordenação em Vectores FEUP - MIEEC Programação 2-2008/2009 Pesquisa Sequencial Problema (pesquisa de valor em vector): Verificar se um valor existe no vector e, no caso de existir,

Leia mais

Programação Estruturada I

Programação Estruturada I Programação Estruturada I Introdução a Linguagem C Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2 1 thiago.tavares@ifsuldeminas.edu.br 2 mateus.santos@ifsuldeminas.edu.br Última Atualização:

Leia mais

Programação e Sistemas de Informação

Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Programação e Sistemas de Informação REVISÕES 1 Conteúdos Introdução Declaração de strings Atribuição de valores a strings

Leia mais

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti ESTRUTURAS DE DADOS I Notas de Aula 1 SUMÁRIO 1. INTRODUÇÃO... 2 1.1 Array (vetores)... 2 2. BUSCA DE ELEMENTOS... 3 2.1 Busca Seqüencial... 3 2.2 Busca Binária... 3 2.3 Busca Indexada... 3 2.4 Busca Hash...

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Linguagem de Programação C 2 1 Linguagem de Programação C Os programas em C consistem em

Leia mais

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade Page 1 podem ser comparadas com arrays, visto que também apresentam a capacidade de armazenar referências para vários objetos. Entretanto, as coleções apresentam uma gama de funcionalidades bem maior do

Leia mais

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

Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEFINIDOS PELO USUÁRIO Prof. Protásio DEE UFPB 1 Estruturas É uma coleção de variáveis que são referenciadas sob um único nome. Uma estrutura fornece

Leia mais

O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/2012 1 / 31

O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/2012 1 / 31 O comando switch c Professores de ALPRO I Faculdade de Informática PUCRS 04/2012 ALPRO I (FACIN) O comando switch 04/2012 1 / 31 Sumário 1 Relembrando... 2 Comando de Seleção (Parte III) Menus e o comando

Leia mais