Рассказы о математике с примерами на языках Python и C [Д Елисеев] (fb2) читать постранично, страница - 2
Книга 395988 устарела и заменена на исправленную
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- 4
- . . .
- последняя (26) »
Вывод чисел от 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))
- 1
- 2
- 3
- 4
- . . .
- последняя (26) »
Последние комментарии
6 часов 34 минут назад
6 часов 42 минут назад
12 часов 54 минут назад
12 часов 58 минут назад
13 часов 8 минут назад
13 часов 14 минут назад