JavaRush/Курсы/Harvard CS50/Проверка на правильность

Проверка на правильность

Открыта

В «Виртуальную лабораторию CS50» и CS50 IDE встроено приложение check50. Оно проверяет некоторые программы на наличие ошибок, а вызвать его можно из командной строки.  

Если вы ещё не там, перейдите в рабочую директорию (для виртуальной лаборотарии это ~/dropbox/pset1, для CS50 IDE это ~/workspace/pset1), выполнив в терминале команду (для первого случая):

cd ~/dropbox/pset1

или для второго случая:

cd ~/workspace/pset1

Теперь выполните 

ls

вы увидите, по меньшей мере, файл hello.c. Убедитесь, что название файла выглядит именно так, а не, скажем, Hello.c или hello.C. Переименовать файл можно, выполнив команду 

mv source destination

где source — текущее имя файла, destination — новое имя файла.
mv (от англ. move) — утилита для переименования. Если вы случайно назвали файл Hello.c, наберите строку:

mv Hello.c hello.c

Убедившись, что файл точно называется hello.c, если вы уже компилировали программу с помощью команды make hello и увидели в консоли надпись hello, world после вызова команды ./hello, наступило время отправить её на проверку.

Для этого вызовем check50. Обратите внимание, что 2015.fall.pset1.hello — уникальный идентификатор для задачки “hello world”. 

check50 2015.fall.pset1.hello hello.c

Если программа выполнена правильно, вы увидите что-то в этом роде: 

Проверка на правильность - 1

Весёлые смайлики зелёного цвета означают, что тест пройден. Также можете видеть URL внизу вывода check50, но он нужен только сотрудникам (впрочем, если интересно, заходите!).

check50 запускает 3 теста: существует ли файл hello.c, компилируется ли hello.c и выдает ли приложение строку, в которой написан текст «hello, world\n».

Если вы увидите грустные красные смайлики, значит у вас баг.

Проверка на правильность - 2

Здесь check50 не нашел hello.c, и красный смайлик сигнализирует, что вы либо ошиблись в имени, либо загрузили файл не туда. Жёлтые «нейтральные» смайлы означают, что тесты не запустились. И откуда им запуститься, если программа не нашла файл, который нужно проверить?

Вот еще один вариант, который выскочит в том случае, если вы меняли текст, который должна вывести функция printf():

Проверка на правильность - 3

check50 сообщает, что ожидалась строка hello, world\n, но появилось что-то другое. 

Комментарии (106)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #3319921
Уровень 27
6 апреля 2024, 10:47
что-то у меня ничего не получается
IPiminov
Уровень 2
14 июня 2024, 10:41
make hello введите в терминале
OksanaS
Уровень 24
22 сентября 2022, 05:16
мне пишет, что нет интернета ( не понимаю что надо сделать
Dina
Уровень 1
14 сентября 2022, 19:08
Победила командой: check50 --local cs50/problems/2018/x/hello подробнее тут: https://cs50.readthedocs.io/projects/check50/en/latest/#usage
2 августа 2022, 12:44
~/Documents/pset1/ $ check50 2015.fall.pset1.hello hello.c usage: check50 [-h] [-d] [--offline] [-l] [-o {ansi,json,html} [{ansi,json,html} ...]] [--target TARGET [TARGET ...]] [--output-file FILE] [--log-level {debug,info,warning,error}] [--ansi-log] [--no-download-checks] [--no-install-dependencies] [-V] [--logout] slug check50: error: unrecognized arguments: hello. что это значит? не нашел в гугле
Leo
Уровень 8
3 февраля 2022, 16:35
Помогите пожалуйста. В лаборатории пытался проверить командой написанной в статье, перепробовал команды из комментариев, выдаёт всегда одно и то же, сначала много строк где говорится что он пытается к чему то подключится, а в конце это. Как это исправить?
Kiril
Уровень 33
1 февраля 2022, 14:56
Так и не получилось пройти проверку. Сделал токен на гитхабе, получил письмо с подтверждением токена на почту. Вроде всё должно работать, а вот нет. Пробовал вводить: check50 2015.fall.pset1.hello hello.c check50 2022.fall.pset1.hello hello.c check50 2021.fall.pset1.hello hello.c check50 cs50/problems/2018/x/hello check50 cs50/problems/2022/x/hello но ничего не происходит!
Anonymous #2976284
Уровень 1
1 февраля 2022, 19:11
тоже самое
Anonymous #2976284
Уровень 1
31 января 2022, 21:06
создал токен на гитхабе вбивал как написано снизу в итоге выдает ошибку:(
Alexander Malshakov
Уровень 1
30 июня 2022, 10:25
Точно так же:(
Shahin
Уровень 2
25 августа 2022, 19:19
та же самая проблема
Vik
Уровень 27
17 мая 2021, 22:51
https://github.com/me50/ИМЯ пользователя на гите.git Если авторизоваться не получается как ниже описано, переходите по ссылке выше и дайте разрешение
Kaisar Zhanabayev
Уровень 16
8 марта 2021, 16:17
ребят надо установить check50 вводите: pip install check50 затем проверяйте так: 3) вбейте в терминал (в CS50 IDE) check50 cs50/problems/2018/x/hello 4) Потом на CS50 IDE будут спрашивать твой ник на GitHub и пароль затем начнется проверка пока так)
Anonymous #2976284
Уровень 1
31 января 2022, 20:44
он спрашивает не пароль а токен а потом выдают ошибку
Alexander Malshakov
Уровень 1
30 июня 2022, 10:01
Такая же штука
Raw51
Уровень 7
24 июля 2022, 13:41
Вчера 4 часа просидел перепробывал все что нашел и оставил на сегодня.Сегодня делаю тоже самое и опа уже работает . от чего ето зависит ????? потратил кучу времени
Shahin
Уровень 2
25 августа 2022, 19:21
как у тебя сработало? что ты сделал?? у меня до сих пор не работает
Lada Grebenshchikova
Уровень 1
20 ноября 2020, 21:43
не пойму что не так?
Alexander Malshakov
Уровень 1
30 июня 2022, 10:01
Такая же штука