Typy danych

09 sierpnia 2013 | LoadingDodaj do biblioteki

In computer science and computer programming, a data type or simply type is a classification identifying one of various types of data, such as real-valued, integer or Boolean, that determines the possible values for that type; the operations that can be done on values of that type; the meaning of the data; and the way values of that type can be stored.

Data types are used within type systems, which offer various ways of defining, implementing and using them. Different type systems ensure varying degrees of type safety. Formally, a type can be defined as "any property of a program we can determine without executing the program".
Common data types may include:

  • integers,
  • booleans,
  • characters,
  • floating-point numbers,
  • alphanumeric strings

Most programming languages also allow the programmer to define additional data types. For example, a programmer might create a new data type named "complex number" that would include real and imaginary parts.

Classification of data types

Primitive data types

  • a basic type is a data type provided by a programming language as a basic building block.
  • a built-in type is a data type for which the programming language provides built-in support.

Machine data types

All data in computers based on digital electronics is represented as bits on the lowest level. The smallest addressable unit of data is usually a group of bits called a byte. The unit processed by machine code instructions is called a word. Most instructions interpret the word as a binary number.

Boolean type

The Boolean type represents the values: true and false. Although only two values are possible, they are rarely implemented as a single binary digit for efficiency reasons.

Numeric types

  • The integer data types, or "whole numbers".
  • Floating point data types, sometimes misleadingly called reals, contain fractional values.
  • Fixed point data types are convenient for representing monetary values.
  • Bignum or arbitrary precision numeric types lack predefined limits.

Composite types

Rysunek sześcianu
Composite types are derived from more than one primitive type. This can be done in a number of ways. The ways they are combined are called data structures. Composing a primitive type into a compound type generally results in a new type. Many compound types are possible, e.g. array, record (also called tuple or struct), union, set, or object. Compound data type can be used to store many values of another data type.

String and text types

  • Alphanumeric character. A letter of the alphabet, digit, blank space, punctuation mark, etc.
  • Alphanumeric strings, a sequence of characters. They are typically used to represent words and text.

Other types

In different programming languages there may be available different data types not mentioned above. Some of them are: function types, enumerations, pointers and references.

Abstract data types

Rysunek drzewa binarnego
Any type that does not specify an implementation is an abstract data type. For instance, a stack can be implemented as an array, or as a linked list. Another example of abstract data type is tree, which is a hierarchical data type.

Abstract types can be handled by code that does not know or "care" what underlying types are contained in them. Programming that is agnostic about concrete data types is called generic programming. Arrays and are considered concrete data types because they specify how their contents or elements are laid out in memory.

Type systems

A type system associates types with each computed value. By examining the flow of these values, a type system attempts to prove that no type errors can occur.

The depth of type constraints and the manner of their evaluation affect the typing of the language. A programming language may further associate an operation with varying concrete algorithms on each type in the case of type polymorphism. Type theory is the study of type systems, although the concrete type systems of programming languages originate from practical issues of computer architecture, compiler implementation, and language design.

Typing is assigning a data type, which means giving meaning to a sequences of bits such as a value in memory or some object such as a variable. Type systems may implement static (type-checking is done compile time) or dynamic (type-checking is done at run time), strong or weak typing, duck typing (in object-oriented programming languages) and so forth.

Źródło: Wikipedia (tekst został dostosowany do potrzeb kursu)

Dictionary

