Примеры кода
Приветствую! Здесь вы наверняка найдете, что ищете. Примеры в лаборатории рассчитаны на то, что мы разбираем что-то конкретное.
Текущая статья посвящена типовые задачи на Python, JavaScript, Java и C#: пошаговое сравнение синтаксиса, ошибок и проверки результата..
Поэтому за теорией по текущей теме вам — в энциклопедию. Если ещё не погружались, то маршрут прост:
- Основы
- Система и сеть
- Данные и разметка
- Код и разработка
- Языки
- Искусственный интеллект
- Проект
- Инфраструктура и безопасность
- Спин-офф
Обязательно пройдитесь.
А теперь приступим к нашему предмету.
Решите задачу на знакомом языке, затем повторите на втором. Сравните обработку типов и ошибок.
Задача 1. Вывод текста
Цель: вывести строку в консоль.
Python
print("Привет, мир!")
JavaScript (Node.js)
console.log("Привет, мир!");
Java
public class Main {
public static void main(String[] args) {
System.out.println("Привет, мир!");
}
}
C#
Console.WriteLine("Привет, мир!");
Ошибка новичка: в Java забыть метод main как точку входа.
Задача 2. Переменные и арифметика
Цель: сложить два числа и вывести результат.
Python
a, b = 10, 3
print(f"Сумма: {a + b}, остаток: {a % b}")
JavaScript
const a = 10, b = 3;
console.log(`Сумма: ${a + b}, остаток: ${a % b}`);
Java
int a = 10, b = 3;
System.out.println("Сумма: " + (a + b) + ", остаток: " + (a % b));
C#
int a = 10, b = 3;
Console.WriteLine($"Сумма: {a + b}, остаток: {a % b}");
Ошибка: в Java делить два int и ожидать дробный результат без приведения к double.
Задача 3. Условие if/else
Цель: классифицировать возраст.
Логика: >= 18 — взрослый, >= 14 — подросток, иначе — ребёнок.
Python
age = 18
if age >= 18:
print("взрослый")
elif age >= 14:
print("подросток")
else:
print("ребёнок")
JavaScript / Java / C#
Синтаксис одинаковый: if (условие) { } else if { } else { }.
Ошибка: перепутать порядок веток (сначала проверять старшее условие).
Задача 4. Цикл: чётные числа 1–10
Python
for i in range(1, 11):
if i % 2 == 0:
print(i)
JavaScript
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) console.log(i);
}
Java / C#
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) System.out.println(i);
}
Задача 5. Список / массив
Цель: добавить элемент и перебрать коллекцию.
| Язык | Тип коллекции |
|---|---|
| Python | list, append |
| JavaScript | Array, push |
| Java | ArrayList<T> |
| C# | List<T> |
Python
fruits = ["яблоко", "банан"]
fruits.append("манго")
for f in fruits:
print(f)
Задача 6. Функция с возвратом значения
Python
def greet(name: str) -> str:
return f"Привет, {name}!"
print(greet("Алиса"))
C#
static string Greet(string name) => $"Привет, {name}!";
Ошибка: забыть return в ветке функции.
Задача 7. Деление с проверкой ошибки
Python
def divide(a: float, b: float) -> float:
if b == 0:
raise ValueError("Деление на ноль")
return a / b
C#
static double Divide(double a, double b)
{
if (b == 0) throw new ArgumentException("Деление на ноль");
return a / b;
}
JavaScript
function divide(a, b) {
if (b === 0) throw new Error("Деление на ноль");
return a / b;
}
Задача 8. Чтение файла
| Язык | Подход |
|---|---|
| Python | with open(..) as f |
| Node.js | fs.readFileSync / promises |
| Java | Files.readString |
| C# | File.ReadAllText |
Общее правило: указывайте кодировку UTF-8 и закрывайте ресурсы.
Сравнение языков
| Аспект | Python | JavaScript | Java | C# |
|---|---|---|---|---|
| Типизация | Динамическая | Динамическая | Статическая | Статическая |
| Точка входа | Скрипт сверху вниз | main нет (Node — файл) |
main |
Main |
| Строки | f-строки | Шаблонные ` |
Конкатенация + |
Интерполяция $"" |
| Ошибки | try/except |
try/catch |
try/catch |
try/catch |
Чек-лист самопроверки
- Код запускается без изменений в указанной среде.
- Граничные случаи проверены (0, пустая строка, пустой список).
- Сообщения об ошибках понятны пользователю или логу.