- •Программирование
- •2. Начало работы в среде
- •2.1. Вызов Borland c
- •2.2. Использование меню
- •2.3. Работа с окнами. Использование мыши
- •2.4. Первая программа
- •2.5. Работа с файлами
- •2.6. Основные приемы работы с текстовым редактором
- •2.7. Меню Edit
- •3. В конце работы Вы должны уметь
- •1.2. Структура программы на языке Borland c
- •1.3.1. Константы и переменные
- •1.3.2. Типы данных в с
- •II. Экспериментальный раздел работы
- •III. Дополнительный материал
- •IV. Раздел заданий для самостоятельной работы
- •Работа 3 Операции языка Си, оператор присваивания
- •I.Теоретический раздел работы
- •1.1. Знаки операций в Си
- •1.2.Выражения
- •2. Оператор присваивания
- •3. Алгебраические выражения
- •4. Описание пользовательских подпрограмм-функций
- •II. Экспериментальный раздел работы
- •III. Раздел заданий для самостоятельной работы
- •Работа 4 Числовые типы данных
- •I.Теоретический раздел работы
- •1.1. Целые типы данных
- •1.1.1. Операции над целыми типами данных
- •1.1.2. Представление целых чисел в компьютере
- •1.1.3. Некоторые стандартные подпрограммы для работы с целыми числами
- •1.2. Представление вещественных чисел в эвм
- •II.Экспериментальный раздел работы
- •III. Раздел заданий для самостоятельной работы.
- •Работа 5 Операторы отношений и логические операторы
- •I.Теоретический раздел работы
- •1.1. Некоторые сведения о логическом типе данных
- •1.2. Оператор условного перехода if...Else
- •1.3. Условный оператор switch
- •II. Экспериментальный раздел работы
- •Работа 6 Инструкции управления. Операторы Си, реализующие повторения
- •I. Теоретический раздел работы
- •1.1. Оператор цикла с предусловием
- •1.2. Оператор цикла с постусловием
- •1.3. Оператор цикла со счётчиком
- •1.4. Операторы завершения цикла
- •II.Экспериментальный раздел работы
- •Список литературы
3. В конце работы Вы должны уметь
□ Входить и выходить из среды Турбо Паскаль.
□ Выбирать нужный пункт меню.
□ Получать справку о нужных пунктах меню.
□ Создавать новые окна.
□ Изменять положение и размер окон.
□ Набирать текст, перемещаться вдоль текста.
□ Редактировать текст, используя команды работы с блоками.
□ Запускать программы на выполнение.
□ Открывать и сохранять тексты программ.
Работа 2
Обзор элементов языка С
Цель работы:
- познакомиться со структурой программ на языке C;
усвоить некоторые понятия лексики языка C;
научиться создавать, вводить и запускать простейшие программы в режиме диалога с компьютером;
научиться простейшим приемам вывода на экран таблиц, числовых данных;
закрепить навыки работы в инструментальной среде C.
I. Теоретический раздел работы
1.1. Введение
Процесс создания программы относится к одной из наиболее сложных сфер творческой деятельности человека, требующий больших усилий и специальной технологии разработки. Языки программирования, как средство общения человека и машины, отличаются своей строгостью и лаконичностью. Они имеют жестко определенную грамматику (синтаксис) и не допускают двусмысленностей и неопределенностей. Программирование, как и любое ремесло, необходимо оттачивать и совершенствовать. Но программирование - это не только знание языков, здесь важным является умение логически и в тоже время нестандартно мыслить. Кроме того, нужно помнить, что программирование – это дисциплина, ориентированная не на машину, а в конечном итоге, на человека. Хорошая программа должна быть написана так, чтобы она была понятна другим, её легко можно было бы читать и ею было бы удобно пользоваться. Хорошему стилю программирования тоже надо учиться.
Программа для компьютера – это последовательность операторов. Операторы представляют собой команды, следуя которым машина решает поставленную задачу.
Научимся создавать простейшие программы.
1.2. Структура программы на языке Borland c
Программа на языке С имеет следующую структуру:
#директивы препроцессора
………………
#директивы препроцессора
функция а ()
операторы
функция в ()
операторы
void main () //функция, с которой начинается выполнение программы операторы
описания присваивания функция пустой оператор составной выбора циклов перехода
Директивы препроцессора - управляют преобразованием текста программы до ее компиляции. Исходная программа, подготовленная на СИ в виде текстового файла, проходит 3 этапа обработки:
препроцессорное преобразование текста;
компиляция;
компоновка (редактирование связей или сборка).
После этих трех этапов формируется исполняемый код программы. Задача препроцессора - преобразование текста программы до ее компиляции. Правила препроцессорной обработки определяет программист с помощью директив препроцессора. Директива начинается со знака #. Например,
1) #define - указывает правила замены в тексте.
#define ZERO 0.0 - Означает, что каждое использование в программе имени ZERO будет заменяться на 0.0.
#include< имя заголовочного файла> - предназначена для включения в текст программы текста из каталога «Заголовочных файлов», поставляемых вместе со стандартными библиотеками.
Каждая библиотечная функция Си имеет соответствующее описание в одном из заголовочных файлов. Список заголовочных файлов определен стандартом языка. Употребление директивы include не подключает соответствующую стандартную библиотеку, а только позволяют вставить в текст программы описания из указанного заголовочного файла. Подключение кодов библиотеки осуществляется на этапе компоновки, т. е. после компиляции. Хотя в заголовочных файлах содержатся все описания стандартных функций, в код программы включаются только те функции, которые используются в программе.
После выполнения препроцессорной обработки в тексте программы не остается ни одной препроцессорной директивы.
Программа представляет собой набор описаний и определений, и состоит из набора функций. Среди этих функций всегда должна быть функция с именем main. Без нее программа не может быть выполнена. Перед именем функции помещаются сведения о типе возвращаемого функцией значения (тип результата). Если функция ничего не возвращает, то указывается тип void: void main ().
void main (void) //—-------> Программа не возвращает значение
Каждая функция, в том числе и main должна иметь набор параметров, он может быть пустым, тогда в скобках указывается (void).
void main (void) //-----> Программа не использует аргументы командной строки
За заголовком функции размещается тело функции. Тело функции - это последовательность определений, описаний и исполняемых операторов, заключенных в фигурные скобки. Каждое определение, описание или оператор заканчивается точкой с запятой.
Определения - вводят объекты (объект - это именованная область памяти, частный случай объекта - переменная), необходимые для представления в программе обрабатываемых данных. Примером являются
int у = 10 ; //именованная константа
float х; //переменная
Описания - уведомляют компилятор о свойствах и именах объектов и функций, описанных в других частях программы. Операторы - определяют действия программы на каждом шаге ее исполнения.
Пример программы на Си:
#include <stdio.h> //препроцессорная директива
void main() //функция
{ //начало
printf("Hello!"); //печать
} //конец
По мере усложнения ваши программы могут возвращать значения в операционную систему или использовать параметры командной строки. Однако в настоящий момент просто используйте void в операторе с main, как показано в этой программе.
Состав языка
В тексте на любом естественном языке можно выделить четыре основных элемента: символы, слова, словосочетания и предложения. Алгоритмический язык также содержит такие элементы, только слова называют лексемами (элементарными конструкциями), словосочетания - выражениями, предложения - операторами. Лексемы образуются из символов, выражения из лексем и символов, операторы из символов выражений и лексем.
Таким образом, элементами алгоритмического языка являются:
1) Алфавит языка С, который включает
прописные и строчные латинские буквы и знак подчеркивания; арабские цифры от 0 до 9;
специальные знаки "{},| []()+-/%*.\':;&?о=!#
пробельные символы (пробел, символ табуляции, символы перехода на новую строку).
2) Из символов формируются лексемы языка:
Идентификаторы - имена объектов С-программ. В идентификаторе могут быть использованы латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются, например, PROG1, progl и Progl - три различных идентификатора. Первым символом должна быть буква или знак подчеркивания (но не цифра). Пробелы в идентификаторах не допускаются.
Ключевые (зарезервированные) слова (таблица 1) - это слова, которые имеют специальное значение для компилятора. Их нельзя использовать в качестве идентификаторов. Знаки операций - это один или несколько символов, определяющих действие над операндами. Операции делятся на унарные, бинарные и тернарную по количеству участвующих в этой операции операндов.
Константы - это неизменяемые величины. Существуют целые, вещественные, символьные и строковые константы. Компилятор выделяет константу в качестве лексемы (элементарной конструкции) и относит ее к одному из типов по ее внешнему виду.
Разделители - скобки, точка, запятая пробельные символы.
Таблица 1
Ключевые слова C
asm |
auto |
break |
case |
catch |
char |
class |
const |
default |
delete |
do |
double |
else |
enum |
extern |
float |
friend |
goto |
if |
inline |
int |
long |
new |
operator |
protected |
public |
register |
return |
short |
signed |
sizeof |
static |
switch |
template |
this |
throw |
try |
typedef |
union |
unsigned |
void |
volatile |
while |
continue |
for |
private |
struct |
virtual |