[Язык C] Перенос строки оператора printf

Подзабыл, как правильно “резать” длинные куски printf, поэтому решил написать эту шпаргалку.

Допустим у вас длиннющее выражение printf и нужно его разбить на несколько небольших для удобочитаемости (или чтобы влезало при встраивании на сайт, например). Есть три способа: Continue reading

Posted in С (Си) | Leave a comment

Как ИИ изменит нашу жизнь?

В нашем уютном МАД-дискорде зашла дискуссия за ИИ. Кто-то говорит, что ИИ в относительно скором времени приведет к «технологической сингулярности», кто-то относится к этому скептически. 

Моя позиция где-то посередине. С одной стороны очевидно, что технологический прогресс влияет на нашу повседневную жизнь. Мгновенный доступ к любой информации при помощи интернета кардинально изменил многие сферы деятельности и в первую очередь – процесс обучения (правда, образовательные учреждения к этому еще не адаптировались и учат “по старому”, чем нехило тормозят прогресс цивилизации). Изменения везде – я каждый день хожу в магазин с кассами самообслуживания и мне не надо общаться с раздражительными продавщицами. Под окном стоят несколько каршеринговых авто; и видимо скоро города заполонят машины с автопилотом. Нейросети (которые пока бесконечно далеки от “настоящего ИИ”) играют во многих из этих процессов решающую роль.

С другой стороны – изменит ли нашу жизнь внедрение новых технологий настолько драматически, как считают сторонники теории «технологической сингулярности»?Заменят ли людей машины в большинстве существующих профессий? Буду ли люди потреблять музыку и искусство, которое генерирует ИИ? Continue reading

Posted in Философия и технологии | Leave a comment

[Язык C] Ввод симола в scanf (%d): ошибка бесконечного цикла

При выполнении заданий из седьмой главы, впервые столкнулся с “защемлением цикла“. Допустим пользователь вводит символ q в поле (не делайте так, если у вас нет возможности прервать программу):

#include <stdio.h>
int main (void)
{
int n;
scanf("%d", &n);
while (n > 0)
{
    printf("Enter 0 to quit:\n");
    scanf("%d", &n);
}
getchar();
return 0;
}

Программа застрянет в бесконечном цикле при вводе любого символьного значения. Отчего так? Continue reading

Posted in С (Си) | Leave a comment

[Язык C] Упражнения по программированию (глава 7)

Задания из седьмой главы книжки Стивена Прата “C Primer Plus” —  “Управляющие операторы С: ветвление и переходы“.

1. Напишите программу, которая читает входные данные до тех пор, пока не встретится символ #, а затем отображает количество прочитанных пробелов, количество символов новой строки и количество всех остальных символов. Continue reading

Posted in С (Си) | 3 Comments

Python: циклы for, константы, срезы, кортежи, последовательности len, range, in, choice

Продолжаем учить язык программирования. Переходим к изучению 4 главы по книге: Майкл Доусон “Программируем на Python”, 2014 (Michael Dawson “Python Programming for the Absolute Beginner”, 3rd Edition), где мы изучим циклы с оператором for(), введение констант в код, срезы и кортежи, работу с последовательностями на примере строк с операторами len(), range(), in, jumble() и т.д.

Конспект 4 главы с примерами написанных мной программ:

Циклы for

Мы уже знаем циклы с оператором while, и даже сделали много задач. Помните, там вводится перед циклом управляющая переменная, которая затем используется в условии, которое в свою очередь проверяется на истинность каждый круг цикла. Так вот с циклом for все немного иначе. Continue reading

Posted in Python | Leave a comment

Премодерация на phpBB

Краткий гайд – как включить премодерацию на форуме phpBB. По умолчанию она включена, но обычно ее все отрубают и забывают как включить обратно, когда это нужно (при атаке спамеров, например). Итак:

  1. ОбщиеРегистрация пользователей → там…
      • Лимит сообщений для новых пользователей: ставим 3 (дефолт), хотя можно и поменьше.
      • Установить группу «Новые пользователи» как группу по умолчанию:ДА
  2. Права доступаФорумные права групп → выбираем Новые пользователи → ставим галку Все форумы → на появившемся для каждого форума выбираем роль С предварительным одобрением (не надо жать на кнопки справа! роль выбирается из выпадающего списка). Ставим роли для всех форумов и вуаля!

Не забудьте протестировать на новом аккаунте 🙂

Posted in phpBB | Leave a comment

[Язык C] Управляющие операторы С: ветвление и переходы (глава 7)

Седьмая глава в книжке Стивена Прата “C Primer Plus”. Начать хочу с годной программы divisors.c

Для заданного целого числа нужно вывести все целые числа, на которые заданное число делится без остатка; если таких делителей нет, необходимо вывести сообщение о том, что число является простым.

Простое число (prime) имеет ровно два различных делителя: единицу и самого себя;
Если делителей больше - это составное число (composite).

Первый вариант программы ищем простые числа в лоб, перебором делителей: Continue reading

Posted in С (Си) | Leave a comment

Python: Задачи и решения (Глава 3. Ветвление, циклы с оператором while и псевдокод. Игра “Отгадай число”).

Продолжаем изучать программирование. После третьей главы в книге: Майкл Доусон “Программируем на Python”, 2014 (Michael Dawson “Python Programming for the Absolute Beginner”, 3rd Edition), где я изучила особенности работы с текстом в языке программирования Python, предложены задания. Давайте выполнять их вместе. Я приведу свой вариант решения, а вы пишите ваши варианты в комментариях.

1) Напишите программу — симулятор пирожка с «сюрпризом», — которая бы при запуске отображала один из пяти различных «Сюрпризов», выбранный случайным образом. Continue reading

Posted in Python | Leave a comment

[Язык C] Упражнения по программированию: циклы и массивы (глава 6)

Настал долгожданный момент сделать “домашку” по шестой главе книжки Стивена Прата “C Primer Plus”. Нас ожидает аж 18 увлекательных заданий.

1. Напишите программу, которая создает массив из 26 элементов и помещает в
него 26 строчных букв английского алфавита. Также предусмотрите вывод содержимого этого массива.

Первая же программа дала мне по голове дубиной 🙂 Довольно долго не выходило, все время то с b начиналось, то не работало.. Итог, мой первый блин: Continue reading

Posted in С (Си) | 2 Comments

Python: Ветвление if, elif, else, циклы while, генерация случайных чисел

Продолжаем учиться программированию. Переходим к изучению третьей главы по книге: Майкл Доусон “Программируем на Python”, 2014 (Michael Dawson “Python Programming for the Absolute Beginner”, 3rd Edition), где мы изучим условные операторы if, elif, else и циклы while и научимся генерировать случайные числа при помощи модуля с функциями random.randint() и random.randrage().

Конспект 3 главы с примерами написанных мной программ:

Генерация случайных чисел в Python

Загружаем модуль import random — он генерирует случайные числа на основе встроенной формулы. Чтобы присвоить переменной случайное значение, нужно после вызова модуля вызвать одну из его функций, например, Continue reading

Posted in Python | Leave a comment