Команды управления «черепашкой» — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Команды управления «черепашкой»

2017-09-10 909
Команды управления «черепашкой» 0.00 из 5.00 0 оценок
Заказать работу

Полный список команд управления «черепашкой» можно получить через help('turtle'). Вот некоторые из них:

Up() – поднятие пера, чтоб не оставалось следа перемещения

Down() – опускание пера, чтоб при перемещении оставался след

Goto(x,y) – перемещение пера в точку с координатами (x,y)

Color(‘строка цвета’) – изменение цвета пера

Width(n) – установка толщины пера в точках экрана

Forward (n) – перемещение пера вперёд на n точек

Backward (n) – перемещение пера назад на n точек

Right (k) – перемещение пера вправо на k точек

Left (k) – перемещение пера влево на k точек

Circle (r) – рисует окружность радиуса |r|

Write (‘строка’) – печатает текст в текущем положении “пера”

Clear () – очистка области рисования

 

#_*_coding: utf8_*_

import turtle

#

turtle.reset()

turtle.tracer(0)

turtle.width(2) #ширина пера

# лицо

turtle.up() #поднятие пера

x=0

y=100

turtle.goto(x,y) # установка пера в точку (0,100)

turtle.fill(1) # начало рисования закрашенной области

turtle.color('#ffaa00') # установка оранжевого цвета

turtle.down() # опускание пера

turtle.circle(100) # изображение окружности

turtle.fill(0) # завершение рисования закрашенной области

turtle.color('black')

turtle.circle(100)

turtle.up()

# глаза

x=45

y=50

turtle.goto(x,y)

turtle.down()

turtle.color('#0000aa')

turtle.fill(1)

turtle.circle(7)

turtle.up()

turtle.fill(0)

#

x=45

y=50

turtle.goto(x,y)

turtle.down()

turtle.color('#0000aa')

turtle.fill(1)

turtle.circle(7)

turtle.up()

turtle.fill(0)

#

x=-55

y=-50

turtle.goto(x,y)

turtle.right(45)

turtle.width(3)

turtle.down()

turtle.color('#aa0000')

turtle.circle(80,90)

turtle.up()

#

turtle.right(135)

x=0

y=50

turtle.goto(x,y)

turtle.width(2)

turtle.color('black')

turtle.down()

turtle.forward(100)

#

turtle._root.mainloop()

Пример рисунка

 

Рисование

 

turtle.color(color) – цвет курсора color;

turtle.penup() – Поднимаем курсор, что бы при перемещении курсора не происходило рисование линий;

turtle.pendown() – Опускаем курсор, что бы при перемещении курсора происходило рисование линий;

turtle.goto(x, y) – Перейти в точку с координатами x и y;

turtle.circle(radius) – Нарисовать круг с радиусом = radius;

turtle.right(degrees) – Повернуть курсор на право на degrees градусов;

turtle.left(degrees) – Повернуть курсор на лево на degrees градусов;

turtle.forward(length) – Нарисовать линий длиной = length;

turtle.done() – завершение программы, использующий turtle.

 

import turtle #подключить модуль turtle

Команды для перемещения курсора:

forward(n) #вперед на n пикселей

backward(n) #назад на n пикселей

left(n) #влево на n градусов

right(n) #вправо на n градусов

circle(r) #начертить окружность радиуса r, с центром кслева от курсора, если r>0, справа, если r<0

circle(r,n) #начертить дугу радиуса r, градусной мерой n против часовой стрелки, если r>0, по часовой стрелке, если r<0

goto(x,y) #переместить курсор в точку с координатами (x,y)

Команды рисования:

down() #опустить курсор для рисования

up() #поднять курсор

width(n) #ширина следа курсора в n пикселей

сolor(s) #где s #цвет рисования курсора пример: "red", "blue"

begin_fill(),end_fill() #рисует закрашенные области (начало и конец рисунка)

Дополнительно:

reset() #очищается экран, возвращает курсор

сlear() #очистить экран

write(s) #вывести строку s в точке нахождения курсора

radians() #мера измерения углов в радианы

degrees() #мера измерения углов в градусах

mainloop() #задержка окна

tracer(f) #режим отладки

Цвета, используемый в графике:

