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

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

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

> Найдите ошибку., Задача на разработку процессора для арифметических операций над вещест
Tnz
сообщение 21.01.2007 21:58
Сообщение #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.


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



Сообщение отредактировано: мисс_граффити - 21.01.2007 22:00
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 13)
Malice
сообщение 21.01.2007 22:24
Сообщение #2


Профи
****

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

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


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





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

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


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


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

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

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


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


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





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

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


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


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

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

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


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


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





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

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


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


Профи
****

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

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


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

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

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


Новичок
*

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

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


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


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


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





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

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


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


Новичок
*

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

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


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

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


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

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


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


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


Гость






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


Профи
****

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

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


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

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

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


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

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

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


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


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

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

 



- Текстовая версия 19.07.2025 19:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"