Skip to content

Commit 6f25f80

Browse files
committed
Исправления и дополнения для первого урока
1 parent 032a132 commit 6f25f80

File tree

11 files changed

+81
-79
lines changed

11 files changed

+81
-79
lines changed

lang_c/1/0__programming/article.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
# Компьютерное программирование. Компиляторы и IDE
22

3-
=Программирование= -- это процесс написания компьютерных программ.
3+
=Программирование= -- это процесс написания программ (для компьюетера и не только).
44

5-
Если вы читаете данный урок, то вы точно пользуетесь компьютерными программами. Они не появляются сами по себе, а создаются программистами.
5+
Если вы читаете данный урок, то вы точно пользуетесь программами. Они не появились сами по себе, а были ранее созданы программистами. Примерно вот так они выглядят изначально:
66

7-
Примерно вот так они выглядят изначально:
7+
![Фрагмент кода браузера Firefox](./kod_programmy.png "Рис.1 Фрагмент кода программы браузера Firefox")
88

9-
![Фрагмент кода браузера Firefox](./kod_programmy.png)
9+
![Фрагмент текста программы для вывода уроков на сайте YoungCoder.Ru](./site_youngcoder.png "Рис.2 Фрагмент текста программы для вывода уроков на сайте YoungCoder.Ru")
1010

11-
Если вы обратите внимание на картинку, то заметите, что программа -- это просто некоторый текст. Возможно, сейчас он кажется вам непонятной абракадаброй, но на самом деле в нем есть свои четкие правила, которые никто не может нарушить. Эти правила и составляют основу любого языка программирования. В принципе, записать текст программы можно в любом текстовом редакторе, даже в стандартном блокноте ОС Windows, но есть одно значительное но.
11+
Как видите программы -- это просто некоторый текст. Возможно, сейчас он кажется вам непонятной абракадаброй, но на самом деле в нем есть свои четкие правила, которые никто не может нарушить. Эти правила и составляют основу любого языка программирования.
1212

13-
Как вы, наверное, знаете, компьютер не понимает ничего, кроме нулей и единиц. Уж тем более он не понимает никаких слов, поэтому написанный нами текст программы для него, примерно как и для вас сейчас -- набор непонятных символов. Чтобы компьютер понял то, что мы от него хотим, нам нужна специальная программа, которая, если так можно выразиться, переведет программу, записанную на языке программирования, на язык, понятный компьютеру. Такая программа называется =компилятором=, а сам процесс перевода программы на понятный компьютеру язык -- =компиляцией=. Итак, процесс написания программ состоит в самом простом виде из следующих шагов:
13+
В принципе, написать текст программы можно в любом текстовом редакторе, даже в стандартном блокноте ОС Windows, но есть одна существенная проблема. Компьютер не понимает ничего, кроме нулей и единиц. Уж тем более он не понимает никаких слов, поэтому написанный нами текст программы для него, примерно как и для вас сейчас, набор непонятных символов.
1414

15-
1. написать код программы в любом текстовом редакторе;
15+
Чтобы компьютер понял то, что мы от него хотим, нам нужна специальная программа, которая "переведет" программу, записанную на языке программирования, на язык, понятный компьютеру. Такая программа называется =компилятором=, а сам процесс перевода текста программы на понятный компьютеру язык -- =компиляцией=.
16+
17+
Текст программы, записанный на каком либо языке программирования, называют =исходным кодом= программы или =исходником= (т.к. после компиляции будет уже преобразованный код). Но чаще говорят про =исходники=, ибо бльшинство программ состоят не из одного файла, а из большого числа файлов с кодом.
18+
19+
Итак, создание программ в первом приближении состоит из следующих шагов:
20+
21+
1. написать исходный код программы в текстовом редакторе;
1622
2. скомпилировать исходный код.
1723

