Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1.Алгоритмы_и_Псевдокоды.docx
Скачиваний:
3
Добавлен:
23.08.2019
Размер:
28.88 Кб
Скачать

6.Как выглядит блок-схема для проверки условия? 7. Как выглядит блок-схема для циклической конструкции?

8.Чем отличается высокоуровневое программирование от низкоуровневого программирования?

Этот пример должен вас подтолкнуть к отличию уровня команд. Есть команды высокого, среднего и низкого уровня. Например, команда «Построить дом» – это команда высокого уровня. Команды «Заложить фундамент», «Возвести этажи с 1 по 16» и «Соорудить крышу» – это команды среднего уровня. Наконец, команды «Выкопать яму», «Забить сваи», «Положить кирпич», «Вставить стекло» – это команды низкого уровня.

Конечно, деление команд на уровни относительно и зависит от исходной задачи. Например, если исходная задача «Улучшить жилищные условия молодых ученых», то задача «Построить дом» может оказаться командой среднего или низкого уровня. Уровень команд определяется тем, кому они адресованы: они должны быть такого уровня, чтобы тот, кому они адресованы, понял их. По этому принципу делятся и языки. Существуют высокоуровневые языки (C#, Java, C++, Object Pascal), языки среднего (Си, Fortran, Pascal) и низкого уровня (Ассемблер). Как правило, высокоуровневые языки понимают конструкции языков среднего уровня, а языки среднего уровня допускают низкоуровневые вставки. Наверное, вы замечали, что умный человек часто все понимает с полуслова, а менее сообразительному индивиду приходится все разжевывать и объяснять очень подробно. Однако, если вы объясните подробно умному человеку, он все равно поймет.

При разработке крупных приложений, как правило, используются высокоуровневые языки, поскольку они позволяют сократить размер кода. Низкоуровневые языки и языки среднего уровня используются тогда, когда необходимо улучшить производительность программы или отдельных ее элементов. Например, сетевые и веб-приложения обычно пишутся на языках Java, C#, С++, в то время для разработки компиляторов, а также вычислительных программ используются языки Ассемблер, Си и Fortran. Тем не менее, стоит заметить, что по-настоящему оценить преимущества разных языков можно только, имея определенный опыт разработки.

9.Зачем нужно форматирование кода?

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

В написанном нами псевдокоде мы использовали отступы для указания на вложенность конструкций. В языке Python отступы также используются с этой целью, и в нем отсутствуют явные слова, указывающие на начало или конец блока программы: блоки определяются исключительно отступами.

Во многих современных редакторах существует автоматическое форматирование кода: редактор форматирует код либо сразу во время его набора, либо после нажатия заданной комбинации клавиш

10.Что такое нисходящее программирование?

Как разрабатывать программу, которая решает поставленную задачу? Достаточно часто возникают ситуации, когда мы не знаем, с чего начать, чтобы что-то сделать. Точно так же может случиться и при написании компьютерных программ. Одним из наиболее эффективных подходов к разработке программ и программного обеспечения является так называемая нисходящая разработка или нисходящее программирование. При работе над большими проектами используется нисходящее проектирование (хотя перед написанием программы любого размера следует провести проектирование, пусть даже мысленно).

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]