КулЛиб - Классная библиотека! Скачать книги бесплатно
Всего книг - 711893 томов
Объем библиотеки - 1397 Гб.
Всего авторов - 274271
Пользователей - 125012

Последние комментарии

Новое на форуме

Новое в блогах

Впечатления

Koveshnikov про Nic Saint: Purrfectly Dogged. Purrfectly Dead. Purrfect Saint (Детектив)

...

Рейтинг: 0 ( 0 за, 0 против).
pva2408 про Зайцев: Стратегия одиночки. Книга шестая (Героическое фэнтези)

Добавлены две новые главы

Рейтинг: +1 ( 1 за, 0 против).
medicus про Русич: Стервятники пустоты (Боевая фантастика)

Открываю книгу.

cit: "Мягкие шелковистые волосы щекочут лицо. Сквозь вязкую дрему пробивается ласковый голос:
— Сыночек пора вставать!"

На втором же предложении автор, наверное, решил, что запятую можно спиздить и продать.

Рейтинг: +2 ( 2 за, 0 против).
vovih1 про Багдерина: "Фантастика 2024-76". Компиляция. Книги 1-26 (Боевая фантастика)

Спасибо автору по приведению в читабельный вид авторских текстов

Рейтинг: +3 ( 3 за, 0 против).
medicus про Маш: Охота на Князя Тьмы (Детективная фантастика)

cit anno: "студентка факультета судебной экспертизы"


Хорошая аннотация, экономит время. С четырёх слов понятно, что автор не знает, о чём пишет, примерно нихрена.

Рейтинг: +2 ( 2 за, 0 против).

Рассказы о математике с примерами на языках Python и C [Д Елисеев] (fb2) читать постранично, страница - 2

Книга 395988 устарела и заменена на исправленную


 [Настройки текста]  [Cбросить фильтры]

class="book">Python

Вывод чисел от 1 до 9:

for p in range(1,10):

print (p)


Для сравнения, вот такой код без отступов работать не будет, и это важно помнить, например при копировании кода из этой книги:

for p in range(1,10):

print (p)

Вывод чисел от 1 до 9 с шагом 2:

for p in range(1,10,2):

print (p)


Си

Вывод чисел от 1 до 9:

      for(int i=1; i<10; i++) {

       printf("%d\n", i);

      }


Вывод чисел от 1 до 9 с шагом 2:

      for(int i=1; i<10; i+=2) {

       printf("%d\n", i);

      }


Массивы


Массив это линейный набор чисел, с которыми удобно выполнять однотипные операции, например вычисление суммы или среднего арифметического.


Python:

Объявляем массив чисел:

values = [1,2,3,5,10,15,20]


Добавляем элемент в массив:

values.append(7)


Выводим массив на экран:

print (values)


Выводим элементы массива построчно:

for p in values:

print (p)


Это же можно сделать с помощью индексов (нумерация элементов массива начинается с 0):

for i in range(0,len(values)):

print (values[i])


Можно создать массив определенного размера, заполненный определенными числами. Создадим массив из 100 элементов, заполненный нулями.

values = [0.0] * 100

print (values)


Есть немного более сложный, но и более гибкий вариант создания массива. Создадим массив из 100 элементов, заполненный нулями:

values = [0.0 for i in range(100)]

Создадим массив, заполненный числами 0,1,..,99:

values = [i for i in range(100)]


Создадим массив, заполненный квадратами чисел:

values = [i*i for i in range(100)]


Создать двухмерный массив в Python также несложно:

matrix4x4 = [ [0,0,0,0], [0,0,0,0], [0,0,0,0], [0,0,0,0]]

matrix4x4[0][0] = 1

print (matrix4x4)


Аналогично вышеописанному способу, можно создать 2х-мерный массив 100x100:

values100x100 = [ [0.0 for j in range(100)] for i in range(100)]


Си:

Динамические массивы поддерживаются только в C++, статические массивы создаются так:


int values[7] = { 1,2,3,5,10,15,20 };

for(int i=0; i<7; i++) {

printf("%d\n", values[i]);

}


При желании можно слегка схитрить, если максимальный размер массива заранее известен.

int values[255] = { 1,2,3,5,10,15,20 }, cnt = 7;

for(int i=0; i<cnt; i++) {

printf("%d\n", values[i]);

}

values[cnt] = 7;

cnt++;


Можно пользоваться динамическим распределением памяти, хотя это немного сложнее:

int *valuesArray = (int*)malloc(10*sizeof(int));

valuesArray[0] = 1;

valuesArray[1] = 3;

valuesArray[2] = 15;

valuesArray = (int*)realloc(valuesArray, 25*sizeof(int));

valuesArray[20] = 555;

valuesArray[21] = 777;

for(int i=0; i<25; i++) {

printf("%d\n", valuesArray[i]);

}

free(valuesArray);


Важно заметить, что неинициализированные значения массива, например valuesArray[16], будут содержать “мусор”, некие значения которые были до этого в памяти. Си достаточно низкоуровневый язык, и такие моменты нужно учитывать. Хорошим тоном является инициализация всех переменных при их описании. Вот такой код формально не содержит ошибок:

int x;

printf("x=%d\n", x);


Однако при его запуске выведется значение 4196608, или 0, или 32, результат непредсказуем. В большой программе такие ошибки может быть сложно найти, тем более что проявляться они могут не всегда.


Арифметические операции


Сложение, умножение, деление:

x1 = 3

x2 = (2*x1*x1 + 10*x1 + 7)/x1


Возведение в степень:

x3 = x1**10

print (x1,x2,x3)


Переменную также можно увеличить или уменьшить:

x1 += 1

x1 -= 10

print (x1)


Остаток от деления:

x2 = x1 % 6

print (x2)


Условия в Python кстати, задаются отступами, аналогично циклам:

print (x1)

if x1 % 2 == 0:

print("x1 четное число")

else:

print("x1 нечетное число")


Подсчитаем сумму элементов массива:

values = [1,2,3,5,10,15,20]

s = 0

for p in values:

s += p

print(s)


Также для этого можно воспользоваться встроенной функцией sum:

values = [1,2,3,5,10,15,20]

print(sum(values))


В Си вычисление суммы элементов массива выглядит так:

int sum = 0;

for(int i=0; i<cnt; i++) {

       sum += values[i];

      }

      printf("Sum=%d\n", sum);


Для более сложных операций в Python необходимо подключить модуль math. Вычисление квадратного корня:

import math


print (math.sqrt(x3))


Python может делать вычисления с большими числами, что достаточно удобно:

import math


x1 = 12131231321321312312313131124141

print (10*x1)

print (math.sqrt(x1))