18-
Но это неудобно: писать код в блокноте, потом компилировать его специальной программой, особенно если ваша программа состоит из большого количества файлов с исходным кодом. В связи с этим, программисты создали для себя такие программы, в которых можно сразу писать код, проверять его на ошибки, компилировать и запускать готовую программу. В общем, все сразу в одном флаконе. Такие программы называются =интегрированными средами разработки (IDE)=. Таким образом, любая IDE сочетает в себе по крайней мере текстовый редактор и компилятор. Здесь мы подходим к вашему первому практическому заданию.
24+
Писать код в блокноте, потом компилировать его специальной программой, особенно если ваша программа состоит из большого количества файлов с исходным кодом не очень удобно. Поэтому программисты решили создать для себя такие программы, в которых можно будет сразу писать код, проверять его на ошибки, компилировать и запускать готовую программу. В общем, все сразу в одном флаконе. Такие программы называются =интегрированными средами разработки (IDE)=.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
## Практика
2+
3+
Практические задачи для этого курса размещены на платформе Stepik.
4+
5+
1. Зарегистрируйте на платформе Stepik.
6+
2. Запишитесь на курс [Основы программирования на С. Задачи](https://stepik.org/course/3078/).
7+
3. Пройдите урок [Общая информация о курсе](https://stepik.org/lesson/1340735/step/1) на платформе, либо прямо здесь:
8+
9+
<div class="lessonStepikBlock">
10+
<iframe src="https://stepik.org/lesson/1340735/step/1"></iframe>
11+
</div>
12+
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
## Дополнительные материалы
22

33
1. В видеоролике ниже рассказывается история развития компьютерного программирования от, так сказать, "пионеров" этой области. Рекомендую к просмотру всем.
4-
54
<div class="lessonVideo">
65
<iframe src="https://www.youtube.com/embed/j0kcXFuckqw?rel=0" allowfullscreen></iframe>
76
</div>
87

9-
2. [Список некоторых компиляторов языка Си](https://ru.wikipedia.org/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)#.D0.A0.D0.B5.D0.B0.D0.BB.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D1.8F_.D0.A1.D0.B8)
8+
2. [Список некоторых компиляторов языка Си](https://ru.wikipedia.org/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)#%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D1%8B)
70 KB
Loading

lang_c/1/1__standart_c/article.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
# Стандарт языка программирования
22

3-
У каждого языка программирования есть специальный документ, который называется `стандартом языка программирования`. В нем подробно описаны правила этого языка. Так как языки программирования постоянно развиваются, время от времени выходят новые стандарты.
4-
5-
По идее, компилятор или IDE(среда разработки, в которой есть компилятор) должны поддерживать все возможности языка, то есть, если что-то описано в стандарте, то это должно работать в любой IDE и в любом компиляторе данного языка. Но, как говорится, гладко было на бумаге, да забыли про овраги. Реальность можно примерно изобразить следующей схемой.
3+
У каждого языка программирования есть специальный документ, который называется =стандартом языка программирования=. В нем подробно описаны правила этого языка. Так как языки программирования постоянно развиваются, время от времени выходят новые стандарты.
64

5+
По идее, компилятор или IDE должны поддерживать все возможности языка, то есть, если что-то описано в стандарте, то это должно работать в любой IDE и в любом компиляторе данного языка. Но, как говорится, гладко было на бумаге, да забыли про овраги. Реальность примерно соответствует следующей схеме.
76

87
![Схематичное соотношение между стандартом языка и реализацией в IDE](./ide_vs_standart.png)
98

10-
Каждая IDE в той или иной степени поддерживает стандарт, но помимо этого, у каждой есть свои фишки, которых может и не быть в стандарте. Поэтому те, кто профессионально занимаются программированием, изучают не только сам язык программирования, но ещё и среды разработки. Например, стандартный компилятор IDE Visual Studio совершенно не поддерживает новые стандарты языка Си (C99, C11). Но нет повода расстраиваться. Почти все, что мы будем изучать в данном курсе, относится к той части стандартов, которая не меняется уже очень давно и поддерживается всеми компиляторами и IDE.
9+
Каждая IDE в той или иной степени поддерживает стандарт, но помимо этого, у каждой есть свои фишки, которых может и не быть в стандарте. Поэтому профессиональные программисты разбираются и в языке, и в средах разработки, но для начинающего программиста это пока не нужно.
10+
11+
Почти все, что вы будете изучать в базовой части курса, относится к той части стандартов, которая не меняется уже очень давно и поддерживается всеми компиляторами и IDE.

lang_c/1/1__standart_c/practice.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
## Практика
22

3-
- Установить на свой компьютер любую IDE, которая поддерживает написание программ на языке Си (или отдельно текстовый редактор с подсветкой кода и компилятор языка Си), и научиться выполнять в ней основные действия. Подробные инструкции ниже.
3+
- Установить на свой компьютер любую IDE, которая поддерживает написание программ на языке Си, и научитесь выполнять в ней основные действия: писать код, компилировать исходники и запускать созданные программы. В этом вам помогут следующие уроки:
44
- [Среда разработки Pelles C](../ide/1/)
55
- [IDE Code::Blocks](../ide/2/)
66

7+
78
### Исследовательские задачи для хакеров:
89

9-
- Найти и скачать черновики стандартов языка Си
10+
- Найти и скачать себе актуальные черновики стандартов языка Си
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
## Дополнительные материалы
22

3-
1. Статья в Википедии о языке Си. Рекомендую прочитать про [историю развития языка Си](https://ru.wikipedia.org/wiki/%D0%A1%D0%B8_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)). Остальные разделы пока можно пропустить.
3+
1. Статья в Википедии об [историю развития языка Си](https://ru.wikipedia.org/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_%D0%A1%D0%B8).

0 commit comments

Comments
 (0)