Aqua, blue, fuchsia, green, maroon, orange, pink, purple, red, yellow, violet, indigo, chartreuse, lime, import turtle # Импортируем библиотеку turtleturtle.color("black") # Устанавливаем цвет черепашкиturtle.penup() # Поднимаем курсорturtle.goto(-110, -25) # Переходим по нужным координатамturtle.pendown() # Опускаем курсорturtle.circle(45) # Рисуем круг с радиусом 45turtle.color("black")turtle.penup()turtle.goto(0, 80)turtle.pendown()turtle.write("ТҮГӘРӘК") # Вывод надписи " ТҮГӘРӘК"

import turtleturtle.penup()turtle.width(3) # ширина пераturtle.right(90) # Повернуть курсор на 90 гр. вправоturtle.goto(40, 40)turtle.pendown()turtle.forward(70) # Пройти вперед расстояние 70turtle.right(90)turtle.forward(70)turtle.right(90)turtle.forward(70)turtle.right(90)turtle.forward(70)turtle.done()

import turtleturtle.begin_fill()turtle.penup()turtle.goto(0,0)turtle.pendown()turtle.forward(60) # Пройти вперед расстояние 70turtle.right(120) # Повернуть курсор на 120 гр. вправоturtle.forward(60)turtle.right(120)turtle.forward(60)turtle.end_fill()turtle.done()

from turtle import *
color('orange', 'red')
width(3)
begin_fill()
while True:
forward(250)
left(144)
if abs(pos()) < 1:
break
end_fill()
done()

Упражнения:

  1. Нарисуйте на экране равносторонний треугольник.
  2. Нарисуйте на экране квадрат с диагоналями.
  3. Нарисуйте две касающиеся окружности.
  4. Нарисуйте две пересекающиеся окружности.
  5. Нарисуйте дом.
  6. Нарисуйте компьютер.

Canvas

Функции: сanvas(root,width=w,height=h,bg="blue", \ cursor="pencil") # холстcanv.create_line(0,0,30,50,width=3,fill="blue", \ arrow=LAST) # линияcanv.create_rectangle(x,y,x+8,y+5,fill="red", \ outline="red") # прямоугольникcanv.create_polygon([250,100],[200,150],[300,150], \ fill="red")canv.create_oval([20,200],[150,300],fill="gray50") # овал from math import *
from tkinter import *
root = Tk()
canv = Canvas(root, width = 100, height = 100, \ bg = "lightblue", cursor = "pencil")
canv.create_line(50,100,50,0,width=2,arrow=LAST)
canv.create_line(0,50,100,50,width=2,arrow=LAST)
canv.pack()
root.mainloop()

from math import * from tkinter import *root = Tk()canv = Canvas(root, width = 1000, height = 1000, \ bg = "white")canv.create_line(500,1000,500,0,width=2,arrow=LAST)canv.create_line(0,500,1000,500,width=2,arrow=LAST)First_x = -500 for i in range(16000): if (i % 800 == 0): k = First_x + (1 / 16) * i canv.create_line(k+500,-3+500,k+500,3+500, \ width=0.5, fill= 'black') canv.create_text(k+515,-10+500,text=str(k), \ fill= "purple", \ font=("Helvectica", "10")) if (k!= 0): canv.create_line(-3+500,k+500, \ 3+500,k+500,width=0.5,\ fill = 'black') canv.create_text(20+500,k+500,text=str(k), \ fill= "purple", \ font=("Helvectica", "10")) try: x = First_x + (1 / 16) * i new_f = f.replace('x', str(x)) y = -eval(new_f) + 500 x += 500 canv.create_oval(x, y, x + 1, y + 1, fill = \ 'black' ) except: pass for i in range(1600): canv.create_line(i-1, \ 500+int(sin((i-321)/180*3.14) *200), \ i,500+int(sin((i-320)/180*3.14) *200), \ width=0.5, fill= 'black')canv.pack()root.mainloop()

 

 

Рассмотрим еще одну задачу

