Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
3 / 3 / 5
Регистрация: 31.03.2015
Сообщений: 23
1

Написание своих функций chr() и ord(), без использования встроенных функций

09.11.2017, 01:17. Показов 1732. Ответов 6
Метки нет (Все метки)

В общем, нужно написать эти две функции, которые будут являться аналогами встроенных.

Pascal
1
2
3
4
ex_chr(code : byte) : char;
begin
....
end;
Pascal
1
2
3
4
ex_ord(ch : char) : byte;
begin
....
end;
Буду очень признателен
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2017, 01:17
Ответы с готовыми решениями:

Заменить в непустой строке сочитание 'one' на 'four' (без использования встроенных функций)
Пользоваться встроенными функциями для работы со строками нельзя. Задача Заменить в непустой...

Аналоги функций ord() и chr()
Господа, программисты Си! Подскажите пожалуйста, есть ли (и какие) сишные аналоги функций ord() и...

Аналог функций chr() и ord() из Pascal
Подскажите пожалуйста, если в Visual Studio C++ аналог функций chr() и ord() как в pascal? ...

Транспонировать матрицу без использования встроенных функций (')
По заданию необходимо транспонировать матрицу m x n без использования встроенной функции апостроф...

__________________
6
Эксперт Pascal/Delphi
2360 / 1279 / 1484
Регистрация: 29.08.2014
Сообщений: 4,602
09.11.2017, 10:42 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

так что-ли?
Pascal
1
2
3
4
5
6
7
8
9
10
function ex_ord(c:char):byte;
var
  r:byte;
begin
  asm
    mov al,c;
    mov r,al;
  end;
  ex_ord:=r;
end;
Добавлено через 2 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
function ex_chr(r:byte):char;
var
  c:char;
begin
  asm
    mov al,r;
    mov c,al;
  end;
  ex_chr:=c;
end;
1
Модератор
8409 / 4160 / 2875
Регистрация: 17.08.2012
Сообщений: 13,262
09.11.2017, 13:37 3
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Ещё так можно:
Pascal
1
2
3
4
5
6
7
8
9
10
11
function ex_ord(c: char): byte;
var r: byte absolute c;
begin
  ex_ord := r
end;
 
function ex_chr(c: byte): char;
var r: char absolute c;
begin
  ex_chr := r
end;
Добавлено через 12 минут
Joy, для FPC можно упростить:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{$asmmode intel}
function ex_ord(c: char): byte;
begin
  asm
    mov al, c
    mov ex_ord, al
  end
end;
 
function ex_chr(c: byte): char;
begin
  asm
    mov al, c
    mov ex_chr, al
  end
end;
2
3 / 3 / 5
Регистрация: 31.03.2015
Сообщений: 23
09.11.2017, 16:02  [ТС] 4
Премного благодарен.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5720 / 3431 / 2436
Регистрация: 22.11.2013
Сообщений: 9,634
Записей в блоге: 1
09.11.2017, 17:36 5
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
function ex_chr(code: Byte): Char;
begin
  ex_chr:=Char(code)
end;
 
function ex_ord(ch: Char): Byte;
begin
  ex_ord:=Byte(ch)
end;
1
411 / 345 / 126
Регистрация: 09.09.2011
Сообщений: 1,237
10.11.2017, 23:59 6
Cyborg Drone, в новых версиях fpc (> 3) absolute больше не работает, только в режимах совместимости с другими диалектами в objfpc не будет работать.
0
Модератор
8409 / 4160 / 2875
Регистрация: 17.08.2012
Сообщений: 13,262
11.11.2017, 01:15 7
Жаль.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2017, 01:15

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Программирование без использования встроенных функций matlaba
Доброго времени суток. Помогите пожалуйста с написанием 2 простых программ. 1) Необходимо...

Скалярное произведение векторов без использования встроенных функций
Добрый день!прошу помочь решить задачу: Вводим два вектора(списка) одинаковой длины. Найти...

Как заменить действиями без использования встроенных функций?
Подчёркнутое нужно заменить действиями без использования фун-ий Matlaba/// Амплитудный и фазовый...

Вывести слова, содержащие гласные. Без использования встроенных функций
Доброго времени суток! У меня есть программа, которая выводит в консоль слова, в которой есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.