RESUMO DA DISCUSSÃO SOBRE LINGUAGENS DE PROGRAMAÇÃO DO DIA 26 DE OUTUBRO DE 2006
|
|
- Micaela Belmonte Fartaria
- 7 Há anos
- Visualizações:
Transcrição
1 Universidade Federal do Rio Grande do Sul Instituto de Informática Bacharelado em Ciência da Computação Disciplina de Modelos de Linguagens de Programação Profa. Dra. Érika Cota RESUMO DA DISCUSSÃO SOBRE LINGUAGENS DE PROGRAMAÇÃO DO DIA 26 DE OUTUBRO DE 2006 Carlos Eduardo Ramisch Flávio Brun Francieli Zanon Boito Márcio Rocha Zacarias Sandra Kniphoff Santos
2 1. Aspectos sobre o C++: TIPOS DA LINGUAGEM: C++ possui os seguintes tipos primitivos de linguagem: char - 8 ou mais bytes - Usado para armazenar caracteres ASCII ou números inteiros entre 0 e signed char - Equivalente a char, com alcance -127 a unsigned char - Equivalente a char, com alcance 0 a 255. short - 16 ou mais bytes - Usado para armazenar números inteiros entre e Os seguintes tipos são equivalentes a short: short int, signed short, signed short int. unsigned short - Equivalente a short, porém no caso do modificador unsigned, a cobertura vai de 0 a Equivalente a unsigned short int. int - 16 ou mais bytes - Representa geralmente o tamanho da palavra de máquina. Equivale a signed ou signed int. Armazena inteiros na faixa de a unsigned int - Armazena inteiros, como int, porém a cobertura é de 0 a long - 32 ou mais bytes, armazena inteiros entre e Possui os seguintes nomes equivalentes: long int, signed long, signed long int. unsigned long - O modificador unsigned muda a cobertura do long para o intervalo de 0 a bool - Tamanho depende da implementação, pode armazenar os valores true (verdadeiro) e false (falso). Representa uma escolha booleana (este tipo é uma extensão do C, e não um tipo legado. Isto significa que a linguagem C não possui o tipo primitivo bool.) wchar_t - Tamanho depende da implementação, pode armazenar caracteres grandes (que ocupam mais de um byte, ou seja, não ASCII). Não se recomenda operações inteiras com esse tipo. float - 8 bytes ou mais. Usado para representar números reais com poucos bytes. Não é
3 necessariamente implementado como precisão simples da IEEE. Não pode ser modificado pela palavra unsigned. double - É geralmente maior que um float, é o tipo de ponto flutuante mais freqüentemente usado. Também não pode ser unsigned. long double - Como double, porém geralmente maior. Os tipos estruturados disponíveis para o programador C++ são os seguintes: struct - É equivalente a um registro com tipos heterogêneos. O tamanho de uma struct é maior ou igual à soma dos tamanhos de seus membros. Recomenda-se usar classes ao invés de registros quando o tipo declarado tiver muitos membros. class - Tipo usado para implementar orientação a objetos, é semelhante a uma struct porém possui métodos (funções membro) de acesso aos dados (nas struct apenas é possível declarar ponteiros para funções mas nenhuma proteção é garantida). Numa classe, os dados podem ser protegidos. union - Tipo que pode guardar objetos de tipos diferentes em uma mesma variável. Dessa forma, durante a execução, não é possível verificar o tipo de uma union, o que acaba enfraquecendo o sistema de tipos da linguagem. Structs, classes e unions são ditos tipos agregados. enum - Enum é um tipo especial, implementado como inteiro, que representa uma enumeração de valores com uma ordem implícita. São úteis para aumentar a abstração e legibilidade do código. typedef - Palavra-chave para definir um sinônimo para um tipo. template - Tipo que permite a implementação de polimorfismo paramétrico. Um template permite que se construa estruturas de dados independentes do tipo contido. ponteiro (*) - Um ponteiro nada mais é que um apontador para uma área de memória. Quando se define o ponteiro, deve-se também definir o tipo da área apontada por ele. A área de memória pode ser tanto uma variável quanto uma função. referência (&) - Uma referência é implementada como um ponteiro, porém não exige derreferenciação. Com uma referência, é mais difícil de se criar ponteiros oscilantes e ponteiros inválidos. array ([n]) - Um array é um vetor com n elementos do mesmo tipo. Para se inicializar um array, coloca-se o tipo do elemento seguido de colchetes, e entre os colchetes o número inteiro que representa o tamanho do mesmo. Arrays em C++ têm o índice inicial 0. Arrays e ponteiros só são compatíveis em situações especiais.
4 função (id(param)) - Uma função pode ser definida como um tipo porque pode ser apontada e armazenada em uma variável. Funções serão discutidas mais adiante. ponteiro para membro (::*) - Um ponteiro para um membro é exatamente um apontador para um membro de um tipo agregado. Sobre esses tipos, podem ser usadas diversas operações, que são descritas abaixo através de uma listagem de operadores. As operaçõs estão listadas em ordem decrescente de precedência: :: - Operação de resolução de escopo. Permitida apenas para tipos agregados. Não é associativa. ++ e -- - Operação que incrementa ou decrementa variável depois que ela foi avaliada. Todas as variáveis de tipo primitivo. () - Chamada de função com parâmetros. Somente para funções. [] - Acesso ao índice de uma array. Somente para arrays.. - Seleção de membro de tipo agregado. Somente para tipos agregados. -> Seleção de membro de apontador para tipo agregado, derreferenciando o apontador de tipo agregado antes de acessar o membro. Somente para ponteiros para tipos agregados. ++ e -- - Operação que incrementa ou decrementa variável antes de ela ser avaliada. Todas as variáveis de tipo primitivo. + e - Mais e menos unários. Indicam o sinal de uma variável de tipo básico.! e ~ - Negação lógica e bit-a-bit, respectivamente. Somente tipos primitivos. (tipo) - Conversão explícita de tipo (Cast). Pode ser usada para qualquer tipo. * - Derreferenciação de conteúdo de ponteiro. Aplica-se a ponteiros. & - Referenciação de uma variável. Aplica-se a todos os tipos. sizeof - Retorna o número de bytes ocupados por uma variável. Aplica-se a todos os tipos. new - Aloca uma área de memória para uma variável. Aplica-se para todos os tipos, exceto funções. delete - Destrói um ponteiro, desalocando a área de memória por ele ocupada.
5 .* e ->* - Acesso a ponteiro para membro de tipo agregado. *, / e % - Multiplicação, divisão e módulo para tipos primitivos. + e - - Adição e subtração para tipos primitivos. >> e << - Operação de deslocamento bit-a-bit. Tipos permitidos: primitivos. <, <=, > e >= - Operador de comparação, retorna tipo booleano. Aplicável para tipos primitivos. ==,!= - Comparação de igualdade e diferença entre tipos primitivos. & - Conjunção bit-a-bit. Tipos primitivos. ^ - Ou exclusivo bit-a-bit. Tipos primitivos. - Disjunção bit-a-bit. Tipos primitivos. && - Conjunção lógica. Aplicável a tipos primitivos. - Disjunção lógica. Aplicável a tipos primitivos. c?t:f - Condicional ternário, c deve ser de tipo primitivo. = - Atribuição. Aplicável a todos os tipos. += e -= - Atribuição do left value somado/subtraído da explessão. Aplicável a tipos primitivos. %=, *= e /= - Atribuição do left value módulo/vezes/dividido pela explessão. Aplicável a tipos primitivos. <<= e >>= - Atribuição do left value deslocado bit a bit pela explessão. Aplicável a tipos primitivos. &=, ^= e = - Atribuição do left value and/xor/or bit a bit com a explessão. Aplicável a tipos primitivos. Os únicos operadores que não podem ser sobrecarregados por polimorfismo ad-hoc (ou seja, sobrecarga de operadores) são sizeof, o condicional ternário e a resolução de escopo. Os operadores de pós incremento, chamada de função, índice de array, seleção de membro, operaçõs aritméticas, lógicas e de bits binárias e comparações booleanas possuem associatividade da esquerda para a direita.
6 Já o condicional ternário, as atribuições, o pré-incremento, os sinais unários, a negação lógica e de bit, o derreferenciador e referenciador, os operadores de tamanho, alocação e desalocação possuem associatividade da direita para a esquerda. O modelo de alocação de variáveis do C++ é por valor. Quando se passa um parâmetro para uma função, sua alteração não é refletida no exterior. No caso dos ponteiros, a área de memória por ele apontada pode ser modificada, mas não seu valor. Apenas tipos referência são passados por referência no modelo de C++. A atribuição em C++ de tipos primitivos é feita por cópia, ou seja, é "deep". Para tipos estruturados, a cópia é feita por referência, ou seja, ela é "shallow". Da mesma forma para a igualdade. A tipagem do C++ é estática, ou seja, é necessário declarar os tipos das variáveis no código, não havendo sistema de inferência de tipos. A verificação de tipos é feita em tempo de compilação. A tipagem do C++ é fraca. Em primeiro lugar, é importante relembrar o conceito de tipagem fraca e forte. Uma linguagem fracamente tipada é aquela na qual nem todo erro de tipo pode ser detectado. No caso do C++, o problema é explícito nas unions. Um acesso a membro de uma union pode ser feito através dos vários tipos declarados na mesma. Dessa forma, é impossível verificar se um dado do tipo t1 está sendo acessado como do tipo t2 se a union permitir ambos os tipos. Além disso, o C++ oferece coerção automática de tipos primitivos em que o tipo de destino é maior ou igual ao de origem (pois o contrário resulta em perda de informação). Essa coerção permite que um caractere seja acessado como um inteiro, por exemplo, e esse erro de tipo também não pode ser detectado. Apesar disso, essa é uma escolha da linguagem para flexibilizar a programação, abrindo mão da segurança. Como dito anteriormente, C++ possui tanto conversão explícita quanto coerção. A conversão explícita se dá por meio do chamado "cast", em que o tipo de destino é posto entre parênteses. Para classes, o cast pode ser feito de diversas maneiras. O cast dinâmico é usado para ponteiros e referências de classes derivadas para as suas bases. O cast estático realiza a conversão em ambos os sentidos, seja de base para derivada, seja da derivada para a base. O cast de reinterpetação muda o tipo de uma área de dados apontada por um ponteiro. Por fim, o cast constante muda o modificador const de uma variável. Uma variável que pode ser alterada se torna constante por meio desse cast. A coerção é feita entre tipos básicos, desde que não haja perda de informação por arredondamento (como dito anteriormente). O arredondamento explícito é feito por meio de cast. Entre tipos estruturados, a coerção entre ponteiros e arrays também é feita automaticamente na passagem de parâmetros e no acesso a indices de arrays. A linguagem C++, como dito anteriormente, não possui inferência de tipos. As
7 questões de equivalência de tipos são baseadas no modelo de equivalência por nome. Duas estruturas são equivalentes se tiverem os mesmos membros na mesma ordem e com os mesmos nomes. Tipos sinônimos são equivalentes. A equivalência de estrutura é usada de maneira limitada apenas para tipos anônimos. Quanto à compatibilidade, os tipos básicos são compatíveis quando obedecem às regras de coerção definidas acima. Os tipos estruturados são compatíveis com os seus subtipos, isto é, classes base são compatíveis com as suas derivadas. O C++ possui todos os tipos de polimorfismo. O polimorfismo ad-hoc pode ser implementado na forma de sobrecarga de operadores e funções. A sobrecarga dos mesmos permite que se declare identificadores iguais com parâmetros de tipos diferentes, com semânticas diferentes associadas. Os operadores que podem ser sobrecarregados já foram citados. O polimorfismo paramétrico está presente na forma de templates. Num template (ou gabarito), pode-se definir uma estrutura que trabalhe sobre um tipo genérico. Dessa forma, o tipo que essa estrutura manipula pode ser substituído por qualquer outro que seja necessário. Na implementação, uma cópia é criada para cada um dos usos do template. O polimorfismo dinâmico está presente em C++ porque ele é orientado a objetos. Um exemplo é que, em C++, quando uma classe base implementa uma função e a classe filha implementa a mesma função, o compilador resolve o conflito buscando a implementação da classe pai mais acima. Quando se quer que ele use a função da classe derivada, usa-se a palavra-chave virtual antes da função. Quando se quer obrigar uma classe derivada a implementar uma função virtual, elimina-se o corpo da função na classe base, colocando-se um "=0" ao final da declaração. Quanto à abstração, o C++ possui as classes, que permitem que se "esconda" os dados através dos modificadores public, protected e private. Eles possuem a mesma semântica que nas demais linguagens de programação OO. Esses modificadores em classes permitem um grande encapsulamento dos dados (melhor que o dos registros, por exemplo) e aumenta o grau de abstração. Quanto à modularidade, o C++ não oferece pacotes, como o Java, por exemplo, mas oferece o conceito de funções "amigas" (palavra-chave friend). Uma função amiga é uma função privada que só pode ser acessada externamente por determinadas classes. Dessa forma, o conjunto das classes amigas acaba formando um "pacote", aumentando a odularidade. O conceito de funções amigas é mais flexível que os pacotes, pois permite maior acoplamento. Por outro lado, o aumento do acoplamento pode acabar prejudicando a modularidade no sentido de que modificações em um módulo afetam mais os demais módulos do que num sistema fracamente acoplado. Por esse motivo, é recomendável não abusar das funções amigas, mantendo pacotes logicamente acoplados e separando os pacotes logicamente independentes. Os tipos abstratos de dados do C++ são as classes. O suporte a OO do C++ é
8 proveniente do seu suporte a TADs, do suporte à ligação dinâmica e também da herança. A herança é o conceito pelo qual uma classe derivada herda propriedades da classe base. Dessa forma, ela não precisa redeclarar os membros da base, podendo-se fazer um melhor reuso de código. Herança também é uma ferramenta fundamental na modularização do C Resumo geral sobre as demais linguagens apresentadas SMALLTALK: Todas as coisas são objetos, logo não há tipos primitivos. Os tipos estruturados e abstratos são representados pelas classes. Atribuição e comparação é por padrão deep, no entanto, há a opção de o usuário optar por shallow. As operações permitidas sobre os dados (objetos) são as pré-definidas em sua classe. Possui tipagem dinâmina e fraca, e a conversão entre tipos muitas vezes é feita de forma implícita. Os polimorfismo possível na linguagem é o ad-hoc. Não é permitido o paramétrico e o dinâmico o grupo não soube responder. Seus Tipos Abstratos de Dados são as classes e seus atributos são privados. RUBY: Da mesma forma que no Smalltalk, não há tipos primitivos, pois tudo é objeto. Possui uma classe Array pré-definida. As operações permitidas para os tipos também são as pré-definidas em suas classes. Permite redefinição de operados. Possui tipagem dinâmica e forte. Variáveis por modelo de referência e atribuição e comparação shallow. A linguagem realiza sobrecarga em tempo de execução, a inferência de tipos é estática e possui suporte para abstração, possuindo encapsulamento privado e as TADs sendo as classes. A linguagem emula Herança múltipla, copiando o método desejado dos múltiplos pais para dentro da nova classe. VHDL: Os tipos primitivos são os escalares. Possui ainda tipos compostos (array, record, etc), enumeração, arquivos, subtipos (de tipos definidos pelo usuário. Para esse tipo não é necessária conversão explícita). Signals podem ser declarados, mas não é considerado um tipo, mesmo porque um signal deve ter um tipo entre os demais já citados. Registros podem receber listas de parâmetros (contanto que na ordem e tipo corretos). Arrays podem ser operados logicamente, mas apenas se forem do mesmo tipo. Todas as conversões entre tipos são feitas explicitamente, através de casting. Modelo de variáveis por valor. Realiza coerção de tipos próximos, desde que possível (ex.: Real p/ inteiro), possui 4 níveis de abstração e não foi comentado sobre a possibilidade de polimorfismos.
9 VERILOG: Seu tipo primitivo é o signal. De resto, possui todos os mesmos tipos que o VHDL, mas não define variáveis numéricas reais, apenas inteiras. As operações permitidas são as básicas sobre inteiros, vetores, bits. As mais comuns são as lógicas. Modelo de variáveis por valor, no entanto existe uma extensão que utiliza o modelo por referência. Possui mecanismos de sobrecarga de operadores, não possui tipos abstratos de dados, tem uma abstração própria e uma alta modularidade, sendo definida como Tudo é módulo. CLIPPER: Possui apenas tipos primitivos e arrays. Além da string, que possui tamanho fixo, existe o tipo memo, que é uma string de tamanho maior. Como o seu propósito é acesso a banco de dados, não faz sentido permitir criação de tipos definidos pelo usuário. É fortemente e dinamicamente tipada. Todas as conversões devem ser feitas de forma explícita. OBJECT PASCAL: Possui tipos primitivos (caracter, inteiros, reais, booleanos, etc) e estruturados (classe, set, registro, arquivo, array,...). Atribuição e comparação são implementadas deep para tipos primitivos, porém shallow para ponteiros. Possui tipagem e inferência estática e forte. Realiza coerção apenas entre tipos compatíveis, todas as demais conversões devem ser feitas de forma explícita, através de funções de conversão. Modelo de variáveis por valor para tipos primitivos e por referência para ponteiros. Possui suporte para todo tipo de abstração, as classes e também templates, atributos e métodos podem ser private ou public e possui herança múltipla. PERL: Seus tipos são escalares, vetores e vetores associativos. Possui tipagem dinâmica e fraca. Gerenciamento de tipos e conversões automáticos, fazendo com que erros de tipo sejam quase que inexistentes. Possui um fraco suporte à orientação a objetos. Possui apenas o polimorfismo paramétrico e alta modularidade, contando também com mecanismos para Herança Múltipla. Abstração de pacotes, não possui palavras chaves para definir visibilidade (public, static, private...). SCHEME: Seus tipos primitivos são inteiro, caracter, booleano e ponto-flutuante. Seu tipo estruturado é a lista estruturada. Permite algumas operações sobre listas, como obter o primeiro elemento, o último, testar se é vazia, etc. Atribuição e comparação shallow. Possui tipagem dinâmica e forte. Não possui suporte para abstração e nada foi dito a respeito de polimorfismos.
10 FORTRAN: Tipos primitivos número, caracter, real, etc. Possui várias operações sobre arrays e possui ponteiros a partir do Fortran 90. A partir do fortran 2003, sua última versão, começou a ter suporte para orientação a objetos (TADs, modularidade...) e também polimorfismo (não sabem qual) e tipagem dinâmica. 3. Questões sobre C++ levantadas durante o debate: A coerção automática de tipos primitivos enfraquece a tipagem da linguagem? Um exemplo da situação descrita seria uma variável do tipo char ser acessada como um inteiro. Nesse caso, não é gerado erro nem em tempo de execução nem compilação, o que caracteriza uma linguagem fracamente tipada. Isso é uma escolha da linguagem para flexibilizar a programação, logo é tida como premissa que se o programador usou coerção de tipos, ele sabe o que está fazendo. Porém, é claro que isso diminui a segurança da linguagem. Na bibliografia, os autores divergem quanto à essa questão, enquanto alguns afirmam que, por ser uma escolha da linguagem, ela não pode ser considerada fracamente tipada, outros pensam o contrário. As operações sobre os tipos das linguagens são definidas nas classes, pelo programador, ou pré-definidas pela linguagem? As operações são todas pré-definidas pela linguagem, mas algumas podem ser sobrecarregadas pelas funções membro (métodos). O que for definido dentro da classe não pode ser considerada como operação e sim como uma declaração de função. A inicialização de uma variável pode ser feita em qualquer lugar do código? Sim, tanto a declaração quanto a inicialização podem ser feitas em qualquer lugar do código, uma das características que aumentam a flexibilidade de C++. Umas das inovação do C++ com relação ao C é a possibilidade de declarar e inicializar variáveis dentro do cabeçalho de um laço for. A linguagem permite polimorfismo dinâmico? Como foi explicado anteriormente, C++ suporta polimorfismo dinâmico, que é uma característica de todas as linguagens orientadas a objetos. Polimorfismo dinâmico é aquele no qual uma classe derivada implementa o mesmo método que a sua classe de origem, com os mesmos parâmetros. O compilador de C++ resolve polimorfismo dinâmico assumindo como padrão a implementação da classe pai. Para possibilitar que o método usado esteja na classe filha, usa-se o método virtual.
11 REFERÊNCIAS: C++ - Wikipedia, the free encyclopedia. Disponível em: C++ Programming/Data Types Reference - Wikibooks, collection of open-content textbooks. Disponível em: Operators in C and C++ - Wikipedia, the free encyclopedia. Disponível em: Type Casting. Disponível em:
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 maisVerificação de Tipo. Unions. Verificação de tipo estática. Verificação de tipo dinâmica
Verificação de Tipo Atividade que certifica que os operandos de um operador são de tipos compatíveis. São considerados operadores e operandos: operadores usuais (aritméticos, relacionais, etc) subprogramas
Leia maisFACULDADE BATISTA MINEIRA - CST Banco de Dados Estruturas de Dados - Variáveis
Variável, na Matemática, é um termo utilizado em substituição de outro, normalmente, desconhecido. É utilizado para representar um número ou um conjunto. No contexto da programação de computadores, uma
Leia maisAlgoritmos II prof. Daniel Oliveira
Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional
Leia maisCapítulo 7. Expressões e Sentenças de Atribuição
Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 2 Expressões Combinação de dados e operadores que resulta em um valor. expressão x = 2 * y + 4; variável operador constante Memória do computador
Leia maisComputação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa
Computação Eletrônica Tipos de dados, constantes, variáveis, operadores e expressões Prof: Luciano Barbosa Site da disciplina: www.cin.ufpe.br/~if165/ Recapitulando num cubo = n * n * n cubo Algoritmo
Leia maisParadigmas 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 maisIntrodução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados
Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados Disciplina de Programação de Computadores I Universidade Federal de Ouro
Leia maisTipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Leia maisTipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Leia maisConceitos de Linguagens de Programação - Características. Paavo Soeiro
Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Leia maisParadigmas de Linguagens de Programação. Expressões e Instruções de Atribuição
Expressões e Instruções de Atribuição Cristiano Lehrer Introdução Expressões são o meio fundamental de especificar computações em uma linguagem de programação: Familiarização com as ordens de avaliação
Leia maisParadigmas de Programação
Paradigmas de Programação Aula 6 Nomes, Vinculações, Verificação de Tipos e Escopos Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Introdução As linguagens de
Leia maisPROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S
PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é
Leia maisEXPRESSÕ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 maisProgramação Estruturada
Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada
Leia maisTipos. O Conceito de Tipo
Tipos mleal@inf.puc-rio.br 1 O Conceito de Tipo LPs geralmente permitem a organização de dados em diferentes categorias através do conceito de tipo. Um tipo é definido a partir de um conjunto de valores
Leia mais1/50. Conceitos Básicos. Programa Básico
1/50 Conceitos Básicos Programa Básico 2/50 Operações básicas de entrada e saída #include main retorna um inteiro int main() { std::cout
Leia maisIntrodução à Linguagem C++
Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado
Leia maisTipos Primitivos, estruturas de iteração e decisão.
Tipos Primitivos, estruturas de iteração e decisão. André Luis Meneses Silva andreluis.ms@gmail.com http://br.geocities.com/programacao2ufs/ Agenda Tipos Primitivos de Dados Variáveis e Constantes es Comandos
Leia maisAnálise de Programação
Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou
Leia maisConceitos básicos de programação
Constantes class Exemplo { static void Main() { float fahr, celsius; int lower, upper, step; lower = 0; /* limite inferior da tabela de temperaturas */ upper = 300; /* limite superior */ step = 20; /*
Leia mais4. Constantes. Constantes pré-definidas
4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.
Leia maisLinguagens de Programação. Tipos. Carlos Bazilio
Linguagens de Programação Tipos Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Definições Tipos de dados primitivos: tipos de dados que não são definidos em termos de outros tipos
Leia maisProgramação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia maisOperadores e Expressões: bit-a-bit e especiais
Operadores e Expressões: bit-a-bit e especiais Objetivos Em C, OPERADORES e EXPRESSÕES podem ser classificados em cinco grande categorias: Atribuições Aritméticos Lógicos e Relacionais Bit-a-Bit Especiais
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia mais7 Operadores e Expressões
7 Operadores e Expressões 7.1 Definição de operador, expressão e operando Um operador é um símbolo utilizado para identificar que uma determinada operação deve ser realizada sobre um ou mais parâmetros,
Leia maisLinguagens de Programação Aula 8
Linguagens de Programação Aula 8 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Os tipos de dados de uma linguagem são uma grande parte do que determina o estilo e a utilidade de uma linguagem
Leia maisPROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação
Leia maisProgramação Aplicada à Engenharia
Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Programação Aplicada à Engenharia Aula 07: Aritmética e Tomada de decisão Silvio Fernandes 2009.1 1 Operadores Aritméticos Operadores
Leia maisORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO
ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO SOBRECARGA DE OPERADORES (C++) A sobrecarga de operadores ocorre quando desejamos utilizar operadores jáj conhecidos (+,-,*,/,=,+=...)
Leia maisLinguagem Java - Introdução
Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean
Leia maisParadigmas de Linguagens de Programação. Tipos de Dados Abstratos
Tipos de Dados Abstratos Cristiano Lehrer Conceito de Abstração O conceito de abstração é fundamental em programação. Quase todas as linguagens suportam abstração de processos, através de subprogramas:
Leia maisAmbientação com a Sintaxe de Java: parte 1
Ambientação com a Sintaxe de Java: parte 1 Prof. Gustavo Wagner FATEC-PB Programas em Java Texto do programa: arquivo com extensão.java Arquivo contém ao menos uma classe Nome do arquivo deve ser IGUAL
Leia maisRevisão da Linguagem C Prof. Evandro L. L. Rodrigues
SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos
Leia maisParadigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
Leia maisExpressões e Instruções de Atribuição. George Darmiton da Cunha Cavalcanti
Expressões e Instruções de Atribuição George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução Expressões Aritméticas Operadores Sobrecarregados Conversões de Tipo Expressões Relacionais
Leia maisProgramação em C++: Introdução
Programação em C++: Introdução J. Barbosa J. Tavares Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo (Knuth73v1) Ex: ordenação
Leia maisLinguagens de Programação. Marco A L Barbosa
Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl
Leia maisFundamentos de Programação
Fundamentos de Programação CP41F Operadores compostos. Operadores relacionais. Precedências. Aula 8 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia de Computação
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4
Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para
Leia maisExpressões e sentença de atribuição
Expressões e sentença de atribuição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisIntrodução à Ciência da Computação. Prof. Dr. Rogério Vargas
Introdução à Ciência da Computação Prof. Dr. Rogério Vargas http://rogerio.in O que é dado? - Defino dado como uma sequência de símbolos quantificados ou quantificáveis. - Letras são símbolos quantificados.
Leia maisGabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes
Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes Histórico Desenvolvida em 2012 por Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman Gratuita, Open Source e licenciada sob a Licença
Leia maisProgramação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Arrays e Ponteiros Arrays Estruturas de dados que
Leia maisLinguagem C Operadores
Linguagem C Operadores Objetivos Abordar os conceitos sobre os Operadores demonstrando o seu uso com exemplos para um melhor aprendizado. Pré-requisitos É necessário que o leitor tenha acompanhado o artigo
Leia maisJava Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático
Java Básico Objetivo: Os assuntos apresentados no decorrer do curso Java Básico incluem os conceitos gerais desta linguagem assim como a definição e utilização de seus recursos diversos, tais como: tipos
Leia maisProgramação Orientada a Objetos para Redes de Computadores. Arrays. Arrays
Programação Orientada a Objetos para Redes de Computadores Elias Mitre http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Arrays e Ponteiros Arrays Arrays Estruturas de dados que contêm itens
Leia maisFundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN
Fundamentos de Programação Linguagem C++ Introdução, identificadores, tipos de dados Prof. Bruno E. G. Gomes IFRN 1 Linguagem de Programação Constituída por símbolos e por regras para combinar esses símbolos
Leia maisC com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
Leia mais02. [Sebesta, 2000] Quais são as vantagens e as desvantagens dos tipos de dados decimais?
01. [Sebesta, 2000] O que é um descritor? 02. [Sebesta, 2000] Quais são as vantagens e as desvantagens dos tipos de dados decimais? 03. [Sebesta, 2000] Quais são as questões de projeto relativas aos tipos
Leia maisImplementação da programação modular I
Implementação da programação modular I - 1 Implementação da programação modular I Aula 10 Agenda Espaços de dados Tipos de dados Tipos definidos pelo usuário Imposição de tipos Objetivos Apresentar os
Leia maisProgramação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III
Programação Orientada a Objetos Alexandre César Muniz de Oliveira Métodos e Atributos Parte III Métodos [mod] tipo nome ([tipo arg]) [throws exc]{ [mod]: zero ou mais modificadores separados por espaços
Leia maisParadigmas de Linguagens de Programação. Tipos de Dados
Tipos de Dados Cristiano Lehrer Introdução (1/2) 1956: FORTRAN I 1983: ADA INTEGER, REAL, arrays. Usuário pode criar um único tipo para cada categoria de variáveis no espaço de problemas e deixar o sistema
Leia maisLinguagem C Operadora
Linguagem C Operadora Objetivos Abordar os conceitos sobre os Operadores demonstrando o seu uso com exemplos para um melhor aprendizado. Operadores Os operadores indicam ao compilador a necessidade de
Leia maisC Operadores e Expressões
C Operadores e Expressões Adriano Cruz adriano@nce.ufrj.br Instituto de Matemática Departamento de Ciência da Computação UFRJ 15 de agosto de 2013 Adriano Cruz adriano@nce.ufrj.br (IM-DCC-UFRJ)C Operadores
Leia maisParadigmas de Linguagens de Programação. Nomes, Vinculações, Verificação de Tipos e Escopos
Nomes, Vinculações, Verificação de Tipos e Escopos Cristiano Lehrer Nomes (1/6) Um nome é uma string de caracteres usada para identificar alguma entidade de um programa. O termo identificador é utilizado
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Professor: Diego Oliveira Conteúdo 05: Linguagem Java Conteúdo da Aula Linguagem Java Tipos Primitivos Operadores Aritiméticos Operadores Lógicos Precedência de Operadores
Leia maisUniversidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java
Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão
Leia maisLINGUAGEM C: VARIÁVEIS E EXPRESSÕES
LINGUAGEM C: VARIÁVEIS E EXPRESSÕES Prof. André Backes LINGUAGENS DE PROGRAMAÇÃO Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve
Leia maisLinguagens de Programação Conceitos e Técnicas. Amarrações
Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador
Leia maisAula 4 - Operadores. Prof. Laura Silva de Assis. Engenharia de Computação 2 o Período
Programação I Aula 4 - Prof. Laura Silva de Assis Engenharia de Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis 2 o semestre - 2015 1 Sumário
Leia maisNomes, Amarração, Verificação de Tipos, e Escopo
5 Nomes, Amarração, Verificação de Tipos, e Escopo Concepts of Programming Languages, 5/e Robert W. Sebesta Agenda Objetivo desta aula: Introduzir os principais aspectos semânticos de variáveis Palavras-chave
Leia maisParadigmas 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 maisCIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1
CIT 2015.2 Aula 02 Variáveis e Estruturas de desvio condicional Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1 Variáveis Uma variável nada mais é que um nome que damos a uma determinada posição
Leia maisMétodos Computacionais
Métodos Computacionais Objetivos da Disciplina e Introdução a Linguagem C Construções Básicas Objetivos da Disciplina Objetivo Geral Discutir técnicas de programação e estruturação de dados para o desenvolvimento
Leia maisIntrodução. Paradigmas de Linguagens. Introdução. Tipos de Dados Primitivos. Prof. Ms. Luiz Alberto Contato:
Paradigmas de Linguagens Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Baseada no material do prof. Celso Olivete Júnior Introdução Um tipo de dado define uma coleção de dados e um conjunto de operações
Leia maisConceitos de Linguagens de Programação
Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Conceitos de Linguagens de Programação Aula 06 (rogerio@fct.unesp.br) Aula 6 Subprogramas
Leia maisCapítulo 5. Nomes, Vinculações e Escopos
Capítulo 5 Nomes, Vinculações e Escopos Tópicos do Capítulo 5 Introdução Nomes Variáveis O conceito de vinculação Escopo Escopo e tempo de vida Ambientes de referenciamento Constantes nomeadas Introdução
Leia maisAlgoritmos 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 maisGabriel Santa Clara Ucelli
Gabriel Santa Clara Ucelli 1. Histórico 2. Introdução 3. Visão Geral 4. Conceitos Básicos 5. Aspectos Teóricos 6. Avaliação da Linguagem 7. Referências Sumário Histórico Scala foi desenvolvida em 2001
Leia maisPolimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Leia maisAlgoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Tipo de Dados Orivaldo Santana Jr ovsj@cin.ufpe.br Observação: Este material esta baseado no material do Prof. Tiago Massoni e Prof. Fernando Buarque Tipos de Dados Primitivos
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java
Leia maisLinguagens de Programação Conceitos e Técnicas. Valores e Tipos de Dados Prof. Tiago Alves de Oliveira
Linguagens de Programação Conceitos e Técnicas Valores e Tipos de Dados Prof. Tiago Alves de Oliveira Conceituação Valor 3 2.5 'a' Paulo 0x1F 026 Tipo {true, 25, 'b', azul } não corresponde a um tipo {
Leia maisMétodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de
Leia maisAlgoritmos: 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 maisProgramação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse
Leia maisMódulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão
Educação Módulo Lógica e Ética de Programação com aplicações em Java Projeto khouse Profissionalizante Profª Larissa Brandão Educação e Ética Fundamentos da Programação Objetivos: Reconhecer as diferenças
Leia maisLinguagem 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 maisPalavras Reservadas da Linguagem Java
Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de
Leia maisClasses e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto
Leia maisValores e Tipos de Dados Prof. Hudson Costa
Valores e Tipos de Dados Prof. Hudson Costa Valor 3 2.5 'a' Paulo 0x1F 026 Tipo {true, 25, 'b', azul não corresponde a um tipo { true, false corresponde a um tipo Linguagens de Programação Valores e Tipos
Leia maisProgramação com Acesso a BD. Programação com OO Acesso em Java
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Leia maisLinguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados
Linguagem de Programação I Aula 06 Linguagem C: Tipos de Dados Da Aula Anterior Linguagens de Programação A Linguagem C: Como tudo começou Principais características da Linguagem C O primeiro programa
Leia mais4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).
2626262626262626262626262626262626262626262626262626 4 - OPERADORES Podem ser: aritméticos, relacionais, lógicos, incremento e decremento, atribuição. Operadores aritméticos têm precedência sobre os relacionais
Leia maisSCC-120 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
SCC-120 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Prof. Zhao Liang O QUE É C? No inicial do computador, os programas eram escritos em linguagem de maquina Instruções primitivas que podiam ser executadas diretamente
Leia maisPuca Huachi Vaz Penna
Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro
Leia maisMódulo 1. Introdução. AEDS I C++ (Rone Ilídio)
Módulo 1 Introdução AEDS I C++ (Rone Ilídio) Introdução Linguagens de Programação Fonte Compilador Executável SO I Hardware C++ - Características Evolução do C, ou seja, possui a mesma sintaxe É uma linguagem
Leia maisIntrodução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 2 Variáveis e Atribuições Memória Principal: Introdução Vimos que a CPU usa a memória principal para guardar as informações que estão
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia maisProgramação Estruturada Aula - Tipos, Constantes, Variáveis e Identificadores
Programação Estruturada Aula - Tipos, Constantes, Variáveis e Identificadores Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br TIPOS DE DADOS EM LINGUAGEM C 2 TIPOS DE DADOS EM LINGUAGEM
Leia mais