Canvas (холст) — объект библиотеки tkinter, позволяющий располагать на себе другие объекты. Это могут быть геометрические фигуры, узоры, вставленные изображения и другие видео объектов (например, метки, кнопки, текстовые поля). И это еще не все. Отображенные на холсте объекты можно изменять и перемещать (при желании) в процессе выполнения скрипта. Учитывая все это, canvas находит широкое применение при создании GUI-приложений c использованием tkinter (создание рисунков, оформление других ВО, реализация функций графических редакторов, программируемая анимация и др.).

Для создания объект-холст вызывается класс модуля tkinter и устанавливаются некоторые параметры. Например:

from tkinter import *
root = Tk()
canv = Canvas(root,width=600,height=600,bg="white",cursor= "pencil")

Далее с помощью любого менеджера геометрии разместить на главном окне.

Нулевая точка (0,0) для объекта Canvas располагается в верхнем левом углу. Единицы измерения пиксели (точки экрана).

Чтобы нарисовать линию на холсте применяется метод create_line.

canv.create_line(200,50,300,50,width=3,fill="blue")
canv.create_line(0,0,100,100,width=6,arrow=LAST,fill="orange")

Четыре числа — это пары координат начала и конца линии, т.е в примере первая линия начинается из точки (200,50), а заканчивается в точке (300,50). Вторая линия начинается в точке (0,0), заканчивается — в (100,100). Свойство fill позволяет задать цвет линии отличный от черного, а arrow – установить стрелку (в конце, начале или по обоим концам линии).

Так для изображения осей можно написать

canv.create_line(500,600,500,0,width=4,arrow=LAST)canv.create_line(0,500,600,500,width=4,arrow=LAST)

Метод create_rectangle создает прямоугольник. Аналогично линии в скобках первыми аргументами прописываются четыре числа. Первые две координаты обозначают верхний левый угол прямоугольника, вторые — правый нижний.

x = 70y = 110canv.create_rectangle(x,y,x+80,y+50,fill="white",outline="blue")

Опция outline определяет цвет границы прямоугольника.

Многоугольник определяется парами координат для каждой его точки.

canv.create_polygon([250,100],[200,150],[300,150],fill="red")

Квадратные скобки при задании координат используются для удобочитаемости (их можно не использовать). Свойство smooth задает сглаживание.

canv.create_polygon(300,80,400,80,450,75,450,200,300,180,330, 160,outline="brown",smooth=0,width=4)canv.create_polygon(300,380,400,380,450,375,450,500,300,480,330, 460,outline="orange",smooth=1,width=4)

При создании эллипса задаются координаты прямоугольника, описывающего данный эллипс.

canv.create_oval([20,200],[150,300],fill="pink")

Более сложная фигура получается методом create_arc. В зависимости от значения опции style можно получить сектор (по умолчанию), сегмент (CHORD) или дугу (ARC). Координаты по-прежнему задают прямоугольник, в который вписана окружность, из которой «вырезают» сектор, сегмент или дугу. От опций start и extent зависит угол фигуры.

canv.create_arc(160,230,230,330,start=0,extent=240, fill="lightgreen")canv.create_arc(250,230,320,360,start=30,extent=300,style=CHORD, fill="green",width=5)canv.create_arc(340,230,410,330,start=0,extent=140,style=ARC, outline="darkgreen",width=2

Последний метод объекта canvas, который будет рассмотрен в этом уроке — это метод создающий текстовую надпись.

canv.create_text(20,430,text="РӘСЕМНӘР",font="arial 36", anchor="w",justify=CENTER,fill="darkred")

Трудность здесь может возникнуть с пониманием опции anchor (якорь). По умолчанию в заданной координате располагается центр текстовой надписи. Чтобы изменить это и, например, разместить по указанной координате левую границу текста, используется якорь со значением w (от англ. west – запад). Другие значения: n, ne, e, se, s, sw, w, nw. Если букв, задающих сторону привязки две, то вторая определяет вертикальную привязку (вверх или вниз «уйдет» текст от координаты). Свойство justify определяет выравнивание текста.

Часто требуется нарисовать повторяющиеся элементы, изображение которых обеспечивается через циклы. Например:

y=10while y<450: canv.create_rectangle(520,y,570,y+50,fill="lightgrey") canv.create_line(y,520,y+50,570,fill="green",width=10) canv.create_line(y+50,520,y,570,fill="darkgreen",width=10) y = y + 60

Программа завершается

canv.pack()
root.mainloop()

Приведенный код даст следующее изображение:

 

Упражнение 1.

Написать программу рисования графика функции

a) y=cos(x)

