Лабораторная №1 — задание 1.2A #
Нужно написать конспект по различиям двух ранее выбранных языков программирования.
Это задание лучше выполнять с помощью ИИ-моделей — см. Правила использования ИИ
Порядок выполнения #
- Познакомиться с языком разметки Markdown — научиться добавлять:
- Заголовки (Headings)
- Нумерованные и ненумерованные списки (Lists), в том числе двухуровневые
- Фрагменты кода (Code blocks)
- Таблицы (Tables)
- Создать markdown-файл
docs/competitors/README.md - Написать в формате markdown конспект с описанием различий лексики, синтаксиса и семантики двух ранее выбранных языков программирования
- В конспекте можно показывать разницу на примерах
Обращайте внимание на следующие различия:
- Синтаксис циклов, ветвлений, блоков кода
- Способ объявления типов переменных и параметров
- Набор типов данных
- Набор операторов: арифметических, логических, сравнения и других
- Описание пользовательских функций
- Описание пользовательских структур
- Управление памятью
- Обработка ошибок
Требования #
- Лаконичный текст — то есть одновременно ёмкий и краткий
- Эстетичное оформление — заголовки, списки, форматирование текста используются уместно
Не копируйте целиком ответы ИИ или статьи из Интернета — выделяйте суть и пишите только важное.
Ссылки #
- Markdown: Basic writing and formatting syntax
- Плагины VS Code для Markdown и Mermaid: Markdown All in One, Markdown Preview Mermaid Support
- Плагины VS Code для проверки орфографии в Markdown и в коде: Code Spell Checker, Russian - Code Spell Checker
Использование ИИ #
Пример промпта:
Ты опытный разработчик с опытом реализации компиляторов
1. Ты пишешь кратко и по делу, без "воды", без канцеляризмов
2. Ты систематизируешь и структурируешь информацию
3. Ты разбираешься в теории автоматов, в формальных языках и грамматиках
Проанализируй различия между Pascal и C с точки зрения разработки фронтенда небольшого учебного компилятора.
Обрати внимание на различия:
1. В инструментах структурного программирования (циклы, ветвления, блоки кода)
2. В наборе операторов
3. В базовом наборе типов данных
4. В описании пользовательских функций (включая поддержку рекурсии и передачу параметров)
5. В описании пользовательских структур
6. В работе со строками
7. В работе с массивами
8. В управлении памятью
9. В принятых практиках обработки ошибок