ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.12.2023
Просмотров: 213
Скачиваний: 2
4.2 Разработка исходных текстов программ
programpr1;//Программаpr1//ПереводимсимволвчислоfunctionChToInt(ch:char):integer;begin//началоблокаResult:=-1;//присваиваемкResultзначение-1if(('0' <= ch)and(ch <= '9'))then // проверяемусловие(('0'<=ch) and (ch <= '9') )Result:=ord(ch)- ord('0');//присваиваемк Resultзначение ord(ch)- ord('0')if(('a' <= ch)and(ch <= 'f'))then // проверяемусловие(('a'<=ch) and (ch <= 'f') )Result:=ord(ch)-ord('a')+10;// присваиваем кResult значение ord(ch) - ord('a') + 10if(('A' <= ch)and(ch <= 'F'))then // проверяемусловие(('A'<=ch) and (ch <= 'F') )Result:=ord(ch)-ord('A')+10;// присваиваем кResult значение ord(ch) - ord('A') + 10end;//конецблокаvar//обьявлениепеременных f: TextFile;//ОбьявляемпеременнуюfстипомTextFile s, s2: string;//Обьявляем переменныеs,s2стипомstring n, n2, sys, t, p, p2, i: longint;//Обьявляемпеременныеn,n2, sys,t,p,p2, iстипомlongintbegin//началоблокаAssign(f,'input.txt');//присвоитьфайловойпеременнойf файловое имя 'input.txt'reset(f);readln(f,s); //ввестиf,s close(f);writeln('Вочто переводить?');//вывести 'Вочтопереводить?' writeln('1. Восьмеричная' ); // вывести '1. Восьмеричная' writeln('2. Десятичная' ); // вывести '2. Десятичная'writeln('3.Дополнительный код' ); // вывести '3. Дополнительный код' readln(t); // ввести t
{ Находим все числа }
p := 1; // присваиваем к p значение 1
while (p <= length(s)) do // Пока истинно выражение (p <= length(s))
begin // начало блока
{ Находим края слова }
if (s[p] = ',') then // проверяем условие (s[p] = ',')
begin // начало блока
inc(p); // увеличиваем p на единицу
continue; // продолжить итерацию цикла
end; // конец блока
p2 := p+1; // присваиваем к p2 значение p+1
while (p2 <= length(s)) do // Пока истинно выражение (p2 <= length(s))
if (s[p2] <> ',') then // проверяем условие (s[p2] <> ',') inc(p2)
else
break; // прервать цикл
{ Нашли что-нибудь? }
if (p2 = p) then // проверяем условие (p2 = p)
break; // прервать цикл
s2 := copy(s, p, p2-p ); // присваиваем к s2 значение copy(s, p, p2-p ) n := 0; // присваиваем к n значение 0
for i := 1 to length(s2) do
n := n * 16 + ChToInt(s2[i]); // присваиваем к n значение n * 16 + ChToInt(s2[i])
n2 := n; // присваиваем к n2 значение n write(s2,'='); // вывести s2,'='
if (t = 1) then // проверяем условие (t = 1)
begin // начало блока
s2 := ''; // присваиваем к s2 значение ''
while (n2 > 0) do // Пока истинно выражение (n2 > 0)
begin
//началоблокаs2 := Chr(ord('0')+(n2 mod8))+s2;//присваиваемк s2 значение Chr(ord('0')+ (n2 mod 8)) + s2n2:=n2div8;//присваиваемкn2значениеn2div8end; // конец блока writeln(s2);//вывестиs2end;//конецблокаif(t= 2) then//проверяем условие(t =2) writeln(n2); // вывести n2if(t=3) then//проверяем условие(t =3)begin//началоблокаn2:=-n2;//присваиваемкn2значение -n2 s2 := ''; // присваиваем к s2 значение ''fori:=0to32doif((n2and (1 shli))<>0) then//проверяем условие((n2 and (1 shl i)) <> 0 )s2:= '1'+s2elses2:='0'+s2;//присваиваемкs2значение '0'+s2writeln(s2);//вывестиs2end;//конецблокаp:=p2;//присваиваемкpзначениеp2end;//конецблокаend.//конецблока
Заключение
Вданнойкурсовойработебылразработаналгоритм дляпереводачисел в различные системы счисления.Входекурсовогопроектированиябылиизученытеоретическиеосновы метода Эйлера и его модификации для решения дифференциальных уравнений. Рассмотрены основные характеристики используемых языков программирования – Pascal . На основе разработанного алгоритма решения задачи была разработанапрограмма : на языке Pascal. Все программы протестированы на различных наборах данных и ошибок выявлено не было.Список литературы
-
Алексенко А. Г. Микросхемотехника. М: ”Радио и связь” 1990г. -
Шауман А. М. Основы машинной арифметики. Ленинград, Издательство Ленинградского университета. 1979г. -
Ролич Ч. Н. – От 2 до 16, Минск, «Высшая школа», 1981г.
-
Выгодский М.Я. Справочник по элементарной математике, М.: Государственное издательство технико-теоретической литературы, 1956. -
Каган Б.М. Электронные вычислительные машины и системы, М.: Энергоатомиздат, 1985. -
Кодирование информации (Двоичные коды). Березнюк Н. Т. Андрущенко А. Г. И др. Харьковю 1978. -
Майоров С.А., Кириллов В.В., Приблуда А.А., Введение в микроЭВМ, Л.: Машиностроение, 1988. -
Математическая энциклопедия. М: “Советская энциклопедия” 1985г.
-
Калабеков Б. А. Цифровые устройства и микропроцессорные системы. М: “Горячая линия - Телеком” 2000г. -
Ворощук А. Н. Основы ЦВМ и программирования. М:”Наука” 1978г. -
Фомин С.В. Системы счисления, М.: Наука, 1987.