b) y=x2

c) y=abs(x)

Упражнение 2.

a) Написать программу рисования контура куба.

b) Написать программу рисование куба с ребрами черного өвета и окрашенными гранями.

 


 

Ошибки и исключения

Существуют два типа ошибок: синтаксические и семантические.

Синтаксические ошибки во время трансляции диагностируются и, указывая место ошибки, пишется пояснительный текст по смыслу ошибки.

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

При решении некоторых задач возможна не корректная подача данных или не допустимая ситуация в этом случае предусматривается ситуация «исключения». Для работы ситуации исключения многие языки программирования предусматривают свои инструментальные средства.

Так для вычисления обратного значения Х можно написать следующий фрагмент программы

X=int(input())

print(1/X)

При вводе значения 2 программа выдаст следующие значения

При вводе 0 программа выдаст следующий фрагмент

Для работы с исключительными ситуациями используется конструкция

try:

# фрагмент программы

except: # except имя ошибки: - здесь определяется тип ошибки и реакция

# фрагмент программы, работающий в случае прерывания

else: #

# фрагмент программы, работающий в случае отсутствия прерываний

finally:

# фрагмент программы, работающий в любом

Пример решения задачи с обработкой прерывания

try:

X=int(input())

print(1/X)

except:

print(“Error dividing by zero”)

На экране появится следующее изображение

Инструкция raise позволяет программисту принудительно сгенерировать исключение, которое может использоваться при отладке программы.

 


Классы

Python ограничен в множественном наследовании в классах. Внутренние переменные и внутренние методы классов начинаются с двух знаков нижнего подчеркивания «__» (например «__myprivatevar»). Можно присвоить значение переменной класса извне. Пример:

 

class Myclass:

common = 10

def __init__(self):

self. myvariable = 3

def myfunction (self, arg1, arg2):

return self. myvariable

# Здесь объявили класс Myclass.

# Функция __init__ вызывается автоматически при инициализации классов.

classinstance = Myclass ()

# Инициализирован класс и переменная myvariable принимает значение 3 как заявлено в методе инициализации

classinstance.myfunction(1, 2)

#Метод myfunction класса Myclass возвращает значение переменной myvariable

3

# Переменная common объявлена во всех классах

classinstance2 = Myclass ()

classinstance.common # 10

classinstance2.common # 10

# Поэтому, если изменить ее значение в классе Myclass изменятся

# и ее значения в объектах, инициализированных классом Myclass

Myclass.common = 30

classinstance.common # 30

classinstance2.common # 30

# А здесь не изменяется переменная класса. Вместо этого объявляется

# в объекте и присваивается ей новое значение

classinstance.common = 10

classinstance.common # 10

classinstance2.common # 30

Myclass.common = 50

# Теперь изменение переменной класса не коснется переменных объектов

# этого класса

classinstance.common # 10

classinstance2.common # 50

# Следующий класс является наследником класса Myclass, наследуя его

# свойства и методы, к тому же класс может наследоваться из нескольких

# классов, в этом случае запись такая: class Otherclass(Myclass1, Myclass2,

# MyclassN)

class Otherclass (Myclass):

def __init__(self, arg1):

self.myvariable = 3

print arg1

classinstance = Otherclass("hello")

hello

classinstance.myfunction(1, 2) # 3

# Этот класс не имеет совйтсва test, но мы можем

# объявить такую переменную для объекта. Причем

# эта переменная будет членом только classinstance.

classinstance. test = 10 # classinstance.test – 10

 

Исключения в Python имеют структуру try-except [exceptionname]:

def somefunction():

try:

10 / 0 # Деление на ноль вызывает ошибку

Except ZeroDivisionError:

# Но программа не "Выполняет недопустимую операцию"

# А обрабатывает блок соответствующий ошибке «ZeroDivisionError»

Print "Oops, invalid."

fnexcept ()

Oops, invalid.


Литература

1. http://younglinux.info/book/export/html/48

2. http://younglinux.info/tkinter/canvas.php

3.


 

