Там другие общие “Подобны c” или не “подобные c” языки с не нулевое индексное положение массива? [закрытый]

Мне нравится эта идея. Однако я думаю, что могло бы быть трудно сделать, так как это потребует, чтобы у кандидата было некоторое знание проекта, на котором Вы соединились бы с ним. Кроме того, 4 - 5 часов кажется немного длинным. Что, если Вы сразу видите, что это не собирается удаваться, Вы собираетесь сидеть через целую встречу с кандидатом?

Хороший вопрос все же. Материал для размышления о.

75
задан gtzilla 20 July 2018 в 03:55
поделиться

13 ответов

Список можно найти в википедии .

ALGOL 68
APL
AWK
CFML
COBOL
Fortran
FoxPro
Julia
Lua
Mathematica
MATLAB
PL/I
Ring
RPG
Sass
Smalltalk
Wolfram Language
XPath/XQuery
62
ответ дан 24 November 2019 в 11:30
поделиться

Although C is by design 0 indexed, it is possible to arrange for an array in C to be accessed as if it were 1 (or any other value) indexed. Not something you would expect a normal C coder to do often, but it sometimes helps.

Example:

#include <stdio.h>
int main(){
    int zero_based[10];
    int* one_based;
    int i;
    one_based=zero_based-1;

    for (i=1;i<=10;i++) one_based[i]=i;
    for(i=10;i>=1;i--) printf("one_based[%d] = %d\n", i, one_based[i]);
    return 0;
}
0
ответ дан 24 November 2019 в 11:30
поделиться

RPG, including modern RPGLE

1
ответ дан 24 November 2019 в 11:30
поделиться

dBASE используемые массивы, начиная с индекса 1.

Массивы (начало) в dBASE

1
ответ дан 24 November 2019 в 11:30
поделиться

FoxPro использовал массивы, начинающиеся с индекса 1.

1
ответ дан 24 November 2019 в 11:30
поделиться

Nobody mentioned XPath.

2
ответ дан 24 November 2019 в 11:30
поделиться

I see that the knowledge of fortran here is still on the '66 version.

Fortran has variable both the lower and the upper bounds of an array.

Meaning, if you declare an array like:

real, dimension (90) :: x

then 1 will be the lower bound (by default).

If you declare it like

real, dimension(0,89) :: x

then however, it will have a lower bound of 0.

If on the other hand you declare it like

real, allocatable :: x(:,:)

then you can allocate it to whatever you like. For example

allocate(x(0:np,0:np))

means the array will have the elements

x(0, 0), x(0, 1), x(0, 2 .... np)
x(1, 0), x(1, 1), ...
.
.
.
x(np, 0) ...

There are also some more interesting combinations possible:

real, dimension(:, :, 0:) :: d
real, dimension(9, 0:99, -99:99) :: iii

which are left as homework for the interested reader :)

These are just the ones I remembered off the top of my head. Since one of fortran's main strengths are array handling capabilities, it is clear that there are lot of other in&outs not mentioned here.

2
ответ дан 24 November 2019 в 11:30
поделиться

Все Visual FoxPro, FoxPro и Clipper используют массивы, где элемент 1 является первым элементом массива ... Я предполагаю, что это то, что вы подразумеваете под 1-индексированным.

2
ответ дан 24 November 2019 в 11:30
поделиться

Lua - неутешительно

5
ответ дан 24 November 2019 в 11:30
поделиться

ColdFusion - даже если это Java под капотом

3
ответ дан 24 November 2019 в 11:30
поделиться

Также есть Smalltalk

2
ответ дан 24 November 2019 в 11:30
поделиться

Довольно большой список языков находится в Википедии в разделе Сравнение языков программирования (массив) в таблице «Список перекрестных ссылок системы массивов» (столбец базового индекса по умолчанию)

В этом есть хорошее обсуждение 1- и 0-индексированных и подписок в целом

Цитата из блога:

EWD831, автор EW Dijkstra, 1982.

При работе с последовательностью длины N, элементы которой мы хотите выделить индексом, следующий неприятный вопрос - какой индекс значение, присвоенное его началу элемент. Соблюдение соглашения а) дает, начиная с нижнего индекса 1, диапазон нижнего индекса 1 ≤ i

Примечание :: Многие языки программирования были разработаны без должного внимание к этой детали. В ФОРТРАНЕ индексы всегда начинаются с 1; в АЛГОЛ 60 и в ПАСКАЛЕ соглашение c) имеет был принят; более поздний SASL имеет вернулся к соглашению FORTRAN: последовательность в SASL одновременно функция от натуральных чисел. Жалко! (Конец замечания.)

14
ответ дан 24 November 2019 в 11:30
поделиться

Ада и Паскаль.

3
ответ дан 24 November 2019 в 11:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: