скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыКурсовая работа: «Азы» программирования и обучающие программы

Курсовая работа: «Азы» программирования и обучающие программы

Р.Манекин

При первом знакомстве с человеком (особенно если это знакомство обещает быть долгим, прочным) принято справляться о его семье, об основных этапах его биографии, о приемлемом для него языке (способе) общения. Сегодня Вы знакомитесь с новым аппаратом – КОМПЬЮТЕРОМ. Почему бы Вам не поступить в этом случае аналогичным образом? А именно: постараться побольше узнать о том, что представляет из себя эта новая для Вас машина.

В разрешении этой проблемы Вам помогут первые разделы данного пособия.

§ I. Общие сведения об ЭВМ.

История ЭВМ насчитывает вот уже более полутора столетий. У истоков электронно-вычислительной техники стояли такие известные инженеры и исследователи, как Ч.Беббидж, А.Лавлейс (дочь Ч.Байрона), Дж. Буль, Ф.М.Слободской, В.Я.Слонимский, И.Штоффель, Ю.М.Дьяков, П.Л. Чебышев, Г.Холлерит, Атанасов, Айткен, др. Первая ЭВМ, обладающая всеми компонентами современного компьютера (промежуточной внутренней памятью, программным обеспечением, проч. - речь ждет о машине «EDSAC», изобретенной Дж.Эккертом и Дж.Моучли) была создана в 1947 г. в Пенсильванском университете (Англия). С тех пор сменилось уже три поколения ЭВМ, каждое из которых отличалось от другого целым набором технических характеристик. А именно:

I. своей элементной базой[1]

2. быстродействием[2];

3. объемом оперативной памяти[3]

4. математическим обеспечением;

5. внешними устройствами[4], [5], проч,

Сегодня существует уже несколько видов и несчетное количество модификаций (типов) ЭВМ, а общий объем парка ЭВМ превышает 109 машин.[6]

Большинство ЭВМ работает на основе двоичной системы счисления.[7] Что это такое?

Двоичной навивается такая система счисления, где есть только две цифры - ноль и единица.

Почему изобретатели ЭВМ отказались от привычной нам десятичной системы и перешли на иную?

Дело в том, что электронные системы, в которых электрический ток может находиться в двух состояниях (или он есть в цепи, или его нет), наиболее просты и надежны. Вместе с тем даже с помощью двух цифр - 0 и 1 - можно записывать числа любой величины, складывать их, умножать и делить. Любое сообщение, самое сложное, может быть выражено в двоичном коде в виде серии ответов типа «да» и «нет».

(Если сообщение записано словами, можно найти каждое слово в словаре, задавая такие вопросы: находится ли оно в первой половине словаря - да или нет? Далее: находится ли оно в первой половине этой части - да или нет? И так далее. И в этом случае слову будет соответствовать цепочка чисел типа 100111001. Для того, чтобы зaкодировать слово в словаре в четверть миллиона слов, достаточно самое большее восемнадцати вопросов с ответами 1 или 0 (поскольку 218 больше 250 тыс)).

Однако современные программисты, конечно же, не пользуются при написании своих программ двоичным кодом. Обычно они используют т.н. языки программирования - набор универсальных команд, легко усваиваемых человеком и «понятных» электронно-вычислительным машинам. Различают машинно-ориентированные языки программирования (или языки ассёмблерного типа) и языки программирования высокого уровня (алгоритмические, машинно-независимые языки).

Языки ассемблерного типа непосредственно «переводят» инструкции программистов в машинные команды. (Машинные команды различны для различных типов ЭВМ. Для их написания нужно хорошо знать «устройство» каждой конкретной машины, что с неизбежностью отвлекает специалистов от решения задач содержательного характера).

Алгоритмические языки предназначены для «промежуточного общения специалистов и электронно-вычислительных машин. Чтобы машина могла «понимать» алгоритмические языки, в памяти ЭВМ постоянно хранятся т.н. «трансляторы с языков программирования» - специальные программы-»переводчики» на язык машинных команд.

Среди языков высокого уровня различают процедурно-ориентированные и проблемно-ориентированные. К процедурно-ориентированным обычно относят универсальные языки (FORTRAN, PL-1, PASKAL, проч.); проблемно-ориентированные языки предназначены для решения узко специальных задач. Многие универсальные языки программирования часто используют для решения однотипных задач. Так, FORTRAN применяется при ведении вычислительных расчетов, PASKAL - для решения экономических задач, GPSS называют «языком моделирования», BASIС считается языком, упрощающим процесс пользования ЭВМ.

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

Далее. Элементарные операции по работе с устройствами ЭВМ, по управлению ее ресурсами - все это операции очень низкого уровня. Работа пользователя на ЭВМ состоит из нескольких сотен или даже тысяч таких операций. Конечно, описывать каждую из них специально в компьютерных программах очень неудобно. Поэтому большинство современных электронно-вычислительных машин снабжены «встроенной» в память универсальной компьютерной программой, которая осуществляет управление устройствами ЭВМ, распоряжается ее ресурсами (оперативной памятью, проч.), запускает другие прикладные программы на выполнение и т.д.

Подобные программы называются операционными системами[8]. Основное назначение операционных систем состоит в том, чтобы скрыть от пользователя сложные и ненужные подробности управления машиной и предоставить ему удобный интерфейс (т.е. способ общения с ее устройствами).

Взаимодействие пользователя ЭВМ с операционными системами построено по принципу диалога. Практически это выглядит так: пользователь набирает на клавиатуре соответствующую команду - операционная система выполняет его инструкцию. Такой способ «общения» пользователя и ЭВМ ненагляден и недостаточно удобен, т.к. пользователь не имеет возможности корректировать свои действия. Поэтому программисты часто, наряду с операционными системами, вводят в память ЭВМ и т.н. «программы-оболочки». Функция этих программ состоит в том, чтобы выводить на экран монитора ЭВМ описания действий, которые производят операционные системы. С помощью «программ-оболочек» можно просматривать содержащиеся в памяти компьютера каталоги программ, копировать программы, запускать их на выполнение, др.[9]

При построении компьютерных программ принято придерживаться определенных правил[10].

А именно: создавая ту или иную компьютерную программу, следует учитывать тип ЭВМ, для которой она предназначена, программную среду, в которой она должна существовать, изобразительные средства избранного Вами языка программирования;

при программировании нужно строго придерживаться синтаксиса избранного языка программирования; избегать использования нестандартных и машинозависимых конструкций;

программирование имеет несколько этапов: постановка задачи, составление алгоритма решения задачи, построение блок-схемы, написание программы. Начинающий программист должен соблюдать принцип поэтапности программирования;

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

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

Соблюдение этих простых правил сделает созданные Вами программы эффективным средством как обучения, так и исследования.

* * *

Что же. Будем считать, что Ваше первое знакомство с КОМПЬЮТЕРОМ состоялось? Замечательно! Тогда начнем знакомиться с ним поближе. Но только вот еще что... Для того, чтобы научиться пользоваться компьютером, нужно работать на нем. Чаще всего при проведении историко-философских исследований используются персональные компьютеры. Например, типа IBM РC. Если в Вашем компьютерном классе есть эти машины - не стесняйтесь! Садитесь за клавиатуру! И давайте приступим к работе.

§ 2. Что такое программа?

Вообще говоря, компьютер - это не более, чем механизм, способный воспринимать и генерировать электрические сигналы. То, что придает смысл компьютеру и оправдывает его назначение, называется «программой». В расхожем смысле «программа» - это некоторая последовательность действий, которая может привести нас к желаемому итогу. Думается, что это определение в общем и целом не противоречит многочисленным определениям данного термина, представленным в специальной научной литературе. Из этого определения для нас сейчас важно то, что программа может привести нас к желаемому результату и то, что программу характеризует пошаговость. То есть то, что она cocтоит из определенного количества промежуточных действий, которые мы должны произвести, если хотим ее осуществить.

Компьютерным программам, в отличие от массы других (например, программы спецкурса по истории философии), присуща строгая формализация. То есть каждый наш шаг должен быть в ней выражен определенно и непротиворечиво. Такую возможность нам дают современные языки программирования. Наиболее простым для усвоения обычно считается BASIС, и поэтому начнем знакомство с созданием программ, опираясь на эtot язык.

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

Итак, запомним, что оператор PRINT - означает - печатай. Оператор GOTO - означает - иди на (такую-то строку). По-английски мы бы написали GO ТО, но это BASIC, и поэтому запомните, пожалуйста, правильное написание на BASIС.

Оператор RUN запускает программу, то есть заставляет ее реализовываться.

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

1. PRINT «Как Вас зовут?»

2. GOTO

Итак, наша первая программа написана. Отметим также, что, если мы хотим, чтобы команда PRINT была выполнена, текст, следующий после этого оператора, нужно заключить в кавычки (это элемент синтаксиса BASIС). И еще одно - при наборе программы в конце каждой строки нажимайте клавишу ENTER.. Она, во-первых, обеспечит Вам запоминание компьютером этого фрагмента программы, а, во-вторых, переведет строку.

Теперь запустим программу. Команда запуска, как мы помним –RUN. Набираем RUN... И получаем бесконечную череду вопросов «Как Вас зовут?»

Давайте прервем череду, нажав на клавишу ЕSСАРE (она слева вверху клавиатуры), и разберемся как работает наша программа. В первой строке программы мы указали компьютеру, что хотим, чтобы он вывел на дисплей (то есть экран монитора компьютера) вопрос «как Вас зовут?». Но не сразу, а после запуска программы - это тоже необходимо усвоить. Во второй строке мы дали команду компьютеру перейти снова к первой строчке. И, таким образом, получился замкнутый круг. В программировании он называется «цикл», и в дальнейшем мы будем его использовать.

Если бы мы написали только первую строчку и сразу запустили прогpaмму (можете попробовать это сделать), то на дисплее появился бы только один вопрос «Как Вас зовут?», и программа бы завершилась. А оператор goto превращает процесс выполнения программы в бесконечный (пока включен компьютер и работает эта программа).

Вы скажете, что в приведенной программе нет никакого смысла. Что же, Вы, вероятно, правы. Давайте подумаем, как придать смысл нашей программе. Вы наверняка читали Платона. И знаете, что основной формой его произведений был диалог. И это не случайно. Издавна известно: лучшим способом преподавания учебного материала является диалог Учителя и Ученика.

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

В BASIC есть конструкция, которую можно обнаружить и в английском языке. Речь идет о конструкции ЕСЛИ... ТО... ИНАЧЕ. Или, по-английски, IF... THEN... ELSE. Эта конструкция называется «условный переход». Она может реализовываться либо в полном виде, либо в усеченном: IF... THEN... (т.е. ЕСЛИ...ТО...). Пока запомним эту конструкцию и перейдем к способу представления информации, называемому «переменными».

Для того, чтобы обработать информацию, нужна не только программа и компьютер, нужна и собственно информация. В компьютер информация обычно вводится в виде так называемых «переменных». Переменные и составляют исходные данные, которые обрабатывает машина. Переменные бывают различных типов. Есть логические переменные - когда в компьютер вводится информация типа ДА или НЕТ. (У или N); есть числовые переменные, то есть переменные, выраженные каким-либо числом; есть текстовые переменные, выраженные буквой или текстом.

Чтобы различать переменные друг от друга, им присваивают имена. Имя переменной должно начинаться с буквы (это обязательно). Если переменных много, то, чтобы не запутаться, им дают такие имена, чтобы сразу было ясно назначение переменной в программе. Давайте создадим небольшую программу с использованием переменных. Но сначала запомним, что команда для ввода переменных обозначается так – INPUT.

Этот оператор предназначен для того, чтобы переменная вводилась студентом при помощи клавиатуры. Например, если мы составим такую программу, где будем спрашивать студента, в каком году родился Платон. Итак создадим переменную year ,но сначала зададим вопрос :

PRINT «В каком году родился Платон?»

INPUT year

PRINT «Вот это да!»

END.

Попробуйте набрать ату программу и посмотрите, как она работает. Надеюсь, Вы не забыли, что запускается программа командой RUN.

После запуска программы на дисплее появился вопрос: «В каком году родился Платон?» и чуть ниже вопросительный знак. Вопросительный знак показывает, что машина ожидает от Вас ввода с клавиатуры какого-нибудь числа. После ввода в компьютер числа (например, 428 - Платон родился 427(428 г. до н.э.; после ввода числа не забудьте нажать ENTER) компьютер выведет на дисплей фразу «Вот это да!». И работа программы закончится. Как Вы думаете, почему? Правильно, потому, что после выполнения предписания на третьей строке, машина обращается к четвертой, а там стоит оператор END, показывающий, что на этом этапе программа закончена. Запомните на всякий случай команду END и, если захотите, снова запустите программу командой RUN.

А теперь вопрос. Можно ли сделать эту программу бесконечной? Чтобы она все время спрашивала о годе рождения Платона и, получив ответ, вновь им интересовалась? Подумайте, мы об этом уже говорили.

Р.S. В этой программе, как Вы можете убедиться, мы не учли некоторых обстоятельств. Ну, например, как она себя поведет, если Вы по ошибке или из любопытства введете буквенные символы или нажмете на какую-нибудь другую клавишу. Попробуйте и посмотрите на реакцию компьютера. А в дальнейшем, когда Вы лучше освоите программирование, подумайте, как Вам описать в программе все эти случаи. Уверен, Вы быстро убедитесь, что это совсем не трудно!

§3. Может ли компьютер оценить высказывание?

Теперь давайте усложним нашу программу, чтобы она могла анализировать наше высказывание. Начнем, как обычно, с самого простого. Возьмем нашу последнюю программу и слегка ее дополним. Только вот что. Давайте изменим ее нумерацию на порядок. То есть вместо того, чтобы нумеровать строки 1, 2, 3, 4 будем нумеровать 10, 20, 30, 40. Что это нам даст? А то, что структура программы станет более пластичной. Например, если раньше между первым и вторым оператором мы ничего не могли вставить, так как нумерация BASIC (в отличие, скажем, от FOCAL) не признает дробных чисел, то при новой системе мы сможем легко вставить между 10-й и 20-ой строкой целых девять строчек. То есть программа становится как бы «дышащей».

Страницы: 1, 2, 3


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.