Литература и электронные ресурсы

http://pythonworld.ru/samouchitel-python

https://habrahabr.ru/post/29778/

https://www.jetbrains.com/help/pycharm/2016.2/ctrl-shift.html


 

Приложения

Задачи ЕГЭ

Задача C4-0-1.

Решение на языке Python 3.

Автор: Константин Поляков, 2013

E-mail: [email protected]

Web: kpolyakov.spb.ru

В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат:

<Фамилия> <Инициалы> <номер школы>

где <Фамилия> – строка, состоящая не более чем из 20 символов,

<Инициалы> – строка, состоящая из 4-х символов (буква, точка, буква,

точка), <номер школы> – не более чем двузначный номер. <Фамилия> и

<Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки:

Иванов П.С. 57

Требуется написать как можно более эффективную программу, которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что N>=1000.

import sys

save_stdin = sys.stdin

sys.stdin = open("in/0-1.in")

N = int(input())

schCount = {}

for i in range(N):

fam, io, school = input().split()

schCount[school] = schCount.get(school, 0) + 1

minCount = min(schCount.values())

schMin = [x[0] for x in list(schCount.items()) if x[1] == minCount]

for x in sorted(schMin):

print(x)

sys.stdin = save_stdin


 

Особенности

· «del» очищает переменные или элементы массива.

· Python имеет большие возможности для работы со списками. Можно использовать операторы объявлении структуры списка. Оператор for может задавать элементы списка в определенной последовательности, а if – может выбирать элементы по условию.

lst1 = [1, 2, 3]

lst2 = [3, 4, 5]

print [x * y for x in lst1 for y in lst2] # [3, 4, 5, 6, 8, 10, 9, 12, 15]

print [x for x in lst1 if 4 > x > 1] # [2, 3]

# Оператор «any» возвращает true, если хотя бы одно из условий, входящих

# в него, выполняется.

any (i % 3 for i in [3, 3, 4, 4, 3])

True

# Следующая процедура подсчитывает количество подходящих элементов

# в списке

sum(1 for i in [3, 3, 4, 4, 3] if i == 3) # 3

del lst1[0]

print lst1 # [2, 3]

del lst1

Сумма цифр числа

N = int(input()) sum = 0 while N > 0: d = N%10 sum += d N = N // 10 print(sum) N = int(input()) sum = 0 while N > 0: sum += N%10 N = N // 10 print(sum)

Число разрядов числа в двоичной записи числа

x = int(input())

cnt = 0

while x > 0:

cnt += 1

x //= 10

print(cnt)

Число единиц в двоичной записи числа

x = int(input())

cnt = 0

while x > 0:

cnt += x % 2

x //= 2

print(cnt)

 

Максимальная цифра числа

N = int(input()) maxD = N % 10 while N > 0: d = N % 10 if d > maxD: maxD = d N //= 10 print(maxD) s= input() S=list(s) print(max(S)) print(max(list(input())))

 

Сумма всех отрицательных чисел последовательности и максимальное число в последовательности

mx = s = 0

for i in range(1, 5):

x = int(input())

if x < 0: s += x

if x > mx: mx = x

print(s,mx)

1. Задан текст, завершающийся точкой. Написать программу вывода самого большого числа из цифр, использованных в тексте.

x=input() A=[0,0,0,0,0,0,0,0,0,0] i=0 while(x[i]!='.'): if x[i]>='0' and x[i]<='9': A[int(x[i])]+=1: i+=1 for z in range(9,-1,-1): print(z*A[z],end='') var a:array['0'..'9'] of integer; i,j,k:integer; c:char; begin for c:='0' to '9' do a[c]:=0; repeat read(c): if c in ['0'..'9'] then a[c]:=a[c]+1 // if (c>='0') and (c<='9') then a[c]:=a[c]+1 until c='.'; for c:='9' downto '0' do for i:=1 to a[c] do write(c) end.

2. Задано число N и последовательность N натуральных чисел. В конце данных задается контрольное значение. Контрольное значение – максимальное произведение двух чисел из этой последовательности кратных 21.

N = int(input())

M3 = M7 = M21 = M = 0

for i in range(N):

x = int(input())

if x % 21!= 0:

