Языки программирования

Автор работы: Пользователь скрыл имя, 29 Ноября 2012 в 09:58, курсовая работа

Краткое описание

Изучаемые вопросы:
Предметная область программирования; парадигмы программирования.
Методические вопросы изучения языков программирования
Методические вопросы изучения систем программирования

Вложенные файлы: 1 файл

КУРСОВАЯ РАБОТА.doc

— 168.50 Кб (Скачать файл)
    1.   Введение.

Изучаемые вопросы:

    • Предметная область программирования; парадигмы программирования.
    • Методические вопросы изучения языков программирования
    • Методические вопросы изучения систем программирования

Программирование – это раздел информатики, задача которого разработка программного обеспечения ЭВМ. В узком смысле слова «программирование» обозначает процесс разработки программы на определенном языке программирования.

Разработку средств системного ПО и систем программирования принято называть системным программированием. Разработку прикладных программ называют прикладным программированием.

По этому принципу делят  программистов на системных и  прикладных, в зависимости от типа создаваемых ими программ.

Существуют различные  парадигмы программирования, и преподавание каждой из них имеет свои особенности. К основным парадигмам программирования относятся:

      • Процедурное программирование (Паскаль, Бейсик,             Фортран, Си, Ассемблеры);
      • Логическое программирование (Пролог);
      • Функциональное программирование (Лисп);
      • Объектно-ориентированное программирование (Смолток, Си++, Делфи)

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

Прочес изучения и практического  освоения программирования можно разделить  на три части:

      • Изучение методов построения вычислительных алгоритмов;
      • Изучение языка программирования;
      • Изучение и практическое освоение определенной системы программирования.
    1.  Методические рекомендации по изучению языков программирования.

 

Достаточно хорошо известна методика изучения языков программирования с целью практического их освоения. Эта методика опирается на структуру самого объекта изучения – языка программирования.

Языки программирования делятся на две группы:

      • машинно-ориентированные: Автокоды, Ассемблеры;
      • языки программирования высокого уровня (ЯПВУ)

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

Составляются  на языках высокого уровня (обычно для  этого используют язык Си).

На любом языке, демонстрируется на примерах учебных компьютеров. В ЯПВУ одна команда определяет уже не одну операцию процессора, а, в общем случае, множество. Поэтому к командам ЯПВУ более подходит термин «оператор».

Важнейшим оператором является оператор присваивания. В ЯПВУ оператор присваивания записывается практически так же, как алгоритмическом языке команда присваивания.

В ЯПВУ одним  оператором представляются целые алгоритмические  структуры: ветвление, цикл.  Правда, такое есть не во всех языках ( например, нет в стандартном Бейсике). Языки, в которых имеются структурные операторы, принято называть структурными языками. К их числу относятся Паскаль и Си.

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

Наиболее целесообразно для начального знакомства с языками программирования использовать язык Паскаль. Язык Паскаль был создан в 1971г. Никлаусом Виртом  как учебный язык. Основной принцип, заложенный в нем, - это поддержка структурной методики программирования. Этот же принцип лежит в основе учебного алгоритмического языка (АЯ). По сути дела, расхождения между АЯ и Паскалем состоит в следующем: АЯ - русскоязычный, Паскаль - англоязычный; синтаксис Паскаля определен строго и однозначно в отличие от сравнительно свободного синтаксиса АЯ.

Конечно, Учитель может выбрить  и язык Бейсик из-за привычки к нему или при отсутствии системы программирования на Паскале. Но в этом случае возникают  серьезные методические проблемы: как  аккуратно отразить концепцию типов  данных и структурную методику программирования на Бейсике? В принципе, известно, как это делать, но для неопытного учителя это может оказаться проблемой.

Поскольку в базовом курсе ставится только лишь цель первоначального знакомства с программированием, то строгого описания языка программирования не требуется. Основной используемый метод – демонстрация языка на примерах простых программ с краткими комментариями. Некоторые понятия достаточно воспринять ученикам на «интуитивном» уровне. Наглядность такого языка, как Паскаль, облегчает это восприятие. Кроме того, пониманию помогает аналогия между Паскалем и русскоязычным алгоритмическим языком. Для выполнения учениками несложных самостоятельных заданий достаточно действовать методом «по образцу».

Учитель может задуматься над проблемой: как лучше связать изучение методов построения алгоритмов работы с величинами языка программирования. Здесь возможны два варианта:

      • Сначала рассматриваются всевозможные алгоритмы, для описания которых используются блок-схемы и АЯ, а затем – правила языка программирования, способы перевода уже построенных алгоритмов в программу на этом языке;
      • Алгоритмизация и язык программирования осваиваются параллельно.

Опыт показывает, что теоретическое  изучение алгоритмизации и программирования, оторванное от практики, малоэффективно. Желательно, чтобы ученики как можно раньше получили возможность проверять правильность своих алгоритмов, работая на компьютере. А для этого им нужно знакомиться с языком программирования, осваивать приемы работы в системе программирования. Метод последовательного изучения алгоритмизации и навыка программирования приемлем лишь в «безмашинном» варианте.

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

Обучение программированию должно проводиться на примерах типовых  задач с постепенным усложнением  структуры алгоритмов. По признаку алгоритмической структуры их можно  классифицировать так:

      • Линейные алгоритмы: вычисления по формулам, всевозможные пересылки значений переменных;
      • Ветвящиеся алгоритмы: поиск наибольшего или наименьшего значений из нескольких данных; сортировка двух-трех значений; диалог с ветвлениями;
      • Циклические алгоритмы: вычисление сумм и произведений числовых последовательностей, циклический ввод данных с последовательной обработкой.
    1.  Примеры решения задач

 

Рассмотрим решение некоторых  задач с использованием языка  Паскаль. Эти примеры иллюстрируют использование метода аналогии между  учебным алгоритмическим языком и Паскалем.

Пример№1

Составить алгоритм, по которому на компьютере будет происходить следующее: в  переменную S вводится возраст Саши, в переменную М вводится возраст Саши. В качестве результата на экран выводится фраза «Саша старше Маши», или !Маша старше Саши», или «Саша и Маша Ровесники». Написать программу на Паскале по этому алгоритму.

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

 

 

алг   САША- МАША

вещ   S, M

нач вывод ‘Возраст Саши:’

ввод S

вывод ‘Возраст

Маши:’

ввод M

если S>M

то вывод ‘Саша

       старше Маши’

иначе если S=M

                             то вывод ‘Саша

и Маша

ровесники’

                             иначе вывод

                                     ‘Маша старше

Саши’ 

кв

 кв

кон

 

Program  Sasha &  Masha;

var   S, M: real;

begin write (‘Возраст

Саши:’);

readln (S);

write (Возраст

Маши:’);

readln (M);

if  S>M

then write (‘Саша

         старше Маши’)

else if S=M

                   then  write (‘Саша

и Маша ровесники’)

                   else write (‘Маша

старше Саши’)

end 

 

 

 

 

 

 

 

Пример №2.

 Дано вещественное число Х и натуральное N. Составить алгоритм вычисления ХN. Написать программу на Паскале.

Решение. В Паскале нет операции возведения в степень. Если  показатель степени -целое положительное число, то возводить степень нужно путём N- кратного умножения основания самого на себя. Реализуется это циклическим алгоритмом:

 

алг  степень

цел N,I; вещ Х;

нач ввод N

ввод 

I: =1;

Y: =1;

пока I<=N, повторять

нц

Y: =Y*X

I: =I+1

кц

 

Вывод Y

кон

 

 

program Power;

var N, I: integer;

X: real;

begin readln (N);

readln (X);

I: =1;

Y: =1;

while I<=N do

begin 

Y: =Y*X;

I: =I+1

end;

write (Y)

 

end.

 

При выполнении трассировки этого  алгоритма обязательно следует  проверить правильность его работы при N=0. Как известно из математики, Х0=1. трассировка доказывает, что и в этом случае алгоритм будет давать правильный результат.

Пример № 3.

Последовательно вводятся N целых чисел. Найти максимальное из них

Решение. В программировании часто приходится решать задачу поиска максимального (минимального) значения в числовом массиве. В базовом курсе могут не рассматриваться структурированные данные, в том числе массива, ограничившись простыми переменными. Для этого ввод данных и обработку надо совместить в одном цикле. Вот как это делается:

 

Алг максимум

цел N, I, X,  MAX

нач

вывод ‘введите N’;

ввод  N

вывод ‘введите X’;

ввод X

MAX: =X; I: =1

пока  I<N, повторять

нц

вывод ‘Введите Х’;

ввод  Х

если Х> MAX

то MAX:=Х

кв

I:=I+1

кц

вывод MAX

кон

 

 

 

Program   maximum;

var N, I, X, MAX: integer;

begin

write (‘введите  N’);

readln (N);

write (‘введите X’);

readln (X);

MAX: =X; I: =1;

while I<N do

begin

write (‘введите X’);

readln (X);

if X.MAX

then MAX: =X;

I: =I+1

end;

writeln (MAX)

end.

 

 

    1.   Методические рекомендации по изучению систем программирования.

В данной теме, как и в темах, связанных с информационными технологиями, следует придерживаться основного методического принципа изучения – принципа исполнителя. Выше уже говорилось о том, что теперь в качестве исполнителя рассматривается компьютер, оснащенный определенной системой программирования (СП). Всякий исполнитель предназначен для выполнения определенного вида работы. Что это за работа? Она состоит из трех составляющих: создание программы, отладка программы, исполнение программы.

Информация о работе Языки программирования