IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Найдите ошибку., Задача на разработку процессора для арифметических операций над вещест
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Дана задача

Разработка процессора для арифметических операций над вещественными числами.
Система команд - арифметические операции над содержимым регистров, ввод и вывод значений регистров, считывание содержимого регистра в выделенный регистр (сумматор) и запись в регистр содержимого сумматора. Длина команды - 1 байт, команда включает в себя код операции (4 бита), в котором содержится один из операндов. Второй операнд берется из сумматора. РРезультат записывается в сумматор.
Дать описание системы команд и программу для вычисления значений квадратного трехчлена.

Я сделал следующую программу. Поправьте, пожалуйста ее, что бы она выполнялась...

program PM40_4;
uses crt;
procedure Autor;
begin
clrscr;
writeln;
writeln('');
writeln('zadanie variant 17');
end;
var ch:char; f:text; name:string;
Reg:array[0..15]of real;
c:byte; sum:real; com:string;

function CharToNumber(ch:char):byte;
begin
if ord(ch)<ord('A')
then CharToNumber:=ord(ch)-ord('0')
else CharToNumber:=ord(ch)-ord('A')+10;
end;

function HexToDec(a:string):longint;
var b:longint; i:byte;
begin
b:=0;
for i:=1 to length(a) do
b:=b*16+CharToNumber(a[i]);
HexToDec:=b;
end;

begin
{Autor;}
repeat
write(' write zapros');
readln(name); assign(f,name); reset(f);
while not Eof(f) do
begin
readln(f,com);
c:=HexToDec(com);
case c div 16 of
0:readln(Reg[c mod 16]);
1:writeln(Reg[c mod 16]:7:3);
2:sum:=Reg[c mod 16];
3:Reg[c mod 16]:=sum;
4:sum:=sum+Reg[c mod 16];
5:sum:=sum-Reg[c mod 16];
6:sum:=sum*Reg[c mod 16];
7:sum:=sum/Reg[c mod 16];
else writeln('ERROR!');
end;
end;
writeln('Continue? (Y/N) '); ch:=readkey;
until UpCase(ch)<>'Y';
end.


М
В тегах лучше, правда?
мисс_граффити



Сообщение отредактировано: мисс_граффити -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


А чего править то ? Она компилится, с тестовым файлом работает. Или надо как раз файл написать для "вычисления значений квадратного трехчлена" ? smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


У меня выдается ошибка ввода/вывода №2 Не удается найти указанный файл строка 34
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а файл-то есть?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Файл - это текст программы которую я выложил
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


нет.
файл - это текстовый файл с именем name, который ты пытаешься reset.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Ага, с файлом собственно и вся проблема полулучается. mad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(Tnz @ 21.01.2007 23:16) *

Ага, с файлом собственно и вся проблема полулучается. mad.gif

А ты хотя бы без файла напиши, как вычислить значения квадратного трехчлена, по шагам, а там и до файла недалеко. yes2.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 22
Пол: Мужской
Реальное имя: Кирилл

Репутация: -  0  +


Цитата
Разработка процессора для арифметических операций над вещественными числами.
Система команд - арифметические операции над содержимым регистров, ввод и вывод значений регистров, считывание содержимого регистра в выделенный регистр (сумматор) и запись в регистр содержимого сумматора. Длина команды - 1 байт, команда включает в себя код операции (4 бита), в котором содержится один из операндов. Второй операнд берется из сумматора. РРезультат записывается в сумматор.
Дать описание системы команд и программу для вычисления значений квадратного трехчлена.


Tnz ты должен на сам создать текстовый файл и там задать команды для нахождения квадратного трехчлена.


--------------------
... И сказал Господь: " Да будет свет ! "
И откомпилировал исходники своя, и нажал F5,
и снизошел свет в мир сей ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


чего то совсем не получается. mad.gif Напишите файл с программой, пожалуйста.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 22
Пол: Мужской
Реальное имя: Кирилл

Репутация: -  0  +


Код
readln(name);  assign(f,name);  reset(f);

замени на
Код
assign(f,prog.txt);  reset(f);


В текстовом файле сотри комментарии, а файл prog.txt скопируй в корневую папку паскаля! cool.gif
Извени забыл приложить файл!

Сообщение отредактировано: Kirill_ -


Прикрепленные файлы
Прикрепленный файл  prog.txt ( 311 байт ) Кол-во скачиваний: 240


--------------------
... И сказал Господь: " Да будет свет ! "
И откомпилировал исходники своя, и нажал F5,
и снизошел свет в мир сей ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Цитата
а файл prog.txt скопируй в корневую папку паскаля!
Зачем? В папку с программой - может быть, а вот в папку Паскаля ничего лишнего бросать не надо. Ибо работоспособность программы будет зависеть от настроек среды, а далено не у всех среда настроена так, чтобы читать файлы из папки компилятора...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(Kirill_ @ 22.01.2007 0:57) *

Извени забыл приложить файл!

Немного не то. Команда - это байт, 4- бита на код(это есть) и 4 на номер используемого регистра. У тебя все команды будут интерпретироваться как ввод регистра. Да и с кодами операций напутал..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


может
assign(f,'prog.txt');
?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 23:00
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name