- •1 Введение
- •2 Сравнительный анализ языков высокого уровня Си и Паскаль
- •2.1 Алфавит и лексическая структура языков
- •2.2 Служебные слова
- •2.3 Идентификаторы
- •2.4 Комментарии
- •2.5 Структура программ
- •2.6 Типы данных
- •2.7 Массивы
- •2.8 Строки
- •2.9 Множества
- •2.10 Записи
- •2.11 Операции
- •2.12 Операторы ветвления
- •2.13 Операторы цикла
- •2.14 Заключение
- •3 Постановка задачи
- •3.1. Алгоритм решения поставленной задачи
- •4 Реализация проекта
- •4.1 Кнопка «Новая игра»
- •4.2 Кнопка «Демонстрация игры»
- •4.3 Кнопка «Рекорды»
- •4.4 Кнопка «о программе»
- •4.5 Кнопка «Выход»
- •4.6 Пользовательская библиотека «drawing.H»
- •5 Заключение
- •Список использованных источников
- •Приложение а (справочное)
2.7 Массивы
Массив [4] – непрерывный участок памяти, состоящий из фиксированного количества элементов одного и того же типа. Так как все компоненты одного типа, то эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием его порядкового номера. Описание типа массива задается следующим образом:
<имя типа> = array [ список индексов] of <тип>;
Здесь <имя типа> – правильный идентификатор; array, of – зарезервированные слова; список индексов – список из одного или нескольких индексных типов, разделенных запятыми; <тип> - любой тип языка Паскаль.
Описываемый массив в языке Си будет выглядеть так [5]:
< тип> <имя > [ верхнее значение];
Вводить и выводить массивы можно только поэлементно. Типом может быть любой из скалярных. В верхнем значении может стоять константа или константное выражение. Размерность массива не ограничена, но нужно помнить, что она не должна превышать 64К. В Паскале нумерация массивов начинается с заданного элемента, а в Си с нулевого.
2.8 Строки
Строка [4] – последовательность символов. В стандартном Паскале используются только короткие строки String [n]. В памяти такой строке выделяется n+1 байт, первый байт содержит текущую длину строки, а сами символы располагаются, начиная со 2-го по счету байта. Поскольку для длины строки в этом случае отводится один байт, максимальная длина короткой строки не может превышать 255 символов.
В языке Си отдельного типа string для создания строки нет, строка в Си – это массив элементов типа char, ограниченный символом с кодом 0, называемом нуль-терминатором [6]. Кроме того, c массивом элементов типа char связан указатель на char, поэтому строка в Си – это еще и указатель типа char* на область памяти, заканчивающуюся символом с кодом 0.
2.9 Множества
Из источника [4], множества в языке Паскаль – это наборы однотипных логически связанных друг с другом объектов. Количество элементов, входящих во множество, может меняться в пределах от 0 до 255 (множество, не содержащее элементов, называется пустым). Именно непостоянством количества своих элементов множества отличаются от массивов и записей. Два множества считаются эквивалентными тогда и только тогда, когда все их элементы одинаковы, причем порядок следования элементов в множестве безразличен. Если все элементы одного множества входят также и в другое, говорят о включении первого множества во второе. Пустое множество включается в любое другое. Описание типа множества имеет вид:
<имя типа> = set of <базовый тип>;
Здесь <имя типа> – правильный идентификатор; set, of – зарезервированные слова; <базовый тип> – базовый тип элементов множества, в качестве которого может использоваться любой порядковый тип, кроме Word, Integer, Longint, Int.
В Си множества отсуствуют.
2.10 Записи
Запись [4] – это структура данных, состоящая из фиксированного количества компонентов, называемых полями записи. В отличие от массива компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются. Структура объявления типа записи такова:
<имя> = record <сп. полей> end;
Здесь <имя> – правильный идентификатор; record, end – зарезервированные слова; <сп.полей> – список полей; представляет собой последовательность разделов записи, между которыми ставится точка с запятой.
Аналогом записей в Си являются структуры.
Из источника [5], структура – это одна или несколько переменных, возможно, различных типов, которые для удобства работы с ними сгруппированы под одним именем.
Описываемая структура в языке Си будет выглядеть так:
struct <имя> {<сп. полей> };(Си)
Объявление структуры начинается с ключевого слова struct и содержит список объявлений, заключенный в фигурные скобки. За словом struct следует имя, называемое тегом структуры. Тег дает название структуре данного вида и далее может служить кратким обозначением той части объявления, которая заключена в фигурные скобки. Перечисленные в структуре переменные называются элементами.
Имена элементов и тегов без каких-либо коллизий могут совпадать с именами обычных переменных, так как они всегда различимы по контексту. Более того, одни и те же имена элементов могут встречаться в разных структурах.