Универсальная система кодирования юникод представляет собой набор графических символов и их кодирования для компьютерной обработки текстовых данных. в юникоде определено 1,114,112 кодовых позиций, кодируемых номерами от 0 до 10. кодовые позиции обозначаются u+num, где num - номер кодовой позиции, например u + 0030 - символ '0'. одной из кодировок, используемых для хранения данных в юникод является кодировка utf-8. в зависимости от значения кодовой позиции она кодируется переменным числом байт, как показано на примере: u+007f 0; u+07ff 110 10; u+ 1110 10 10; кодовая позиция u+20ac кодируется тремя байтами e2 82 ac. буквы (кроме ё) занимают позиции u+0410 - u+42f (заглавные) и u+0430 - u+044f (строчные) и по алфавиту. предположим, что в файле в кодировке utf-8 хранится текст, содержащий только заглавные буквы (без буквы ё) длина текста 9000 байт. какой размер файла в байтах? какова избыточность кодирования такого текста в кодировке utf-8 в предположении, что все буквы имеют одинаковые частоты?
Вопросы к уроку
На этом уроке мы на практике разберём: как составлять алгоритмы различных типов, а также как «читать» алгоритм по готовой блок-схеме.
Конспект
Составление линейных алгоритмов
На предыдущих уроках мы узнали, что такое алгоритм, какие бывают виды алгоритмов, и кто их исполняет.
Сегодня мы попрактикуемся в составлении алгоритмов. Это очень важные навыки. Мы уже неоднократно отмечали, что составить алгоритм, то есть объяснить другому, как выполнять те или иные задачи так, чтобы это было понятно каждому, - очень тяжело. Наша задача – научиться составлять алгоритмы для различных примеров, чтобы впоследствии, когда вы столкнётесь с необходимостью составлять алгоритмы для написания различных программ, это не составляло для вас особого труда.
Начнём мы с самых простых алгоритмов – линейных. Их составление, обычно, не вызывает особого труда. Однако, навыки составления таких алгоритмов чрезвычайно важны.
Пример 1. Составить алгоритм запуска программы Paint в ОС Windows 7.
Вспомним из курса информатики 5 класса порядок действий для запуска программы Paint.
Войти в меню «Пуск».
Войти в пункт «Все программы».
Войти в пункт «Стандартные».
Выбрать программу «Paint».
Данный алгоритм в виде блок-схемы имеет следующий вид:
Объяснение:
(Я зделал более сложную программу, но длинная она из-за того, что мне было лень переделать всё в цикл)
Объяснение:
from turtle import*
i=0
speed(0)
width(5)
fillcolor("yellow")
up()
goto(-300,-300)
down()
begin_fill()
forward(100)
left(90)
forward(50)
left(90)
forward(50)
goto(-300,-300)
end_fill()
while(i<4):
up()
goto((-200+i*100),-300)
down()
left(180)
begin_fill()
forward(100)
left(90)
forward(50)
left(90)
forward(100)
end_fill()
i=i+1
up()
goto(200,-300)
down()
begin_fill()
width(1)
right(90)
forward(50)
width(5)
right(90)
forward(50)
goto(300,-300)
goto(200,-300)
end_fill()
up()
goto(-250,-250)
down()
begin_fill()
forward(100)
left(90)
forward(50)
left(90)
forward(50)
goto(-250,-250)
end_fill()
i=0
while(i<3):
up()
goto((-150+i*100),-250)
down()
left(180)
begin_fill()
forward(100)
left(90)
forward(50)
left(90)
forward(100)
end_fill()
i=i+1
up()
goto(150,-248)
down()
begin_fill()
width(1)
right(90)
forward(48)
width(5)
right(90)
forward(50)
goto(250,-248)
end_fill()
up()
goto(-200,-200)
down()
begin_fill()
forward(100)
left(90)
forward(50)
left(90)
forward(50)
goto(-200,-200)
end_fill()
i=0
while(i<2):
up()
goto((-100+i*100),-200)
down()
left(180)
begin_fill()
forward(100)
left(90)
forward(50)
left(90)
forward(100)
end_fill()
i=i+1
up()
goto(100,-198)
down()
begin_fill()
width(1)
right(90)
forward(48)
width(5)
right(90)
forward(50)
goto(200,-198)
end_fill()
up()
goto(-150,-150)
down()
begin_fill()
forward(100)
left(90)
forward(50)
left(90)
forward(50)
goto(-250,-250)
end_fill()
i=0
while(i<1):
up()
goto((-50+i*100),-150)
down()
left(180)
begin_fill()
forward(100)
left(90)
forward(50)
left(90)
forward(100)
end_fill()
i=i+1
up()
goto(50,-148)
down()
begin_fill()
width(1)
right(90)
forward(48)
width(5)
right(90)
forward(50)
goto(150,-148)
end_fill()
up()
goto(-100,-100)
down()
begin_fill()
forward(100)
left(90)
forward(50)
left(90)
forward(50)
goto(-100,-100)
end_fill()
up()
goto(0,-98)
down()
begin_fill()
width(1)
right(90)
forward(48)
width(5)
right(90)
forward(50)
goto(100,-98)
end_fill()
up()
goto(-50,-50)
down()
begin_fill()
goto(0,0)
goto(50,-50)
end_fill()