Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 2
1

Исправить ошибку в программе

17.01.2016, 18:21. Показов 1097. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всё время ставит оценку 5,и k всегда равно 10:
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
program test;
 
uses
  crt;
 
var
  ans, k: integer;
 
begin
 
  k := 0;
  writeln('Тест  ');
  writeln('Вопрос № 1');
  writeln('');
  writeln('1)');
  writeln('2)');
  writeln('3)');
  writeln('4)');
  readln(ans);
  if (ans = 1) then
    writeln('Верно');
    begin
  inc(k)
  end;
  if(ans > 1) or (ans < 1) then
    writeln('Неверно,правильный ответ:1');
  writeln('Вопрос № 2');
  writeln('');
  writeln('1)');
  writeln('2)');
  writeln('3)');
  writeln('4)');
  readln(ans);
  if (ans = 4) then
    writeln('Верно');
    begin
  inc(k);
  end;
  if(ans > 4) or (ans < 4) then
    writeln('Неверно,правильный ответ:4');
  writeln('Вопрос № 3');
  writeln('');
  writeln('1)');
  writeln('2)');
  writeln('3)');
  writeln('4)');
  readln(ans);
  if (ans = 3) then
    writeln('Верно');
  inc(k);
  if(ans > 3) or (ans < 3) then
    writeln('Неверно,правильный ответ:3');
  writeln('Вопрос № 4');
  writeln('');
  writeln('1)');
  writeln('2)');
  writeln('3)');
  writeln('4)');
  readln(ans);
  if (ans = 4) then
    writeln('Верно');
  inc(k);
  if(ans > 4) or (ans < 4) then
    writeln('Неверно,правильный ответ:4');
  writeln('Вопрос № 5');
  writeln('');
  writeln('1)');
  writeln('2)');
  writeln('3)');
  writeln('4)');
  readln(ans);
  if (ans = 4) then
    writeln('Верно');
  inc(k);
  if(ans > 4) or (ans < 4) then
    writeln('Неверно,правильный ответ:4');
  writeln('Вопрос № 6');
  writeln('');
  writeln('1)');
  writeln('2)');
  writeln('3)');
  writeln('4)');
  readln(ans);
  if (ans = 3) then
    writeln('Верно');
  inc(k);
  if(ans > 3) or (ans < 3) then
    writeln('Неверно,правильный ответ:3');
  writeln('Вопрос № 7');
  writeln('');
  writeln('1)');
  writeln('2)');
  writeln('3)');
  writeln('4)');
  readln(ans);
  if (ans = 2) then
    writeln('Верно');
  inc(k);
  if(ans > 2) or (ans < 2) then
    writeln('Неверно,правильный ответ:2');
  writeln('Вопрос № 8');
  writeln('');
  writeln('1)');
  writeln('2)');
  writeln('3)');
  writeln('4)');
  readln(ans);
  if (ans = 1) then
    writeln('Верно');
  inc(k);
  if(ans > 1) or (ans < 1) then
    writeln('Неверно,правильный ответ:1');
  writeln('Вопрос № 9');
  writeln('');
  writeln('1)');
  writeln('2)');
  writeln('3)');
  writeln('4)');
  readln(ans);
  if (ans = 2) then
    writeln('Верно');
  inc(k);
  if(ans > 2) or (ans < 2) then
    writeln('Неверно,правильный ответ:2');
  writeln('Вопрос № 10');
  writeln('');
  writeln('1)');
  writeln('2)');
  writeln('3)');
  writeln('4)');
  readln(ans);
  if (ans = 3) then
  inc(k); 
  if(ans > 3) or (ans < 3) then
    writeln('Неверно,правильный ответ:1');
  begin
  writeln('gh jnd', k);
    if (k <= 10) and (k > 8) then
      writeln('Оценка 5');
    if (k < 9) and (k > 5) then
      writeln('Оценка 4');
    if (k < 6) and (k > 2) then
      writeln('Оценка 3');
    if (k < 3) and (k >= 0) then
      writeln('Оценка 2');
  end
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2016, 18:21
Ответы с готовыми решениями:

