Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Линейные вычислительные процессы

Поиск

 

Цель: получение практических навыков решения задач, связанных с вычислением значений по заданным формулам, используя операторы простой последовательности и ввода/вывода.

 

I. Теоретические сведения.

Алгоритм, язык программирования, программа

Алгоритм – точно определенное описание способа решения задачи в виде конечной (по времени) последовательности действий.

Для представления алгоритма в виде, понятном компьютеру, служат языки программирования, которые являются искусственными языками.

Сначала разрабатывается алгоритм действий, затем он записывается на одном из языков программирования, в итоге, получается текст программы, который является полным, законченным и детальным описанием алгоритма на данном языке программирования.

2. Состав и описание языка программирования Алгоритмический язык содержит следующие элементы: символы, элементарные конструкции (слова), выражения (словосочетания), операторы (предложения).

Описание языка – это описание символов, элементарных конструкций, выражений и операторов.

Описание символов заключается в перечислении допустимых символов языка, которые являются основными неделимыми знаками.

Под описанием элементарных конструкций понимают правила их образования. Элементарные конструкции – это минимальные единицы языка, имеющие самостоятельный смысл. Они образуются из основных символов языка.

Описание выражений – это правила образования любых выражений, имеющих смысл в данном языке. Выражение в алгоритмическом языке состоит из элементарных конструкций и символов, оно задает правило вычисления некоторого значения. Описание операторов состоит из рассмотрения всех типов операторов, допустимых в языке. Оператор задает полное описание некоторого действия, которое необходимо выполнить. Для описания сложного действия может потребоваться группа операторов. В этом случае операторы объединяются в составной оператор или блок. Действия, заданные операторами, выполняются над данными. Предложения алгоритмического языка, в которых даются сведения о типах данных, называются описаниями или неисполняемыми операторами.Описание каждого элемента языка задается его синтаксисом и семантикой.

Тип данных

Тип данных – это форма представления существующих и обрабатываемых в языке программирования данных (целые, вещественные числа, символы,строки и т.д.).

Тип данных определяет:

возможный диапазон значений констант, переменных, выражений, функций, принадлежащих к данному типу;

внутреннюю форму представления данных в компьютере: с фиксированной или плавающей точкой;

объем памяти, занимаемый данными;

операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.

В программе на основе типов данных описываются (объявляются) переменные, обозначаемые символами (идентификаторами), каждой из них отводится память и ставится в соответствие форма представления данных. Таким образом, переменная – это именованная область памяти программы, в которой размещены данные в определенной форме представления (определенного типа), для ее использования необходимо выполнить описание (объявление) переменной.

4. Базовые типы данных языка Си

Базовые типы данных – это стандартные формы представления данных в компьютере, перенесенные в язык программирования.

Целочисленные типы данных (числа с фиксированной точкой).

int i; /* целое число со знаком, занимает в памяти стандартное машинное слово (2 или 4 байта в зависимости от архитектуры КС), диапазон значений от -32768 до 32767 */

long l; // целое число со знаком, двойное слово

short s; // целое число со знаком, короткое слово

char c; /* целое число без знака или со знаком, байт, диапазон значений от 0 до 255 или -128 до 127 */

Вещественные типы данных (числа с плавающей точкой).

Тип float используется, в основном, при вводе-выводе, занимает в памяти 4 байта.

Тип double (8 байтов) обеспечивает стандартную точность вычислений в арифметических выражениях, поэтому любая переменная типа float перед использованием в выражении автоматически преобразуется в double. Кроме того, если в операции присутствует одна переменная типа double, а вторая является целым числом, то последняя также преобразуется (приводится) к double.

Представление символьных данных.

Представление и обработка символьной информации в С основаны на использовании базового целочисленного типа данных char, каждый байт которого может хранить либо двоичное число, либо символ текста, за которым стандартами закреплено значение байта, называемого кодом символа.

4.4. Тип void.

Множество значений типа void пусто – отсутствие типа; используется для определения функций, которые не возвращают никакого значения, для указания пустого списка аргументов функции и в операции приведения типов.

Структура программы

Программа на языке Си представляет собой строку символов, состоящую из лексических элементов (лексем): констант (литералов), зарезервированных слов, идентификаторов, знаков операций и ограничителей (разделителей).

// комментарии

// Глобальные объявления

#<директивы_препроцессора> // например, #include <stdio.h> или “myfile.h”

<прототипы_используемых_функций>; /* имеют вид: <тип_функции> <имя_функции>(список_формальных_параметров); */

<объявление_внешних_переменных>; // имеет вид: extern <имя_переменной>;

<тип_главной_функции> main(<список_формальных_параметров>); /* например, int main(void) – функция, с которой начинается выполнение программы */

{

<объявление_переменных>;

<последовательность_операторов>;

}

<тип_функции> <имя_функции_1>(<список _формальных_параметров>)

{

<объявление_переменных>;

<последовательность_операторов>;

}

Операции и выражения

Операции являются элементарными конструкциями и представляют собой действия, которые могут быть выполнены над переменными базовых типов данных.

Группа последовательно выполняемых операций (элементарных конструкций) над переменными (обозначаемыми символами) образует выражение, которое является правилом вычисления значения, например, a+b.

Операндами называются переменные, константы, выражения, участвующие в операции.

Унарной операцией называется операция над одним операндом.

Бинарной операцией называется операция над двумя операндами.

Операции и выражения представляют собой безусловную последовательность действий.

6.1. Знаки операций.

Операции (в порядке уменьшения приоритета) Назначение операций
() [ ]. -> операции наивысшего приоритета, которые используются при вызове функций, индексировании элементов массива, операции выбора компонентов структурированного объекта (прямой и косвенный)
! + - ++ -- & * унарные операции: логическое отрицание, положительное значение, изменение знака, увеличение на единицу, уменьшение на единицу, получение адреса, обращение по адресу
* / % мультипликативные бинарные операции: умножение, деление, получение остатка от деления целочисленных операндов
+ - аддитивные бинарные операции: сложение, вычитание
<< >> операции поразрядного сдвига: влево, вправо
< <= >= > ==!= операции отношения: меньше, меньше или равно, больше или равно, больше, равно, не равно
& ^ | логические бинарные операции: поразрядные конъюнкция, исключающее ИЛИ, дизъюнкция
&& || логические бинарные операции: конъюнкция, дизъюнкция
?: условная тернарная операция (три операнда)
= *= /= %= += -= &= ^= |= <<= >>= операции присваивания: простое, после соответствующей операции
, операция группирует вычисления слева направо

Операции присваивания.

К операциям присваивания относятся все операции, которые меняют значение одного из операндов.

Группы операций присваивания:

обычное присваивание (=);

присваивание, соединенное с одной из бинарных операций (+=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^=);

операции инкремента (++) и декремента (--) – увеличение и уменьшение на единицу.

Например, если объявить переменные:

int a,b,c;

тогда можно использовать такие операторы присваивания:

a=b=c; // эквивалентно: b=c; a=b;

a +=c; // эквивалентно: a=a+c;

b++; // получить с и увеличить на 1 после использования: b=b+1

++с; // увеличить с на 1 до использования: с=с+1

b--; // получить с и уменьшить на 1 после использования: b=b-1

--a; // уменьшить c на 1 до использования: a=a-1

Арифметические операции.

Арифметические операции: *, /, % (остаток от деления), +, -

Например,

a=(a+5)%3; // a присвоить остаток от деления a+5 на 3

b=a--;

d=b/а;



Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 313; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.54.136 (0.01 с.)