if x % 3 == 0: M3 = max(M3, x)

if x % 7 == 0: M7 = max(M7, x)

if x % 21 == 0 and x > M21:

M = max(M21, M)

M21 = x

else:

M = max(M, x)

R = max(M3*M7, M21*M)

print("Контрольное значение - ", R)

R0 = int(input())

if R == R0: # if int(input()) == R0:

print("Контроль пройден")

else:

print("Контроль не пройден")

3. №11. Ниже записаны две рекурсивные процедуры: F и G:

def F(n):

if n > 0:

G(n - 1)

def G(n):

print('*')

if n > 1:

F(n - 2)

Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(11)?

4. №20

x = int(input())

L = x-45

M = x+45

while L!= M:

if L > M: L –= M

else: M –= L

print(M)


 

Функции PyCharm

Комбинация Фукция

Клавиш

Backspace удаление символа.

Ctrl+X вырезать линию или выделение.

Shift+Down перемещение текущей строки вниз.

Shift+End выделение текста от курсора до конца строки.

Shift+Enter Start a new line after the current one, positioning the caret in accordance with the current indentation level (equal to sequential pressing End, Enter).

Shift+Escape Скрытие инструментов активного окна

Shift+Home выделение текста от курсора до начала строки.

Ctrl+V вставка из буфера обмена.

Shift+Left перемещение влево с выделением текста.

Shift+Page Down перемещение на одну страницу вниз с выделением текста.

Shift+Page Up перемещение на одну страницу вверх с выделением текста.

Shift+Right перемещение вправо с выделением текста.

Shift+Tab снять отступ, переместив блок на прежний уровень отступа

Shift+F1 внешнее описание

Shift+F2 одно из следующих действий: «Перейти к предыдущей выделенной ошибке» или «Остановка Программы»

F3/Shift+F3 переход к следующему/предыдущему вхождению выделенного слова в редакторе

Shift+F4

Shift+F5

Shift+F6 переименование и исправление ссылки. (Рефакторинг)

Shift+F7 построчное исполнение

Shift+F8 шаг к первой выполняемой строке после возвращения из текущего метода.

Shift+F9 построчное исполнение основного модуля

Shift+F10 исполнение программы

Shift+F11 управление существующими закладками и перемещение между ними

Shift+F12 установка схемы PyCharm по умолчанию (инструмент позиции окна, расположение кнопок и заказ). Чтобы восстановить схему по умолчанию, установите флажок сохранить текущий макет по умолчанию в меню "окно".

 


[1] Граница с жирной линией считается заштрихованной.

[2] Граница с жирной линией считается заштрихованной. Проверка производится операцией in: X in A, которая принимает значение true в случае принадлежности Х множеству А, иначе принимает значение false.

[3] var x,y,z,i,j,n1,n2,n3:word; a,b,c:string;

begin

read(c);

a:=copy(c,1,pos(' ',c)-1);delete(c,1,pos(' ',c)); x:=length(a);

b:=copy(c,1,pos(' ',c)-1); delete(c,1,pos(' ',c)); y:=length(b);

z:=length(c);

if ((x>y) or (x=y) and (a>b)) and ((x>z) or (x=z) and (a>c)) then write(a)

else if (z>y) or (z=y) and (c>b) then write(c) else write(b)

end.

[4] Для данной задачи будет следующее решение

Var i,j,p:longint; a,b,c:string;

begin

readln(a); read(b); i:=length(a); j:=length(b);

c:=''; p:=0;

while (i>0) and (j>0) do begin

p:=p+ord(a[i])+ord(b[j])-96;

c:=chr(p mod 10+48)+c;

p:=p div 10;

i:=i-1; j:=j-1;

end;

if i=0 then

while j>0 do begin

p:=p+ord(b[j])-48;

c:=chr(p mod 10+48)+c;

p:=p div 10; j:=j-1;

end

else

if j=0 then

while i>0 do begin

p:=p+ord(a[i])-48;

c:=chr(p mod 10+48)+c;

p:=p div 10; i:=i-1;

end;

c:=chr(p+48)+c;

while (c[1]='0') and (length(c)>1) do delete(c,1,1);

write(c)

end.


Поделиться с друзьями:

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.245 с.