Исправить ошибку в программе
Недавно написал программу, но не могу найти в ней ошибку. Суть в том, что программа всегда выдает...

Исправить ошибку в программе
uses wincrt; var s, t:string; i:integer; d, f, d1:text; begin for i:=1 to 100 do ...

Нужно исправить ошибку в программе
Код программы: program zad3; label l1; type mas=array of integer; mas1=array of integer; var...

Рекурсия. Нужно исправить ошибку в программе.
Народ, нужна ваша помощь. Вот условие задачи: Найти знaчeние выpaжения, испoльзyя peкурсивный...

4
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
17.01.2016, 22:52 2
Лучший ответ Сообщение было отмечено WonderWolf как решение

Решение

ваша переменная k никак не связана с количеством правильных ответов, она у вас считает количество вопросов, да и то не всегда правильно. Вы неверно используете оператор if
Pascal
1
2
3
4
5
6
if (ans = 4) then
begin
writeln('Верно');
inc(k);
end
else writeln('Неверно,правильный ответ:4');

Программу можно было сократить раз в 10, считывая вопросы и ответы из массива или файла и не писать 10 раз одни и те же команды.
1
0 / 0 / 0
Регистрация: 12.01.2016
Сообщений: 2
18.01.2016, 22:11  [ТС] 3
спасибо большое, но чтобы сократить, мне нужно знать массивы, а я их не знаю.Если поможете сократить, буду очень благодарен.
0
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
19.01.2016, 08:11 4
Знаете, помочь здесь - это практически написать программу заново. Не поленитесь, почитайте про массивы, вы очень здорово облегчите себе жизнь и сейчас, и в дальнейшем, поверьте.
0
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
19.01.2016, 16:51 5
Цитата Сообщение от WonderWolf Посмотреть сообщение
мне нужно знать массивы
Как вариант подпрограммы:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
program test;
var
  k: integer;
procedure qwestion(a,b,c,d,e:string;f:integer;var g:integer);
  var
    h:integer;
  begin
    writeln(a);
    writeln;
    writeln(b);
    writeln(c);
    writeln(d);
    writeln(e);
    readln(h);
    if h = f then
      begin
        writeln('Верно');
        inc(g);
      end
      else
        writeln('Неверно, Правильный ответ :',f);
  end;
begin
  k := 0;
  writeln('Тест  ');
  qwestion('Вопрос № 1','1)','2)','3)','4)',1,k);
  qwestion('Вопрос №  2','1)','2)','3)','4)',2,k);
  qwestion('Вопрос №  3','1)','2)','3)','4)',3,k);
  qwestion('Вопрос №  4','1)','2)','3)','4)',4,k);
  qwestion('Вопрос №  5','1)','2)','3)','4)',1,k);
  qwestion('Вопрос №  6','1)','2)','3)','4)',2,k);
  qwestion('Вопрос №  7','1)','2)','3)','4)',3,k);
  qwestion('Вопрос №  8','1)','2)','3)','4)',4,k);
  qwestion('Вопрос №  9','1)','2)','3)','4)',1,k);
  qwestion('Вопрос № 10','1)','2)','3)','4)',2,k);
  case k of
    9..10:writeln('Оценка 5');
    6.. 8:writeln('Оценка 4');
    3.. 5:writeln('Оценка 3');
    0.. 2:writeln('Оценка 2');
    end
end.
0
19.01.2016, 16:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2016, 16:51
Помогаю со студенческими работами здесь

Сортировка выбором (исправить ошибку в программе)
просьба найти ошибку в программе и сказать что и где надо дополнить/исправить Задача: Дан...

Исправить ошибку в программе про матрицы
Там задача, вывести введенные цифры в матрицу, а потом во второй матрице, отрицательные в квадрат,...

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

Исправить ошибку в программе вычисления значения выражения
написать программу на паскале вот program Name1; var p, a, x, α : real;


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru