Курсовая работа
“ЦИКЛИЧЕСКИЕ КОНСТРУКЦИИ В ЯЗЫКАХ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ”
Студент группы
Научный руководитель:
канд. пед. наук.
Тамбов 2007
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. ИСТОРИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
1.1 Классификация языков программирования
1.2 Язык C
1.3 Язык C++
1.3 Язык Java
1.4 Язык C#
2. ЦИКЛИЧЕСКИЕ КОНСТРУКЦИИ В ЯЗЫКАХ ВЫСОКОГО УРОВНЯ
2.1 Алгоритмическая структура цикла.
2.2 Циклы в языке С.
2.3 Циклы в языке С++.
2.4 Циклы в языке Java.
2.5 Циклы в языке С#
3. ПРИМЕР ПРОГРАММ ЦИКЛИЧЕСКИХ КОНСТРУКЦИЙ НА ЯЗЫКЕ С#
3.1 Программа №1 цикл while
3.2 Программа №2 цикл do-while.
3.3 Программа №3 цикл for.
3.4 Программа №4 цикл foreach
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Создавая программу, программист сталкивается с тем, что часто приходится выполнять одни и те же действия над последовательностью значений. Для решения таких задач, программист использует циклы. Циклические конструкции являются важным компонентом программирования. Программисты редко пишут программы, которые используются только один раз. Большинство из них выполняются многократно, в основном каждый раз делая одни и те же операции, но с достаточными вариациями, в результате чего получаются ценные результаты. Часто непосредственно внутри самой программы используются множество повторений, также с небольшими вариациями. Вышесказанное позволяет сделать вывод, что исследование особенностей циклических конструкций в различных языках программирования остается актуальным, особенно в процессе подготовки специалиста-информатика.
Научная проблема заключена в необходимости совершенствования знаний о циклических конструкциях и в повышении эффективности их практического использования.
Рабочая гипотеза: решение научной проблемы возможно путем изучения и анализа материалов из различных источников и разработки на практике программ с использованием циклов.
Цель работы: изучение циклических конструкций в языках высокого уровня.
Задачи исследования:
- ознакомиться с особенностями некоторых современных языков программирования высокого уровня;
- исследовать циклические конструкции в языках высокого уровня;
- подготовить литературный обзор источников по теме работы;
- написать одну или несколько программ, демонстрирующих использование циклических конструкций в языке С#.
Объект исследования: – языки программирования высокого уровня.
Предмет исследования – циклические конструкции.
Метод исследования заключен в анализе, обобщения литературы и программировании.
Научной новизной является получение новых знаний об использовании циклических конструкций в языках программирования высокого уровня.
Практическая значимость заключается в приобретении навыков по использованию циклических конструкций для написания программ.
Источниковедческая база – библиотека ТФ МГУКИ, интернет.
1.1 Классификация языков программирования
Язык программирования - это формализованный язык для описания алгоритма решения задач на компьютере. Языки программирования можно разделить на:
- языки программирования низкого уровня;
- языки программирования высокого уровня.
В группу языков низкого уровня входят машинные языки и языки символического кодирования: (Автокод, Ассемблер). Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т.е. являются машинно-зависимыми. Машинно-ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).
К языкам программирования высокого уровня относятся Фортран, Алгол, Кобол, Бейсик, Си, Пролог, С++, С#, JAVA и т.д. Эти языки машинно-независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках. Это и есть основной их недостаток.
Языки программирования высокого уровня отличаются от языков низкого уровня, во-первых, тем, что они используют более строгий контроль, во-вторых, многие детали обрабатываются автоматически, и, в-третьих, программисту для создания своего приложения приходится писать меньшее количество строк.
Кроме того в языках высокого уровня распределением регистров занимается компилятор, так что программисту не надо писать код, обеспечивающий перемещение данных между регистрами и памятью.
Последовательности вызова процедур генерируются автоматически; программисту нет необходимости описывать помещение аргументов функции в стек и их извлечение оттуда.
Для описания структур управления программист может использовать также ключевые слова, как if, while; последовательности машинных команд, соответствующие этим описаниям компилятор генерирует динамически.
Все созданные до настоящего времени языки были связанны друг с другом, причем на каждый новый язык в той или иной форме влияют его предшественники. В процессе такого "перекрестного опыления" средства из одного языка адаптируются другим, удачная новинка интегрируется в существующий контекст, а отжившая конструкция отбрасывается за ненадобностью. Примерно так и происходит эволюция компьютерных языков и развитие искусства программирования. Наиболее известными и популярными языками программирования на сегодняшний день являются: С, С++, Java, С# [1].
1.2 Язык C
Язык С был разработан в начале 1970-х годов Денисом Ритчи (Dennis Ritchie), работавшим в то время в компании Bell Laboratories. Хотя первоначально язык С создавался для разработки операционных систем и компиляторов, он быстро получил популярность в среде программистов и приобрел дополнительные преимущества благодаря его стандартизации, выполненной Американским институтом национальных стандартов (ANSI — American National Standards Institute).
Язык С сначала рассматривался просто как некоторый шаг вперед по сравнению с машинным языком. По этой причине его синтаксис более краток и выразителен, чем синтаксис других языков высокого уровня, использующих полные слова английского языка для выражения тех языковых конструкций, которые в языке С представляются с помощью специальных символов. Эта лаконичность является одной из причин чрезвычайной популярности языка С, поскольку позволяет программистам эффективно выражать сложные алгоритмы. Часто, краткое представление алгоритма более доступно пониманию, чем его пространное описание [2].
Пример программы на языке С:
/* Программа обработки списка */#include <stdio.h>
#include <string.h>
main()
{
char names[10][9], pivot[9];
int i, j;
/* Ввод имен с клавиатуры */
for(i = 0; i < 10; ++i)
scanf("%s", names[i]);
/* Сортировка списка имен */
for(i = 1; i < 10; ++i)
{ strcpy(pivot,names[i]);
j = i - 1;
while((j>=0) && (strcmp(pivot, names[j]) < 0)
{ strcpy(names[j+1], names[j]); --j;}
strcpy(names[j+1],pivot);}
/* Печать отсортированного списка */
for( i = 0; i < 10; ++i){
printf("%s\n", names[i]);}
1.3 Язык C++
К концу 1970-х размер проектов стал приближаться к критическому, при превышении которого методика структурного программирования и язык С "опускали руки". Поэтому стали появляться новые подходы к программированию, позволяющие решить эту проблему. Один из них получил название (ООП). Используя ООП, программист мог справляться с программами гораздо большего размера, чем прежде. Но вся беда состояла в том, что С, самый популярный на то время язык, не поддерживал ООП. Желание работать с объектно-ориентированной версией языка С в конце концов и привело к созданию C++. Язык C++ был разработан Бьярни Страуструпом (Bjarne Stroustrup) в компании Bell Laboratories (Муррей Хил, Нью-Джерси), и годом создания считается 1979-й. Первоначально создатель нового языка назвал его "С с классами", но в 1983 году это имя было изменено на C++. C++ полностью включает элементы языка С. Таким образом, С можно считать фундаментом, на котором построен C++. Большинство дополнений, которые Страуструп внес в С, были предназначены для поддержки объектно-ориентированного программирования. По сути, C++ — это объектно-ориентированная версия языка С. Возводя "здание" C++ на фундаменте С, Страуструп обеспечил плавный переход многих программистов на "рельсы" ООП. Вместо необходимости изучать совершенно новый язык, С-программисту достаточно было освоить лишь новые средства, позволяющие использовать преимущества объектно-ориентированной методики.
На протяжении 1980-х годов C++ интенсивно развивался и к началу 1990-х уже был готов для широкого использования. Рост его популярности носил взрывоподобный характер, и к концу этого десятилетия он стал самым широко используемым языком программирования. В наши дни язык C++ по-прежнему имеет неоспоримое превосходство при разработке высокопроизводительных программ системного уровня. Важно понимать, что создание C++ не было попыткой изобрести совершенно новый язык программирования. Это было своего рода усовершенствование и без того очень успешного языка. Такой подход к разработке языков (взять за основу существующий язык и поднять его на новую ступень развития) дал начало тенденции, которая продолжает жить и сегодня [4, 6].
Пример программы на языке С++:
// Программа обработки списка
#include <iostreain.h>
#include <string.h>
const int ListLength = 10;
// Все объекты класса list содержат список имен и три открытых