Чем питон лучше паскаля
Презентация Python vs Pascal: выбор языка программирования в школьном курсе информатики
Описание презентации по отдельным слайдам:
Описание слайда:
«Python vs Pascal: выбор языка программирования
в школьном курсе информатики»
Автор:
Оленберг Анатолий Анатольевич,
учитель математики, физики, информатики
МКОУ «Верхнемазовская СОШ»
Описание слайда:
Почему Pascal? Почему не Python?
Python популярен
Широкая область использования
Windows, Linux, Mac OS, Android, iOS и др.
УМК Босова Л.Л.
УМК Полякова К.Ю.
Описание слайда:
Задача настоящей работы
посмотреть на Python с точки зрения учителя, преподающего основы программирования в рамках школьного курса информатики на уровне основного общего образования с помощью языка Pascal
рассмотреть достоинства и недостатки Python как языка для обучения программированию
Описание слайда:
Общие сведения
Автор: Никлаус Вирт
Разработан в 70-е гг. XX в.
Назван в честь Блеза Паскаля
Версии:
Turbo Pascal 7.0
Delphi
Lazarus
PascalABC.NET
Pascal
Python
Автор: Гвидо ван Россум
Разработан в 80-90-е гг. XX в.
Назван в честь телешоу «Летающий цирк Монти Пайтона»
Версии:
Python 2.7
Python 3.9.2
Описание слайда:
Описание слайда:
Особенности синтаксиса
Ошибочная запись цикла вывода чисел от 0 до 9
Описание слайда:
Типизация переменных
Статическая типизация переменных
переменные объявляются перед использованием в блоке описания используемых данных
переменной приписывается определенный тип данных
Pascal
Python
Динамическая типизация переменных
переменные не нужно объявлять
тип переменной определяется автоматически
Описание слайда:
Типизация переменных
Python
Функция, решающая линейное уравнение ax = b
def solve (a, b):
if a == 0:
if b == 0: return True
else: return None
else:
return b / a
Описание слайда:
Типизация переменных
if a > b:
print (‘OK’)
else:
this is spam
Python
Python
х1 = 0
if a > b:
xl = 1
Описание слайда:
Ввод данных
var A: integer;
begin
write (‘Введите число’);
read (A);
write (A*4)
end.
Результат выполнения:
54 * 4 = 216
Pascal
Python
print (‘Введите число’)
A = input ()
print (A*4)
Результат выполения:
‘54’ * 4 = ‘54545454’
Результат выполнения:
54 * 4 = 216
Программа, требующая ввести число и умножить его на 4
Описание слайда:
Ввод данных
write (‘Введите три числа’);
read ( a, b, c );
f = input(‘Введите три числа’)
a, b, c = map(int, f.split())
Ввод нескольких чисел
Описание слайда:
Компактность кода
c:=a;
a:=b;
b:=c;
Pascal
Python
a, b = b, a
if a >= b then
max := a
else
max := b;
print(max(a, b))
Задача — поменять местами значения двух переменных
Алгоритм нахождения максимального из двух чисел
Описание слайда:
Описание слайда:
Списки
При работе со списками важно помнить, что список — это ссылка.
A = [1, 2, 3]
B = A
[1, 2, 3]
A
B
Чтобы работать с каждым списком отдельно, необходимо создать копию списка
B = A[:]
A
B
[1, 2, 3]
[1, 2, 3]
Описание слайда:
Описание слайда:
Черепашья графика
import turtle
t=turtle.Turtle()
t.color(‘blue’, ‘green’)
t.begin_fill()
for i in range (72):
for j in range (4):
t.forward (150)
t.left(90)
t.right (5)
t.end_fill()
Описание слайда:
Графический интерфейс
from tkinter import *
window = Tk()
window.title(‘Привет’)
label=Label(window, text = ‘Привет, мир!’)
label.pack(padx=200, pady = 50)
window.mainloop()
Описание слайда:
Встроенные библиотеки
•math — математические функции;
•fractions — рациональные дроби;
•decimal — десятичная арифметика;
•re — регулярные выражения;
•itertools — перестановки, сочетания;
•sqlite — работа с базами данных SQLite;
•tkinter — графический интерфейс.
Описание слайда:
Достоинства Python
простейшая программа на Python в отличие от Pascal занимает всего одну строчку: print (‘Привет, мир!’);
понятный синтаксис, отступы как часть синтаксиса языка;
позволяет решать задачу на более высоком уровне абстракции;
развитые структуры данных: списки, словари, множества;
компактность программ (достигается за счет встроенных средств);
большая библиотека встроенных модулей;
возможность разработки программ с графическим интерфейсом;
поддерживает различные подходы к программированию.
Описание слайда:
Достоинства Python
простейшая программа на Python в отличие от Pascal занимает всего одну строчку: print (‘Привет, мир!’);
понятный синтаксис, отступы как часть синтаксиса языка;
позволяет решать задачу на более высоком уровне абстракции;
развитые структуры данных: списки, словари, множества;
компактность программ (достигается за счет встроенных средств);
большая библиотека встроенных модулей;
возможность разработки программ с графическим интерфейсом;
поддерживает различные подходы к программированию.
Описание слайда:
Недостатки Python как учебного языка
скрывает от школьника реализацию некоторых алгоритмов за счет встроенных средств
ввод данных в Python организован менее удобно, чем в Pascal
ошибки, связанные с динамической типизацией переменных
логические ошибки, опечатки в коде программы, которые не обнаруживаются интерпретатором
Python предоставляет программисту много свободы, перекладывая на него всю ответственность за возможные ошибки.
Поэтому программы на Python требуют очень тщательного тестирования.
Описание слайда:
Вывод
Python можно использовать в качестве второго языка для обучения программированию:
в рамках учебного курса или модуля по предмету,
в рамках кружковой работы, организуемой на базе учебного заведения
Описание слайда:
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Курс повышения квалификации
Дистанционное обучение как современный формат преподавания
Курс повышения квалификации
Педагогическая деятельность в контексте профессионального стандарта педагога и ФГОС
Курс повышения квалификации
Современные педтехнологии в деятельности учителя
Ищем педагогов в команду «Инфоурок»
Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:
также Вы можете выбрать тип материала:
Общая информация
Похожие материалы
План-конспект урока информатики по теме: «ИНФОРМАЦИЯ И ЕЁ СВОЙСТВА».
Конспект урока по информатике для 7 класс по теме: «Разработка алгоритма, содержащего оператор цикла»
Реферат на тему Виды занятий с ИКТ
Презентация по информатике на тему Использование ИКТ в работе воспитателя ДОУ
Научная работа по информатике на тему «Использование ИКТ в работе воспитателей»
Тест по информатике 8 класс
Урок «Адресация в Интернете», № 3 в теме «Коммуникационные технологии
» Фигура салу» Практикалық жұмыс
Не нашли то что искали?
Воспользуйтесь поиском по нашей базе из
5426426 материалов.
Вам будут интересны эти курсы:
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.
Учителя о ЕГЭ: секреты успешной подготовки
Время чтения: 11 минут
Рособрнадзор не намерен упрощать ЕГЭ в 2022 году из-за пандемии
Время чтения: 1 минута
Учителя о ЕГЭ: секреты успешной подготовки
Время чтения: 11 минут
В Минпросвещения рассказали о формате обучения школьников после праздников
Время чтения: 1 минута
При засыпании человеческий мозг может решать сложные задачи
Время чтения: 1 минута
В России утвердили новый порядок формирования федерального перечня учебников
Время чтения: 1 минута
В Хабаровске родители смогут заходить в школы и детсады только по QR-коду
Время чтения: 1 минута
Подарочные сертификаты
Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако администрация сайта готова оказать всяческую поддержку в решении любых вопросов, связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.
Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение администрации может не совпадать с точкой зрения авторов.
С какого языка начать программирование Pascal или Python?
С какого языка лучше начать программировать: Pascal или Python?
В свободное от школы время планирую начать заниматься изучением одного из языков программирования.
Обработка естественного языка на Python. Задача на программирование
Здравствуйте! Помогите переписать этот код или же написать полностью новый. Так как моё чудо не.
Нужно перевести из языка прграммирования Pascal на Python
var s:string; i,j,n,k:integer; begin writeln(‘vvedite stroku:’); read(s); n:=length(s); for.
С какого языка лучше начать программировать: Pascal или Python?
В свободное от школы время планирую начать заниматься изучением одного из языков программирования.
За совет учить обязательно первым Паскаль отправил бы на Колыму.
Питон относится к языкам с практическим отсутствием программной «магии». Исключения составляют только метаклассы. Но до них нужно дорости. А это минимум 2-3 года.
Наличие большого количество готовых решений и фреймверков. Питон обладает большим количеством расширений и фреймерков. Большая часть из них бесплатна.
Кроссплатформенность. Программа на питоне зачастую не требует изменений для запуска ее на другой операционной системе. Мои программы смело работают как под никсами так и по виндой.
Лаконичность. Код на питоне зачастую более компактен.
Питон автоматически приучает писать хороший код. Это достигается использованием отступов как обязательных элементов языка.
Почему в школах до сих пор преподают Pascal а не Python?
Оценить 1 комментарий
Ведь этот язык лучше и востребованней чем тот Pascal который сейчас преподают.
Вообще да, Python гораздо приятнее Паскаля и я бы выбрал для обучения именно его. Прежде всего вследствие обилия библиотек. Школьника нужно заинтересовать, чтобы он начал работать мозгом, а для этого нужны интересные проекты. Хочется сделать графику? Пожалуйста, pygame. Хочется использовать устройство по USB? Да сколько угодно. Анализировать HTML-код? Да десятью разными способами.
Однако, смена Паскаля на Python как таковая не решит той проблемы с обучением информатике, какая присутствует в системе образования. Корни этой проблемы лежат в структуре системы образования и в качестве обучения самих учителей. А также, как это ни банально, в уровне их жизни.
Если министерство образования в директивно-приказном порядке решит вдруг сделать такое изменение, это вряд ли принесёт кому-то пользу. Только море головной боли и затраты бюджетных средств.
На самом деле как раз проблема кроется в том, что в школе стоит задача ознакомить с тем, что такое программирование и дать примерное представление о том, как это делается. Паскаль по сути просто язык для обучения программирования, если мне память не изменяет, то он и создавался именно с этой целью.
Прост в освоении, прост сам со себе и абсолютно со своими задачами справляется.
Сейчас в ВУЗе где я учился на втором курсе преподают c# и javascript в качестве объектно-ориентированных языков (в частности за счет принципиальных различий ОО модели выбрали эти два языка для побаловаться). Минимально покрывают ГОФ-ские шаблоны. Но опять же, из сотни студентов хорошо если десяток поймет зачем все это нужно. Про всякие SOLID/GRASP/KISS/DRY/etc вообще вскользь просто упоминали курсе на четвертом.
Символы и строки
До сих пор наши программы работали только с числами. Но многим программам надо работать с текстовыми данными. Для этого есть два основных объекта — символы и строки.
Символьный тип данных (паскаль)
Для хранения отдельных символов (букв, цифр, всяких знаков препинания и т.п.) в паскале есть тип данных char :
— объявляет переменную, в которой можно хранить символ.
В такую переменную можно записать любой символ конструкциями следующего вида:
Здесь в правой части присваивания так называемые символьные константы, т.е. нужные символы, заключенные в апострофы. Здесь первая команда записывает в переменную ch символ «a», вторая — символ «доллар».
Кроме того, символы можно вводить и выводить привычными конструкциями:
Символьный тип данных (питон)
В питоне, чтобы сохранить символ в переменной, надо просто написать
При этом можно использовать как символы кавычек («), так и символы апострофов (‘), это не имеет значения. Главное, чтобы они были согласованы.
Вводить символы можно обычной командой input() :
выводить — обычным print :
(На самом деле, в питоне нет отдельного «типа» для символов, символ в питоне — это просто строка длины 1, про строки см. ниже. Но часто удобно думать про символы отдельно от строк.)
Коды символов (общее и для паскаля, и для питона)
На самом деле, конечно, в памяти компьютера хранятся не символы (т.е. если мы написали ch:=’$’; (паскаль) или ch=»$» (питон), то нигде в памяти не будет нарисован доллар). Компьютер умеет работать только с числами, и вместо символов он хранит тоже числа.
Есть общепринятая договоренность, которая каждому числу от 0 до 255 ставит в соответствие некоторый символ. Точнее, таких договоренностей есть несколько, они называется кодировки, но для латинских букв, цифр и частоупотребимых символов типа того же доллара, запятой или плюса, во всех кодировках соответствующие числа одинаковы. Для русских букв это не так: в разных кодировках им соответствуют разные числа, но это отдельная тема.
Эта общепринятая сейчас кодировка для латинских букв, цифр и частоупотребимых символов называется ASCII, иногда говорят таблица ASCII. Полностью эту таблицу (точнее, символы от 0 до 127 — эта часть собственно и называется ASCII; символы с номерами от 128 до 255 строго говоря не считаются ASCII, там как раз в разных вариантах русские буквы и т.п.) можно посмотреть, например, здесь. Здесь колонка Decimal — это номер символа, колонка Hex — номер символа, но в 16-ричной системе счисления (для тех, кто знает, что это такое, остальные игнорируйте колонку Hex), колонка Char — собственно сам символ. Пояснения: символы с номерами (кодами) до 31 включительно — это так называемые управляющие символы, они нам пока не очень интересны (равно как и символ 127); символ 32 — это пробел (в таблице написано SPACE). Остальные символы вроде понятны.
Например, символ доллар имеет номер (говорят код) 36, а символ N — 78.
Обратите внимание, что все цифры идут подряд, все заглавные буквы идут подряд, и все маленькие буквы идут подряд. Это нам будет очень полезно. (Для русских букв это выполняется не всегда.)
Нам поможет то, что все цифры идут подряд. Поэтому достаточно из кода цифры вычесть код нуля:
Обратите внимание: нам не надо знать, что код нуля — 48. Мы прямо пишем ord(‘0’), а не 48, компьютер сам вычислит код нуля за нас!
Сравнения символов (и паскаль, и питон)
Символы можно сравнивать операторами =, >, =, a:array[‘A’..’z’] of integer; — здесь будет по элементу для каждого символа с кодами от A до z.
Массивы и циклы (питон)
В питоне нельзя так просто, как в паскале, индексировать массивы символами и делать циклы по символам. Если вам надо сделать массив, в элементах которого хранить что-то, связанное с цифрами, то надо переходить к кодам:
Но вообще это продвинутая тема, сейчас пока вам не особо нужная.
Строки
Строка — это последовательность символов. Поэтому представляется естественным использовать для хранения строк массив символов:
В паскале есть специальный тип данных для строк — string :
В питоне, чтобы записать строку в переменную, надо просто записать строку в переменную:
Что в питоне, что в паскале, строка — это массив, каждым элементом которого является символ, но это не просто массив, а массив с дополнительными функциями.
Во-первых, вам не надо думать про длину строки. Паскаль и питон автоматически сами выделят под строку сколько надо памяти.
Внимание! В разных книжках по паскалю вы можете прочитать, что строки не бывают длиннее 255 символов. Это верно только в ряде вариантов паскаля. В используемом нами варианте — Free Pascal в режиме <$mode delphi>— строка может быть сколь угодно длинной — пока у программы не кончится доступная память.
Во-вторых, строки, конечно, можно считывать и выводить. На паскале это делается стандартными командами:
(Почему readln, а не read, — см. ниже.)
В-третьих, строки можно складывать. Сложить две строки — значит приписать к одной строке другую:
Прибавлять можно и символы:
Наконец, строковые константы — это уже привычные вам последовательности символов в апострофах (паскаль) и в кавычках (питон):
На самом деле, в питоне можно использовать как апострофы (символы ‘ ), так и кавычки (символы » )
Может возникнуть вопрос, как в строковой константе ввести собственно символ апостроф или кавычку. Просто так написать ‘It’s a string’ не получится, т.к. что паскаль, что питон подумают, что строка закончилась на втором апострофе; аналогично в питоне не сработает «Text»Text». Поэтому в паскале внутри строковых констант апострофы надо удваивать, в а питоне — приписывать символ \ перед апострофом или кавычкой. Например, чтобы записать в переменную строку «It’s a string», надо написать
Аналогично для записи символа «апостроф»/»кавычка» в переменную типа char:
Еще частный случай строки — пустая строка, т.е. строка длины ноль:
Почему readln? (Паскаль)
До сих пор я требовал, чтобы вы всегда использовали команду read, а не readln. Но до сих пор мы работали с числами; и пробелы и переводы строк были нам просто разделителями чисел, и поэтому команда read прекрасно работала.
Но теперь нам надо особо отличать перевод строки. Когда мы считываем строку (string) с клавиатуры, нам надо считать ее до перевода строки. Поэтому нам важно различать и уметь применять команды read и readln.
Различие у них единственное: read только считывает то, что попросили, и тут же останавливается. Readln же, считав то, что попросили, дальше пропускает все введенные данные до конца строки, и пропускает этот конец строки.
Пусть на вход мы подаем следующие данные:
Первый read считает число 2 и тут же остановится. Второй read увидит, что текущий символ пробел, пропустит его, увидит 3, считает его и остановится. Третий read увидит, что строка кончилась (на самом деле конец строки — это один или два специальных символа), перейдет на следующую строку, увидит там 4, и считает число 4.
Если же в программе были бы команды readln, то получилось бы следующее. Первый readln считывает число 2 и пропускает все остальное, что было в этой строке, в том числе и перевод строки. Второй readln сразу же видит число 4, считывает его, и пропускает все до конца строки включительно. Третий readln видит, что ничего не осталось, и потому ждет, когда вы что-нибудь введете еще.
Для чтения чисел первое поведение (с read) абсолютно логично. Поэтому если вы чистаете числа, то используйте read.
Но пусть вы читаете строки:
Пусть вы вводите следующее:
Первый read считает ‘abc’, увидит перевод строки, и на этом остановится. Второй read увидит, что сразу идет перевод строки — он не будет его пропускать, а просто решит, что вы решили ничего не вводить, и s2 получится пустой строкой (длины 0).
Если бы были readln’ы, то первый readln считал бы ‘abc’ и пропустил бы перевод строки. Поэтому второй readln увидел бы символ d, считал бы ‘def’ и т.д.
В общем, будьте с этим внимательны и используйте те команды, которые вам нужны. Еще пример: если вводится число, а на следующей строке — строка, например:
то читать надо так (поймите, почему!)
inttostr и т.п. (Паскаль)
int и т.п. (Питон)
pos и т.п.
Паскаль: Есть еще ряд команд, работающих со строками, про которые вы можете прочитать в книжках — pos, copy, delete (паскаль) и т.п. Лучше их не используйте. В большинстве случаев можно обойтись без них, плюс вы точно не знаете, как долго они работают.
(И паскаль, и питон) Например, пусть вам надо из строки удалить все пробелы. Можно писать примерно так (считаем, что у вас уже есть исходная строка s ):
Но это работает долго (поверьте мне 🙂 ) и требует от вас помнить все эти команды (а на питоне — еще и осознавать код). Проще так:
На самом деле, на паскале (но не на питоне) есть еще один способ, без второй строки и без длительных сдвигов. Можете подумать над ним.
Программирование и ЕГЭ
Привет всем. Стоит ли учить Паскаль(ДА Я ЗНАЮ,ЧТО ЭТО ДРЕВНИЙ И НЕНУЖНЫЙ ЯЗЫК) просто ради сдачи ЕГЭ?
Друг сказал,что питон намного легче, но вот в паскале я хоть что-то знаю, что нельзя сказать про питон.
Мне лучше дальше учить Паскаль, а после сдачи, начать учить нормальные языки или же с нуля заниматься с питоном?
Я совсем обдэтээфился, прочитал заголовок как ‘программирование и ЕГС’
Питон эксклюзивен в егс
Ты нашел в себе силы признаться, похломаем Бимстеру.
Такая же херня. Острая ДТФ’ная интоксикация.
Если есть возможность учить что-то вместо паскаля, то выбор очевиден.
Для сдачи егэ язык вообще знать толком не надо, лишь синтаксис, который изучается за 20 минут
Для всех задач. Они больше алгоритмические, чем на знание особенностей языка
На ЕГЭ можно на любом языке писать: Бейсик, Паскаль, Си, Алгоритмический язык, Python, Естественный язык.
В теории, вообще на любом, хоть на Котлине.
в теории
на практике проверять человек будет, школьный учитель информатики, и лучше выбрать то, что он с большей вероятностью знать
на практике следует выбрать что-то из списка, т.е. Си или Питон
я это знаю,вопрос в том, что лучше изучать
То, что тебе легче даётся
Ну и учи Питон. Он тебе пригодится, даже если не выучишься на программиста. Аналитик, например.
Паскаль тебе не пригодится нигде.
На питоне писать легче и потенциально он может пригодиться в будущем
Можешь погуглить рейтинг используемых языков программирования, и там уже выбрать, какие тебе нрав и востребованы
Положи на нее болт )
так у тебя ж целый год впереди
учи что-то живое
тебе и экз будет проще сдавать с нормальным языком
Сдам физику-буду работать на неинтересной (для меня) работе
Подразумеваю, что подаёшься в разработку