Задачи по программированию на машинном языке и на Ассемблере МиК

Напоминаю, что умение программировать в системе команд МиК (в машинном языке и на ассемблере) включено в аттестационный тест модуля 1 и что материалы по МиК лежат здесь (архитектура и система команд МиК), здесь(программирование на МЯ МиК) и здесь (понятие об Ассемблерах и программирование на языке ассемблера МиК). Читать дальше »

4.588235
Your rating: Нет Average: 4.6 (17 votes)

Формальное БНФ определение языка программирования Мини-Паскаль (МиП)

Рекомендованная для изучения статья Языки, грамматики, Бэкусовские нормальные формы (БНФ)
(начните с неё!) выводит на практическое использование БНФ для описания паскалеподобных ЯП. Читать дальше »

5
Your rating: Нет Average: 5 (10 votes)

Среда Turbo (Borland) Pascal 7.0

В университете на занятиях по программированию студенты используют среду Turbo Delphi, интерфейс этой среды понятен и мало чем отличается от большинства Windows-приложений. Однако при выполнении домашних работ у студента может не оказаться среды Turbo Delphi на домашнем компьютере. Читать дальше »

5
Your rating: Нет Average: 5 (7 votes)

Формальное описание МиП

МиП (сокращение от Мини Паскаль) - это узкое подмножество языка Паскаль. Любая программа на МиП является, в то же время правильно построенной программой на Паскале. Обратное далеко не всегда верно. Главное достоинство МиП - его компактность, позволяющая легко формально определить этот язык в БНФ. Этому и посвящена данная статья. Читать дальше »

Машины Тьюринга и их варианты

Данный материал ориентирован на студентов, изучающих элементы теории алгоритмов, например, в курсе  "Математической логики". Он посвящён рассмотрению вопросов существования ограниченных вариантов машин Тьюринга (МТ), способных эмулировать вычисления MT в их авторской (классической) версии.  Читать дальше »

5
Your rating: Нет Average: 5 (2 votes)

Языки, грамматики, Бэкусовские нормальные формы (БНФ)

Введём несколько определений. Пусть задано некоторое непустое, конечное множество знаков А={a1, ...an}, которое мы назовём алфавитом

Любую конечную последовательность букв (которые могут и повторяться), выбираемых из алфавита А назовём словом (цепочкой) в А.

Множество всех слов в алфавите А, включая и пустое слово, которое мы обозначим через ε, будем обозначать через A*.   Читать дальше »

4.8
Your rating: Нет Average: 4.8 (10 votes)

Системы внутреннего кодирования целочисленных значений

Прямой код

Простейшей формой кодирования целых значений в машинной памяти является, так называемый прямой код, определяемый следующим образом.

Пусть для внутреннего представления значений целого типа в машинной памяти отводятся ячейки, состоящие из N двоичных разрядов (обычно N выбирается равным 8, 16, 32 и т.д). Читать дальше »

4.6
Your rating: Нет Average: 4.6 (20 votes)
Коцур Сергей аватар

Домашнее задание 21\09

  1. var a,revers:integer;
  2. b1,b2,b3,b4,b5,b6,b7,b8:byte;
  3. begin
  4.    writeln('Введите допустимое число a:');
  5.    read(a);
  6.    b1:= a shr 7; //[x]xxx xxxx -> xxxx xxx[x]
  7.    
  8.    b2:= a shl 1; //x[x]x xxxx -> [x]xxx xxxx
  9.    b2:= b2 shr 7; //[x]xxx xxxx -> xxxx xxx[x]
  10.    
  11.    b3:= a shl 2;  //..аналогично
  12.    b3:= b3 shr 7;
  13.    
  14.    b4:= a shl 3;
  15.    b4:= b4 shr 7;
  16.    
  17.    b5:= a shl 4;
  18.    b5:= b5 shr 7;
  19.    
  20.    b6:= a shl 5;
  21.    b6:= b6 shr 7;
  22.    
  23.    b7:= a shl 6;
  24.    b7:= b7 shr 7;
  25.    
  26.    b8:= a shl 7;
  27.    b8:= b8 shr 7;
  28.    revers:= b8*10000000+b7*1000000+b6*100000+b5*10000+b4*1000+b3*100

Набор тестов к программе выбора максимума

  1. Тест #1
  2. Input
  3. -128 127
  4. Output
  5. 127
  6.  
  7. Тест #2
  8. Input
  9. 127 -128
  10. Output
  11. 127
  12.  
  13. Тест #3
  14. Input
  15. -128 57
  16. Output
  17. 57
  18.  
  19. Тест #4
  20. Input
  21. 44 -128
  22. Output
  23. 44
  24.  
  25. Тест #5
  26. Input
  27. -128 0
  28. Output
  29. 0
  30.  
  31. Тест #6
  32. Input
  33. 0 -128
  34. Output
  35. 0
  36.  
  37. Тест #7
  38. Input
  39. -128 -53
  40. Output
  41. -53
  42.  
  43. Тест #8
  44. Input
  45. -60 -128
  46. Output
  47. -60
  48.  
  49. Тест #9
  50. Input
  51. -128 -128
  52. Output
  53. -128
  54.  
  55. Тест #10
  56. Input
  57. 127 74
  58. Output
  59. 127
  60.  
  61. Тест #11
  62. Input
  63. 83 127
  64. Output
  65. 127
  66.  
  67. Тест #12
  68. Input
  69. 127 0
  70. Output
  71. 127
  72.  
  73. Тест #13
  74. Input
  75. 0 127
  76. Output
  77. 127
  78.  
  79. Тест #14
  80. Input
  81. -100 127
  82. Output
  83. 127
  84.  
  85. Тест #15
  86. Input
  87. 127 -3
  88. Output
  89. 127
  90.  
  91. Т

Максимум без условных конструкций (Нибо Амир)

  1. Program nuinu;
  2.  
  3. var a,b,otv,a1,b1:ShortInt;
  4. c,d,ans,c1,cz,d1,dz,mak1,mak2,k,mask,post,sluch,v1,v2,w,x1,x2,sum,copmask:Byte;
  5. begin
  6. readln(a,b);
  7. c:=Byte(a);
  8. d:=Byte(b);
  9. k:= 1-((c shr 7) xor (d shr 7));
  10. k:=k shl 7;
  11. c:=c or k;
  12. d:=d or k;
  13. c1:=c xor 128;
  14. cz:=c1 shr 7;
  15. mak1:=cz;
  16. mak1:=(mak1 shl 1)+cz;
  17. mak1:=(mak1 shl 1)+cz;
  18. mak1:=(mak1 shl 1)+cz;
  19. mak1:=(mak1 shl 1)+cz;
  20. mak1:=(mak1 shl 1)+cz;
  21. mak1:=(mak1 shl 1)+cz;
  22. mak1:=(mak1 shl 1)+cz;
  23. mak1:=(mak1 shl 1)+cz;
  24. c1:=c1 and mak1;
  25. d1:=d xor 128;
  26. dz:=d1 shr 7;
  27. mak2:=dz;
  28. mak1:=(mak2 shl 1)+dz;
  29. mak2:=(mak2 shl 1)+dz;
  30. mak2:=(mak2
RSS-материал