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

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

Harvard CS50
1 уровень , 12 лекция
Открыта

В «Виртуальную лабораторию 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, но появилось что-то другое. 

Комментарии (108)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
hidden #3319921 Уровень 27
6 апреля 2024
что-то у меня ничего не получается
IPiminov Уровень 1
14 июня 2024
make hello введите в терминале
OksanaS Уровень 24
22 сентября 2022
мне пишет, что нет интернета ( не понимаю что надо сделать
Dina Уровень 1
14 сентября 2022
Победила командой: check50 --local cs50/problems/2018/x/hello подробнее тут: https://cs50.readthedocs.io/projects/check50/en/latest/#usage
Максим Леурдо Уровень 1
2 августа 2022
~/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. что это значит? не нашел в гугле
Александр Уровень 14
20 февраля 2022
https://cs50.harvard.edu/college/2022/spring/psets/1/ https://cs50.harvard.edu/college/2022/spring/psets/1/hello/
Anonymous #3060944 Уровень 2
22 апреля 2022
спасибо!!!
Leo Уровень 8
3 февраля 2022
Помогите пожалуйста. В лаборатории пытался проверить командой написанной в статье, перепробовал команды из комментариев, выдаёт всегда одно и то же, сначала много строк где говорится что он пытается к чему то подключится, а в конце это. Как это исправить?
Kiril Уровень 33
1 февраля 2022
Так и не получилось пройти проверку. Сделал токен на гитхабе, получил письмо с подтверждением токена на почту. Вроде всё должно работать, а вот нет. Пробовал вводить: 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
тоже самое
Anonymous #2976284 Уровень 1
31 января 2022
создал токен на гитхабе вбивал как написано снизу в итоге выдает ошибку:(
Alexander Malshakov Уровень 1
30 июня 2022
Точно так же:(
Shahin Уровень 2
25 августа 2022
та же самая проблема
Vik Уровень 27
17 мая 2021
https://github.com/me50/ИМЯ пользователя на гите.git Если авторизоваться не получается как ниже описано, переходите по ссылке выше и дайте разрешение
Kaisar Zhanabayev Уровень 16
8 марта 2021
ребят надо установить check50 вводите: pip install check50 затем проверяйте так: 3) вбейте в терминал (в CS50 IDE) check50 cs50/problems/2018/x/hello 4) Потом на CS50 IDE будут спрашивать твой ник на GitHub и пароль затем начнется проверка пока так)
Anonymous #2976284 Уровень 1
31 января 2022
он спрашивает не пароль а токен а потом выдают ошибку
Alexander Malshakov Уровень 1
30 июня 2022
Такая же штука
Raw51 Уровень 7
24 июля 2022
Вчера 4 часа просидел перепробывал все что нашел и оставил на сегодня.Сегодня делаю тоже самое и опа уже работает . от чего ето зависит ????? потратил кучу времени
Shahin Уровень 2
25 августа 2022
как у тебя сработало? что ты сделал?? у меня до сих пор не работает