Автор работы: Пользователь скрыл имя, 15 Декабря 2013 в 20:35, курсовая работа
Для создания программы, способной решать поставленные задачи, используются различные языки программирования. На данный момент в мире существует большое количество языков программирования разных уровней, отличающихся друг от друга не только по синтаксису, но и по структуре работы с данными. В качестве объекта исследования для получения информации о возможностях функционально - ориентированных языков программирования высокого уровня будут рассматриваться два характерных представителя языков этого класса - Паскаль и Си.
•Введение
•1. Сравнительный анализ языков программирования высокого уровня Си и Паскаль
•1.1 Структура программы
•1.2 Типы данных
•1.2.1 Типы данных в Паскале
•1.2.2 Типы данных в СИ
•1.2.3 Пользовательские типы
•1.3 Арифметические операции
•Заключение
•Список использованных источников
Перечислимый тип данных задается непосредственно перечислением всех значений, которые может принимать переменная данного типа. При описании отдельные значения указываются через запятую, а весь список заключается в круглые скобки. Интервальный тип позволяет задавать две константы, определяющие границы диапазона значений для каждой переменной. Обе константы должны принадлежать одному и тому же стандартному типу (кроме real). Указательные типы - их значениями являются адреса памяти. В отличие от стандартного указательного типа Pointer, пользовательский тип определяет множество значений, которые указывают на динамические переменные определенного типа , называемого базовым типом. Указатель на какой-либо тип может быть описан до объявления самого типа.
Псевдоним
в Паскале создается в
[8]
В языке Си существует пять
способов создания
· структуры - группы переменных, имеющей одно имя и называемой агрегатным типом данных. Кроме того, еще известны термины: соединение или конгломерат;
· объединения, которое позволяет определять один и тот же участок памяти как два и более типов переменных;
· битового поля, которое является специальным типом элемента структуры или объединения, позволяющим легко получать доступ к отдельным блокам;
· перечисления - списка поименованных целых констант;
· ключевого слова typedef, которое определяет новое имя для существующего типа;
В первоначальной реализации Си перечисляемых типов не было, их добавили позже. В Си представителем перечисляемого типа является нумерованный список enum, оформляемый следующим образом: вначале используется ключевое слово enum, затем необязательное название нумерованного списка. После в фигурных скобках идет перечисление элементов списка; если элементу не присвоено значение, то автоматически он переназначается как инкрементированное значение предыдущего элемента. Каждому элементу списка соответствует целое значение; если первый элемент не инициализирован, он инициализируется нулем.
1.3 Арифметические операции
Арифметическая операция - вычислительная операция над числами. Во многих языках программирования определены двуместные арифметические операции: сложения, вычитания, умножения, деления, деления нацело, вычисление остатка от деления. Допустимые операции в языке Паскаль представлены в таблице 2.3.1 [9].
Приоритет операции |
Символ |
Выражение |
Название операции |
Тип переменных |
Логические операции |
||||
1 |
Not |
Not A |
«не» |
Логический, целый |
2 |
And |
A and B |
«и» |
|
3 |
Or |
A or B |
«или» |
|
3 |
Xor |
A xor B |
«искл. или» |
|
Математические операции |
||||
2 |
* |
A*B |
Умножение |
Целый, вещественный |
2 |
/ |
A/B |
Деление |
|
2 |
Div |
A div B |
Деление без остатка |
Целый |
2 |
Mod |
A mod B |
Остаток от деления |
|
3 |
+ |
A+B |
Сложение |
Целый, вещественный, строки |
3 |
- |
A-B |
Вычитание |
Целый, вещественный |
Операции сравнения |
||||
4 |
= |
A=B |
Равно |
Целый, вещественный, логический, строки |
4 |
<> |
A<>B |
Не равно |
|
4 |
> |
A>B |
Больше |
|
4 |
< |
A<B |
Меньше |
|
4 |
>= |
A>=B |
Больше либо равно |
|
4 |
<= |
A<=B |
Меньше либо равно |
|
Специфические операции |
||||
1 |
@ |
@A |
Адрес |
Любой |
1 |
^ |
A^ |
Разыменование |
Указатель |
2 |
Chl |
A chl B |
Сдвиг влево |
Целый |
2 |
Shr |
A shr B |
Сдвиг вправо |
|
2 |
* |
A*B |
Пересечение |
Множество |
3 |
+ |
A+B |
Объединение |
|
3 |
- |
A-B |
Вычитание |
|
4 |
In |
A in B |
Вхождение в множество |
Элементы множества |
Оператор |
Название |
Класс |
Приоритет |
Ассоциативность |
++/-- |
Инкремент, декремент |
Постфиксный |
16 |
Слева направо |
++/-- |
Инкремент, декремент |
Префиксный |
15 |
Справа налево |
~ |
Побитовое НЕ |
Унарный |
15 |
Справа налево |
! |
Логическое НЕ |
Унарный |
15 |
Справа налево |
- + |
Изменение знака, плюс |
Унарный |
15 |
Справа налево |
& |
Адрес |
Унарный |
15 |
Справа налево |
* |
Разыменование |
Унарный |
15 |
Справа налево |
(имя типа) |
Приведение типа |
Унарный |
14 |
Справа налево |
* / % |
Мультипликативные операции |
Бинарный |
13 |
Слева направо |
+ - |
Аддитивные операции |
Бинарные |
12 |
Слева направо |
<<>> |
Сдвиг влево и вправо |
Бинарный |
11 |
Слева направо |
<><= >= |
Отношения |
Бинарный |
10 |
Слева направо |
== != |
Равенство / неравенство |
Бинарный |
9 |
Слева направо |
& |
Побитовое И |
Бинарный |
8 |
Слева направо |
^ |
Побитовое исключающее ИЛИ |
Бинарный |
7 |
Слева направо |
| |
Побитовое ИЛИ |
Бинарный |
6 |
Слева направо |
&& |
Логическое И |
Бинарный |
5 |
Слева направо |
|| |
Логическое ИЛИ |
Бинарный |
4 |
Слева направо |
? ; |
Условие |
Тернарный |
3 |
Справа налево |
= += -= *= /= %= <<= >>= &= ^= |= |
Присваивание |
Бинарный |
2 |
Справа налево |
Оператор |
Название |
Класс |
Приоритет |
Ассоциативность |
, |
Последовательная оценка |
Бинарный |
1 |
Слева направо |
Информация о работе Сравнительный анализ языков программирования