abstract data type
abstrakcyjny typ danych
addressable
adresowalny
agnostic
obojętny, nie mający zdania na określony temat, nie wiedzący o czymś
algorithm
algorytm
alphanumeric character
znak alfanumeryczny
alphanumeric string
łańcuch alfanumeryczny
arbitrary precision numeric type
typ liczbowy o dowolnej precyzji
array
tablica
at run time
w czasie działania (programu)
basic type
typ podstawowy
bignum
duże liczby całkowite
binary digit
cyfra binarna
binary number
liczba binarna
bit
bit
blank space
odstęp, puste miejsce
Boolean type
typ logiczny, typ boole’owski
built-in type
typ wbudowany
byte
bajt
character
znak
compile time
w czasie kompilacji (programu)
compiler
kompilator
complex number
liczba zespolona
composite type
typ złożony
compound type
typ złożony
computed value
wartość obliczona
computer architecture
architektura komputera
computer programming
programowanie komputerowe
computer science
informatyka
concrete data type
konkretny typ danych
data
dane
data structure
struktura danych
data type
typ danych
derived type
typ pochodny
digit
cyfra
digital electronics
elektronika cyfrowa
duck typing
kacze typowanie
dynamic type system
dynamiczny system typów
efficiency
wydajność
element
element
enumeration
wyliczenie
false
fałsz (lub false, jeśli jest to słowo kluczowe języka programowania)
fixed point data type
stałoprzecinkowy (stałopozycyjny) typ danych
floating point data type
zmiennoprzecinkowy (zmiennopozycyjny) typ danych
floating-point number
liczba zmiennoprzecinkowa (zmiennopozycyjna)
fractional value
wartość ułamkowa
function type
typ funkcyjny
generic programming
programowanie ogólne
hierarchical data type
hierarchiczny typ danych
imaginary part
część urojona (liczby zespolonej)
integer
liczba całkowita
integer data type
całkowitoliczbowy typ danych
language design
projekt języka
lay out in memory
rozmieścić (ułożyć) w pamięci
letter of the alphabet
litera
linked list
lista powiązana
low level
niski poziom
machine code
kod maszynowy
machine data type
maszynowy typ danych
memory
pamięć
numeric type
typ liczbowy, typ numeryczny
object
obiekt
object-oriented programming language
obiektowy język programowania

operation
działanie, opracja
pointer
wskaźnik
primitive data type
prosty typ danych
programming language
język programowania
punctuation mark
znak interpunkcyjny (przestankowy)
real number
liczba rzeczywista
real part
część rzeczywista liczby zespolonej
real-valued
o wartości ze zbioru liczb rzeczywistych
record
rekord
reference
referencja
sequence of characters
szereg (ciąg) znaków
set
zbiór
stack
stos
static typing
typowanie statyczne
string type
typ łańcuchowy
strong typing
silne typowanie
strongly typed language
język ze ścisłą kontrolą typów
struct
struktura (albo struct, jeśli jest to słowo kluczowe języka programowania)
text type
typ tekstowy
the study of sth.
nauka o czymś
to address
adresować
to assign
przypisać
to assign a value
przypisać wartość
to associate
wiązać, kojarzyć
to compute
obliczać
to create
tworzyć
to create a new data type
utworzyć nowy typ danych
to define
zdefiniować
to define a data type
zdefiniować typ danych
to define a data type
zdefiniować typ danych
to derive a type
utworzyć typ pochodny
to do computations
wykonywać obliczenia
to evaluate
obliczyć wartość, oszacować
to execute a program
wykonać program
to implement
implementować
to implement as
zaimplementować jako
to interpret
interpretować
to originate from sth.
wynikać z czegoś
to process
przetwarzać
to represent as
reprezentować jako
to specify an implementation
określić implementację
to store
przechowywać, zapisać
to support
obsługiwać
tree
drzewo
true
true (lub true, jeśli jest to słowo kluczowe języka programowania)
tuple
krotka
type
typ
type constraints
ograniczenia typu
type error
błąd typu
type polymorphism
polimorfizm typów
type safety
bezpieczeństwo typów
type system
system typów
type theory
teoria typów
typing
typowanie
union
unia
value
wartość
variable
zmienna
weak typing
słabe typowanie
weakly typed language
język o luźnej kontroli typów
whole number
liczba całkowita
word
słowo

Exercises

  1. Answer the questions
  2. Match words to their definitions
  3. Provide Polish equivalents of these terms
  4. Provide English equivalents of these terms
  5. Fill in the gaps
  6. Translate the sentences into English
  7. Complete the following sentences in your own words
  8. Find out more about the following subjects

Grammar corner

Passive Voice in Simple Present

In scientific texts, manuals, guides etc. we often use passive verb forms, like is composed or can be implemented. Passive sentences are normally formed by using tenses of the auxiliary verb to be followed by the past participle:
 

A computer program is composed of variables, expressions, functions etc.

 
In this sentence the word is is the auxiliary be in the Present Simple tense, and composed is the lexical verb compose in the past participle form.

When there is a modal verb in the sentence, the auxiliary be follows the modal verb and is used in the infinitive form without to:
 

For instance, a stack can be implemented as an array, or as a linked list.

 
 
Exercise: Complete the sentences with the Present Simple passive form of the verbs in brackets

Find out more about the passive voice in different tenses.

Licencja: CC-BY-SA 3.0

Odpowiedz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *