1

Тема: Яка різниця між type і var (Pascal)?

Яка різниця між type і var (Pascal) і для чого взалі type, якщо все можна описувати у var?

2

Re: Яка різниця між type і var (Pascal)?

відповідь - читати це

Подякували: leofun011

3

Re: Яка різниця між type і var (Pascal)?

ostap34PHP написав:

відповідь - читати це

Я читав. Все одно не розумію

4

Re: Яка різниця між type і var (Pascal)?

Що саме не зрозуміло?

5

Re: Яка різниця між type і var (Pascal)?

kisilam написав:

Що саме не зрозуміло?

Для чого type коли все можна описати у var?

6

Re: Яка різниця між type і var (Pascal)?

Скорочення тексту програми, ви про це не замислювалися, але якби ви працювали з довгими вкладеними записами, то таких питань би не виникало. До того ж не впевнений що все що дозволяється в якості типу локальної змінної так само з аргументами хвункцій.

Подякували: Rostislav01, leofun012

7

Re: Яка різниця між type і var (Pascal)?

Є декілька причин використання type:

  • У var можна вписати далеко не все.

  • В десятьох місцях зручніше написати "TMyMatrix" замість "array [1 .. 25, 1 .. 12] of Integer".

  • Код має бути самодокументованим, тобто з назв змінних та типів має бути зрозуміло що вони роблять. Наприклад я міг би написати так: "var a: integer", але міг би й так: "type TCentimeter = Integer; var CatechLength: TCentimeter". Який варіант зрозуміліший?

Подякували: Rostislav01, kisilam, leofun01, bees4

8

Re: Яка різниця між type і var (Pascal)?

Для чого масиви, якщо все можна робити окремими змінними?
Для чого функції, якщо все можна в begin-end записати?
Для чого структурне програмування, якщо є goto?

І ще 100500 питань від людей, яким ліньки читати підручник.

Подякували: LoganRoss, leofun012

9

Re: Яка різниця між type і var (Pascal)?

Для чого Паскаль, якщо є божественний повний за Тюрингом брейнфак  *JOKINGLY*

Подякували: LoganRoss, /KIT\, koala, ostap34PHP, leofun01, bees6

10

Re: Яка різниця між type і var (Pascal)?

type оголошує імена типів, а var  - імена змінних

11

Re: Яка різниця між type і var (Pascal)?

Rostislav01 написав:

Яка різниця між type і var (Pascal) і для чого взалі type, якщо все можна описувати у var?

Є випадки, коли оголошувати тип у секції type необхідно. Це стосується, в першу чергу, ситуацій, коли в нас є декілька змінних одного похідного типу, між якими відбувається присвоєння чи деякі інші операції. Приклад:

(* Ця програма не скомпілюється *)
var a:array[1..3]of real;
procedure f(var b:array[1..3]of real);
    begin end;
begin
    f(a); (* a та b оголошені ідентично, але вважаються різнотипними, тому такий виклик спричинить помилку*)
end.
(* А ця програма скомпілюється *)
type ta=array[1..3]of real;
var a:ta;
procedure f(var b:ta);
    begin end;
begin
    f(a); (* a та b вважаються однотипними *)
end.
Подякували: Torbins, bees2