Тестирование и отладка программ при использовании автоматической проверки решений презентация

Слайд 1Тестирование и отладка программ при использовании автоматической проверки решений
А. А. Казачкова


Слайд 2Вердикты контестера
Ошибка при компиляции
Тестов пройдено X из N
Тест принят (OK)
Неверный ответ (WA)
Ошибка

представления (PE)
Превышен лимит времени (TL)
Ошибка исполнения (RE)
Превышен лимит памяти (ML)

Слайд 3Перенаправление IO


Pascal
assign(input,'input.txt');
assign(output,'output.txt');
reset(input);
rewrite(output);
Delphi
reset(input, 'input.txt');
rewrite(output, 'output.txt');
C++
freopen("input.txt", "rt", stdin);
freopen("output.txt", "wt", stdout);


Слайд 4Форматированный вывод

Pascal
write(s:0:6);
C++
#include  ...    cout


Слайд 5Приведение типов

Pascal
i := 1000;
a := i * i;

a := longint(i)*i;

g

:= sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));

C++
int s = 0;
for (int i = 0; i < n; i++)
s += a[i];
double sr;
sr = s \ n;

sr = (double) s \ n;
sr = s*1.0 \ n;


Слайд 6Чтение чисел до конца файла

Pascal

while (not EOF) do

while (not

SeekEOF) do

C++

while (in.peek() != EOF)

while (in >> item)


Слайд 7Плавающая запятая
Вывести значения функции






для x из отрезка [a, b] с шагом

h.



Слайд 8Плавающая запятая

C++
double f(double x)
{
if (x < 1)
return 1/(x - 1);
if

(x > 1)
return -1/(x - 1);
if (x == 1)
return 0;
}

for (x = a; x <= b; x += h)
{
out << f(x) << endl;
}

Pascal
function f(x: double): double;
begin
if (x < 1) then
f := 1/(x - 1);
if (x > 1) then
f := -1/(x - 1);
if (x = 1) then
f := 0;
end;

x := a;
while x <= b do
begin
writeln(f(x):0:6);
x := x + h;
end;


Слайд 9Плавающая запятая

f(0.000000) = -1.000000
f(0.100000) = -1.111111
f(0.200000) = -1.250000
f(0.300000) = -1.428571
f(0.400000)

= -1.666667
f(0.500000) = -2.000000
f(0.600000) = -2.500000
f(0.700000) = -3.333333
f(0.800000) = -5.000000
f(0.900000) = -10.000000
f(1.000000) = -9007199254740992.000000
f(1.100000) = -10.000000
f(1.200000) = -5.000000
f(1.300000) = -3.333333
f(1.400000) = -2.500000
f(1.500000) = -2.000000
f(1.600000) = -1.666667
f(1.700000) = -1.428571
f(1.800000) = -1.250000
f(1.900000) = -1.111111

Слайд 10Плавающая запятая
double eps = 1e-6;

x = 0 → abs(x)

< eps

x = y → abs(x – y) < eps

x <= y → x < y + eps

x < y → x + eps < y

Слайд 11


Спасибо за внимание!


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика