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

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

Posted in С (Си) | 4 Comments

Python: типы данных и функция input()

В языке программирования Python есть несколько типов данных, например:

  • целые числа int(x), например, 1-2-3-4;
  • дробные числа float(x), например, 1.0-2.0-3.5;
  • строки str(x), в которых может быть текст и другие символы.

Функция input() уже обсуждалась ранее, эта функция дает возможность пользователю вводить данные в программу, эти данные могут дальше использоваться. Continue reading

Posted in Python | Leave a comment

Python: лайфхаки по настройке среды программирования

Как только вы установили на компьютер Python, лучше сразу позаботиться о небольших нюансах, которые облегают жизнь программистам. Давайте пройдемся по основным настройкам среды программирования и Windows для комфортной работы:

1. Изменение системных переменных среды

Эта настройка позволит запускать программу, написанную на Python, в CMD операционной системы Windows (интерпретатор командной строки). Чтобы это сделать, нажимаем “Пуск” -> Изменение системных переменных среды: Continue reading

Posted in Python | Leave a comment

Компилируем в “Notepad++”

Я несколько задрался использовать Borland 6 для обучения C. Мощная программа и все такое, но из-за своего возраста возможности кастомизации UI там на уровне блокнота (того самого). К примеру, нельзя изменить предустановленные цвета для стиля кода. Поэтому я решился на переезд, по крайней мере в плане редактора.

Я приверженец Notepad++ 🙂 Прямо вот обожаю этот редактор. И поэтому решил прикрутить компилятор к нему. Для обучения Notepad++ подойдет, хотя конечно большие проекты в нем невозможно вести. Из плюсов – удобная консоль, которая всегда на экране, не надо ее вызывать; в общем, компилировать в плюсах довольно просто, как оказалось: Continue reading

Posted in IDE, С (Си) | Leave a comment

[Язык C] Программа про зернышки на шахматной доске (глава 5)

Из пятой главы книжки Стивена Прата “C Primer Plus” – программа по мотивам известной присказки, которая иллюстрирует возрастание по экспоненте.

Предыстория:
Царь предложил выбрать награду герою за услугу; герой попросил положить на шахматную доску одно зернышко на первую клетку, два зернышка на вторую, четыре – на третью и удваивать зернышки таким образом, пока доска не заполнится. Царь был поражен скромностью и согласился.. Что из этого вышло: Continue reading

Posted in С (Си) | Leave a comment

[Язык C] Операции, выражения и операторы (глава 5)

Пятая глава в книжке Стивена Прата “C Primer Plus”. В ней идет речь об операторах и цикле while. Любопытно, что в книге Прата while идет до if/else в плане изложения материала; в то время, как в программировании часто учат циклы уже посте условных операторов.

Помимо решений, буду постить свои варианты некоторых (наиболее любопытных) программ из листингов. Я делаю так – просматриваю листинг, потом закрываю книжку и пишу “своими словами”: Continue reading

Posted in С (Си) | Leave a comment

[Язык C] Символьные строки и форматированный ввод-вывод (глава 4)

Четвертая глава в книжке Стивена Прата “C Primer Plus”.

Упражнения по программированию и их решения:

1. Напишите программу, которая запрашивает имя и фамилию, а затем выводит их в формате фамилия, имя. Continue reading

Posted in С (Си) | Leave a comment