Skip to content

Commit

Permalink
Append Tasks.md with tasks from the lecture cs-au-dk#6
Browse files Browse the repository at this point in the history
  • Loading branch information
vldF committed May 1, 2024
1 parent c4e8429 commit 0cc5dc0
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions Tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,29 @@ output a*b; // {x-1, x>0}
отобразить полученные интервалы значений на интервалы разрядностей в битах, а потом и на
решётку из 6 типов из задания. Для каждого из них необходимо указать интервалы значений и в этом
случае при помощи widening можно будет свести решётку к тому, что требуется по заданию

## Lec #6

### Напишите вариант программы, для которой анализ открытости-закрытости файлов не показывает корректный результат

```
var flag;
flag = input();
if (flag) {
open();
}
// ...
if (flag) {
close();
}
```

С точки зрения семантики TIP, `0 = false`, все другие значения — `true`. А с точки зрения наших
правил `flag` может быть только `0` или `1`. Тут же `flag` может быть произвольным числом.
По этому, анализ из лекции не сработает в этом случае

### Предложите, каким образом можно решить описанные в лекции проблемы в этой ситуации

Можно расширить правила, чтобы учесть там два случая: `flag = 0` и `!(flag = 0)`. В этом случае
всё должно заработать правильно

0 comments on commit 0cc5dc0

Please sign in to comment.