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 С (Си) | 1 Comment

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

Python: Задачи и решения (Глава 2. Типы, переменные и основы ввода-вывода. Программа “Бесполезные факты”).

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

1) Придумайте два списка: допустимых и недопустимых имен переменных. Объясните, почему каждое из имен допустимо или соответственно недопустимо. Затем придумайте еще два списка — «хороших» и «плохих» допустимых имен — и объясните свой выбор.

Допустимые имена переменных: name, price, password, age, size (это могут быть любые слова, которые не зарезервированы в языке программирования для функций / операторов) Continue reading

Posted in Python | Leave a comment

[Язык C] Загадочный scanf и %c: вводим фразу, а не символ

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

Задание таково:

Что выведут приведенные далее программы в случае ввода Go west, young man! ?
(В кодировке ASCII символ ! следует за символом пробела).

#include <stdio.h>
int main(void) {
  char ch;
  scanf("%c", &ch);
  while (ch != 'g') {
    printf("%c", ch);
    scanf("%c", &ch);
  }
  return 0;
}

Казалось бы все просто. Должно вывестись G – ведь %c в scanf является запросом одного символа. Точнее даже так – программа написана неверно, т.к. мы вводим целую фразу при помощи %c, тогда как ее надо вводить как строку %s. Ну да ладно. Это обучающий пример и все такое, поэтому предположим.. Итак, ответ G.

Не тут-то было. Программа выводит: Continue reading

Posted in С (Си) | Leave a comment

Python: Задачи и решения (Глава 1. Начало работы. Программа Game Over).

Продолжаем учиться программированию. После второй главы в книге: Майкл Доусон “Программируем на 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”

Цикл с предусловием:
for (инициализация; проверка; обновление)
            оператор

Инициализирующее выражение → проверяемое выражение → корректирующее выражение

Цикл с постусловием:
do
     оператор
while (выражение)

Оперативная часть повторяется, пока выражение не станет ложным (false), т.е. равным нулю.

Греческий философ Зенон и цикл for

Греческий философ Зенон утверждал, что стрела никогда не поразит своей цели. Сначала, говорил он, стрела пролетает половину пути до цели. Затем она пролетает половину оставшегося пути, затем – половину того пути, который останется, и так до бесконечности. Continue reading

Posted in С (Си) | 6 Comments