Архив рубрики: Программирование

Язык Си: выборы большинством голосов

Начинается третья неделя обучения Computer Science CS50 (Гарвард) и мы продолжаем учить язык C. Первое задание: реализация системы голосования, где выигрывает кандидат, получившей наибольшее количество голосов, т.н. мажоритарная система по большинству или просто «победитель получает все» (plurality.c). Пользователь может выбрать … Читать далее

Рубрика: С (Си) | Оставить комментарий

Язык Си: игра «Эрудит» с другом

На второй неделе обучения по курсу Computer Science CS50 (Harvard) после выполнения всех индивидуальных заданий мы переходим к лабораторной работе по языку C, которую нужно выполнять в группе. Это будет интересная задача — написать код игры «Эрудит» (Scrabble.с). Суть задания: … Читать далее

Рубрика: С (Си) | Оставить комментарий

Язык Си: продвинутое шифрование по-цезарски

Продолжаем выполнять домашние задания из Problem set 2 в курсе Computer science CS50 (Harvard). В прошлый раз мы научились шифровать текст сдвигом букв на некое число (ключ), введенный пользователем. А в этот раз решим задачу посложнее, это будет программа Substitution.c … Читать далее

Рубрика: С (Си) | Оставить комментарий

Язык Си: шифрование текста Цезаря

Продолжаем делать домашние задания по курсу Computer science CS50 (Harvard), и в этот раз нужно написать код программы и зашифровать текстовое послание. Суть задания ceasar.c заключается в том, чтобы программа запрашивала ввод текста пользователя, а затем выводила ниже строку текста … Читать далее

Рубрика: С (Си) | Оставить комментарий

Язык Си: расчет уровня сложности текста по индексу Колман-Лиау

Продолжаем проходить курс Computer Science CS50 (Harvard), и в этот раз будем делать задание на расчет уровня сложности текста по индексу Колман-Лиау (readability.c) на языке программирования C. Согласно идее двух авторов метода, можно оценить сложность текста и таким образом распределить … Читать далее

Рубрика: С (Си) | Оставить комментарий

Язык Си: проверка номера кредитной карты по алгоритму Луна

В курсе cs50 (Гарвард) есть задача по программированию на Си по выявлению правильности номера кредитной карты через алгоритм Луна (credit.c). Разберем эту задачку и покажем два варианта еще решения. Итак. На любой кредитке напечатан номер, который также хранится в базе … Читать далее

Рубрика: С (Си) | Оставить комментарий

Язык Си: сколько монет дает кассир

Изучая жадные алгоритмы (Greedy Algorithms) на языке программирования C в CS50 (Гарвард), давайте решим задачу про монеты (Cash.c). Допустим, что вам нужно дать сдачу покупателю в магазине и вы хотите свести к минимуму количество монет, которые вы выдаете каждому покупателю.  … Читать далее

Рубрика: С (Си) | Оставить комментарий

Язык Си: рисуем пирамидку из Mario

Любопытная задачка для новичков из CS50 (Гарвард). Задача: нарисовать пирамидку из игры Марио (mario-less.c) при помощи символов # (решетка или хэш). Пользователя спрашивают: «Из скольких блоков сделать пирамиду?», он вводит число и пирамидка рисуется, с выравниванием по правому краю, вот … Читать далее

Рубрика: С (Си) | 1 комментарий

Язык C: примеры неявного преобразования типов

Одна из самых жестких вещей в языке C— это неявное преобразование типов. Если вы не будете следить за этим — у вас будут большие проблемы. Попробуйте запустить этот код, чтобы узреть возможные траблы: #include <stdio.h> int main (void) { int … Читать далее

Рубрика: С (Си) | Оставить комментарий

[Язык C] Арифметические прогрессии и MMORPG

Я заядлый игрок в MMORPG и для меня изучение программирования становится намного веселее и интереснее, если у написанных программ есть какая-то привязка к играм. Это особенно важно, если речь идет о каких-то абстрактных математических вещах, которые мне (гуманитарию) весьма непросто воспринимать. … Читать далее

Рубрика: С (Си) | Оставить комментарий

PHP: простой запрос к базе данных MySQL, форма и кнопка

Начало работы с базами данных на PHP может показаться довольно сложным делом, если сразу пытаться «съесть слона» и делать слишком сложные запросы. Начнем с самого базового простого запроса к базе данных, чтобы понять общий принцип. Рабочий код, который можно скопировать, … Читать далее

Рубрика: PHP | 2 комментария

[Язык C] Приоритет операций

Как мне кажется, более удачно отформатировал приоритеты операций K&R: → ( )  [ ]  ->  . ← !  ~  ++   – –   +  –  *  &  (type)  sizeof → *  /  % → +  — → <<  >> … Читать далее

Рубрика: С (Си) | Оставить комментарий

Python ООП — объектно-ориентированное программирование

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

Рубрика: Python | Оставить комментарий

Как переименовать расширение файла в Python

Задача: в папке лежит файл с расширением .raw и мне нужно переименовать этот файл на такой же, но с другим расширением .txt — как это делать? Решение: Нужно импортировать модуль os, у которого есть методы os.path.splitext() и os.rename(). Методом os.path.splitext() … Читать далее

Рубрика: Python | Оставить комментарий

[Язык C] Функция memcpy ()

Помню, что когда я увидел первый раз в коде функцию memcpy () — не понял, что это за неведомая зверушка. Никто и думать не думал написать комментарий, который ее объясняет (не, ну потом понимаешь, что эт логично.. не писать же … Читать далее

Рубрика: С (Си) | Оставить комментарий

Python: Задачи и решения (Глава 7. Файлы и исключения. Игра «Викторина»)

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

Рубрика: Python | Оставить комментарий

Ошибка Python: inconsistent use of tabs and spaces in indentation

При запуске кода возникает ошибка синтаксиса— inconsistent use of tabs and spaces in indentation. Что это означает и как решить эту проблему? Дело в том, что python следит за соблюдением единообразия в использовании пробелов, которые показывают отступы частей кода. Если … Читать далее

Рубрика: Python | Оставить комментарий