[Язык C] Данные в языке Си (глава 3)

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

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

1. Экспериментальным путем выясните, как ваша система обрабатывает переполнение при выполнении операций над целыми числами и над числами с плавающей запятой, а также потерю значимости при выполнении операций над числами с плавающей запятой; т.е. напишите программу, в которой присутствуют такие проблемы. (Для получения сведений о наибольших и наименьших значениях просмотрите обсуждение limits.h и float.h в главе 4). Continue reading

Posted in С (Си) | Leave a comment

[Язык C] Введение в язык Си (глава 2)

Вторая глава в книжке Стивена Прата “C Primer Plus”. Тут уже появляются первые практические задания; хоть и крайне простые, на запоминание базового синтаксиса; поэтому отдельно их результат вывода приводить не буду. Перед заданиями небольшая памятка:

5 типов операторов в языке C

  • Оператор объявления
  • Оператор присваивания
  • Функция
  • Управляющий оператор
  • Пустой оператор

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

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

Posted in С (Си) | Leave a comment

Python: базовые операторы ввода и вывода текста

Самые первые операции с текстом и базовые сведения о Python, которые помогают тут же начать программировать:

  1. # Comments
  2. Ограничители '' или "" и экранирование символов \' и \"
  3. print('Hello world') – переход на новую строку
  4. end='...' – следующий print склеится
  5. \ escape-последовательности:
    \a – системный динамик
    \n – переход на новую строку (пустая строка)
    \t – отступ типа tab
  6. + сцепление строк без разделителя
  7. * повторение строк без разделителя
  8. \ продолжение строки кода на следующей строке
  9. input('Press Entr to exit')
  10. Базовые математические операторы (+,-,*,/,//,%).
  11. Составные операторы присвоения
  12. Строковые методы (применяются к строке с текстом): I am cat
    .upper() I Am CAT
    .lower() i am cat
    .title() I Am Cat
    .replace(old,new,max число замен) заменяет старый текст на новый
    .swapcase() меняет регистры наоборот i Am Cat
    .capitalize() первая буква большая, остальные строчные I am cat
    .strip() строка без интервалов Iamcat

Continue reading

Posted in Python | Leave a comment

[Язык C] Предварительные сведения (глава 1)

Итак, первая глава в книжке Стивена Прата “C Primer Plus”. Так как в ней отсутствуют упражнения (только одно, теоретическое), то приведу небольшой  конспект главы в целях ознакомления:

Появление языка Си: 1972 в Bell Labs Деннисом Ритчи.

Причины популярности языка С

  • Конструктивные особенности
    – нисходящее планирование
    – структурное программирование
    – модульное проектирование
  • Эффективность: компактный и быстрый (быстрее только ассемблер)
  • Переносимость

Continue reading

Posted in С (Си) | Leave a comment

PHP 7.1 → 7.2

В продолжение этого поста: “Уменьшаем расход CPU хостинга. Как ускорить любой сайт на CMS

Перешел на PHP 7.2. Нагрузка на хостинг стала на 20% меньше:

По оси ординат – CPU: количеству минут, потраченных одним ядром процессора за сутки на моей виртуалке. Ну а снизу дата.

Posted in Apache, PHP, phpBB | Leave a comment

[Язык C] Введение: упражнения по программированию

Прохожу уроки по книжке Стивена Прата “C Primer Plus”. Книжка у меня 2000 года, что мне очень в тему, так как проект, над которым я планирую работать придерживается стандарта ANSI C. Но в процессе прохождения уроков, я взял в привычку брать дополнительные упражнения из книги более поздней редакции (2014 года); там больше заданий и некоторые их них весьма занятные. Еще в старой редакции огромное количество ошибок и опечаток, так что подсматривание в современную версию порой помогает исправить косяки.

Буду здесь вести свои заметки по пройденному материалу и выкладывать “прохождение” упражнений. В начале было довольно лениво что-то постить в блог, там были совсем простые штуки, но сейчас подумал – почему бы и нет 🙂 В книжке нет “ответов” на упражнения, так что инфа может быть полезна. На просторах сети народ выкладывает свои варианты выполнения заданий, но там нет “вывода”, который может быть полезен начинающим. Также я заметил, что есть 100500 вариантов написания программ и мой кучерявый код зачастую другой, чем у других новичков, так что интересно им поделиться 🙂

К сожалению, у меня не сохранились моя первоначальная редакция решений заданий с 1 по конец 4-ой главы – я их тупо выполнял и не сохранял; первое задание, с которого я начну выкладывай непосредственно программы, которые пишу сейчас будет начинаться с Главы 4, задания 7 (по новой редакции, в старой такого задания нет).

Пара слов о моей системе: я работаю под Windows 7 64x в Borland C++ Builder 6 – оригинальной версии на двух дисках. Почему она? Потому что.. ответ как обычно банален – проект, над которым я буду работать (и ради которого изучаю C) собран под этой версией IDE. Я очень тяготею по открытому ПО и впоследствии буду счастлив портировать проект например на CodeLite, но пока буду использовать Борланд. В целом, как я понимаю, разницы в какой IDE учиться – нет абсолютно никакой, главное чтобы компилятор компилировал, а синтаксис подсвечивался 🙂 

Любопытным “косяком” русского перевода книги Стивена Прата “C Primer Plus” является то, что переведены в том числе программы в листинге.. А русский язык (вывод/ввод на русском) в С так просто не работает, надо танцевать с бубном. Поэтому я буду приводить все примеры исходного кода на английском языке. Кроме того, в процессе чтения этой книги я также периодически обращаюсь к первоисточнику, т.к. русским перевод искажает некоторые термины, которые на английском языке, как ни странно, более понятны. Но тем не менее, читать на русском эту книгу приятно, так что большой респект переводчикам!

Posted in С (Си) | Leave a comment

Как поставить стрелку на клавиатуре быстро и в русской раскладке

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

Posted in Windows 7, Дизайн и верстка | Leave a comment

Закрепить “Мой компьютер” к панели задач (taskbar)

У меня уже вошло в привычку сочетание клавиш WinKey+E, чтобы вызвать “Мой компьютер”. Однако не всегда удобно это делать с клавы, порой проще щелкнуть мышкой. Но для этого приходится делать много действий – открывать меню “Пуск” (Start) и там уже жать на “Мой компьютер”.

Гораздо удобнее щелкнуть на ярлык на панели быстрого запуска. Но тут засада – когда присобачиваешь “Мой компьютер” к этой панели (ПКМ на полоску запущенной программы на панели задач → “Закрепить программу на панели задач”) – создается ярлык не на “Мой компьютер” со списком дисков; а на чёртову папку “Мои документы”. Continue reading

Posted in Windows 7 | Leave a comment

Как писать в Notepad++ код на Python

Если вы любите Notepad и хотите программировать с его помощью, то в случае языка программирования Python нужно использовать специальный плагин. Есть несколько вариантов плагинов для Notepad++, интерпретирующих Python:

  • NppExec;
  • Python script;
  • PyNPP.

Continue reading

Posted in Python | Leave a comment

[решение] Photoshop знаки препинания слева

Наткнулся на свой старый тимплейт, где при использовании инструмента “текст” – фотошоп ставит точки, запятые, вопрос (да и любые знаки препинания) слева, спереди слов. Долго не врубался где это починить, пока не откопал – надо убрать галку напротив “раскладки для стран Ближнего Востока и Юго-Восточной Азии”. Для этото ставим галку на “Латиница и восточноазиатская раскладка: Continue reading

Posted in Photoshop | Leave a comment