- •1 Введение
- •2 Сравнительный анализ языков программирования Си и Паскаль
- •2.1 История создания языков программирования
- •2.2 Типы данных
- •2.3 Комментарии
- •2.4 Операции
- •2.5 Операторы ветвления
- •2.6 Массивы
- •2.7 Строки
- •2.8 Подпрограммы
- •2.9 Указатели
- •2.10 Заключение сравнительного анализа языков Си и Паскаль
- •3 Постановка задачи
- •3.1 Алгоритм решения поставленной задачи
- •4 Реализация компьютерной игры «100 спичек»
- •4.1 Создание меню
- •4.2 Копка Help
- •4.3 Кнопка ComputerVsPerson
- •4.4 Кнопка PersonVsPerson
- •4.5 Кнопка ComputerVsComputer
- •4.6 Кнопка Exit
- •4.7 Данные к работе
- •5 Заключение
- •6 Список используемых источников
- •Приложение а (справочное)
2.6 Массивы
Массив - непрерывный участок памяти, в котором располагаются элементы одного типа [4].
Массивы в языке Паскаль:
type
имя типа = array[ список индексов ] of тип
Здесь имя типа - правильный идентификатор; список индексов - список одного или нескольких индексных типов, разделенных запятыми; тип - любой тип данных. Вводить и выводить массивы можно только поэлементно.
Массивы в языке Си:
<тип><имя массива>[верхнее значение];
Типом может быть любой из скалярных. В верхнем значении может стоять константа или константное выражение. Размерность массива не ограничена, но нужно помнить, что она не должна превышать 64К.
Инициализация производится по-разному, в Паскале массив объявляется в специальном разделе по строго определенным правилам, в Си же массив можно объединить в любой части программы (внутри блоковых скобок) и объявление намного короче. Также различия присутствуют в нумерации элементов массива, в Паскале нумерация начинается с первого элемента, а в Си с нулевого.
2.7 Строки
Строки в языке Паскаль:
Тип string (строка) в Паскале широко используется для обработки текстов. Он во многом похож на одномерный массив символов array[0..n] of char, однако, в отличие от последнего, количество символов в строке-переменной может меняться от 0 до n, где n - максимальное количество символов в строке. Значение n определяется объявлением типа string [n] и может быть любой константой порядкового типа, но не больше 255 . Паскаль разрешает не указывать n, в этом случае длина строки принимается максимально возможной, а именно n=255 . Строка в Паскале трактуется как цепочка символов. Для строк определены операции конкатенации (+) и сравнения(=,<>, <, >, <=, >=) [6].
Строки в языке Си:
Си не содержит стандартного типа данных «строка». Вместо этого он поддерживает массивы символов, завершаемые нуль - терминатором. Нуль-терминатор в языке Си используется для того, чтобы отмечать конец строки. Нуль-терминатор - не цифра 0; он не выводится на печать и в таблице кода ASCII имеет номер 0. Кавычки не являются частью строки. Они вводятся только для того, чтобы отметить ее начало и конец, т.е. играют ту же роль, что и апострофы в случае одиночного символа. В языке Си нет специального типа, который можно было бы использовать для описания строк, вместо этого строки представляются в виде "массива" элементов типа char. Это означает, что символы в строке можно представить себе расположенными в соседних ячейках памяти - по одному символу в ячейке [3].
2.8 Подпрограммы
Процедуры и функции в языке Паскаль:
Процедуры и функции представляют собой важный инструмент Паскаля, позволяющий писать хорошо структурированные программы [2]. В структурированных программах обычно легко прослеживается основной алгоритм, функции проще в отладке и менее чувствительны к ошибкам программирования.
1) Процедура:
procedure <name> (список формальных параметров); модификатор;
2) Функция:
function<name>(список формальных параметров):<тип возвращаемого значения>; Модификатор;
В отличие от Паскаля, в котором присутствовали и функции и процедуры, в Си присутствуют только функции, но их можно использовать и как процедуры [3].
Различия функций в Си и Паскале наблюдаются только в инициализации, а также в том, что имена функций составляют собственное пространство (т.е. могут одновременно существовать Х переменная и Х функция).