Чтение онлайн

на главную - закладки

Жанры

Конец холивара. Pascal vs C

Кривцов М. А.

Шрифт:

Пример 1.10: Найти корень уравнения X2 – 3 = 0.

VAR A, B, E, X, Y, Y1 : REAL;

PROCEDURE FNY;

BEGIN

Y := SQR (X) – 3

END;

BEGIN

WRITELN (‘ВВЕДИТЕ ГРАНИЦЫ ИНТЕРВАЛА И ПОГРЕШНОСТЬ’);

READLN (A, B, E);

X := A;

FNY;

Y1 := Y;

WHILE B – A> = E DO

BEGIN

X := (A + B) /2;

FNY;

IF Y*Y1> = 0

THEN

BEGIN

A := X;

Y1 := Y

END

ELSE B := X

END;

WRITELN (‘X =’, X);

READLN;

READLN

END.

В этой программе используется процедура без параметров. Заменяя в ней функцию можно находить корни других уравнений.

6. Чего ещё не хватает?

Много чего не хватает, а, особенно, денег. Но, в контексте программирования на Паскале, вас не удивляло – почему Николаус Вирт не ввёл в ряд его стандартных функций, довольно распространённый в вычислениях, кубический корень?

Сейчас мы исправим этот недочёт!

Набирайте в разделе описаний, сразу после описаний переменных, следующую функцию и будет вам счастье!

FUNCTION KUBKOR (X: REAL): REAL;

BEGIN

KUBKOR := EXP (1/3 * LN (X))

END;

Для Си это не актуально, поскольку там есть функция вычисляющая любую степень, в том числе, и дробную. А кубический корень числа – это, по другому, число в степени 1/3.

Часть вторая

Язык программирования C

1. Структура программы на языке C

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

Ключевые слова программы записываются только строчными буквами, так как C (в отличии от Pascal) различает регистр букв.

Имя переменной или константы – это последовательность букв и цифр, начинающаяся с буквы. Переменные, как и в Pascal, могут быть глобальными и локальными.

В языке C числа изображаются без знака, но есть операция "”.

Литеры и строки изображаются в кавычках (“…“), а не в апострофах (’…’), как в Pascal.

Комментарии начинаются с /* и заканчиваются */ – текст между этих скобок игнорируется при исполнении программы.

В начале программы идут строки такого вида:

#include “имя файла”

#include <имя файла>

Такая строчка заменяется файлом с указанным именем. В первом случае, сначала поиск файла ведётся в текущем каталоге, а затем продолжается в стандартном. Во втором случае – сразу в стандартном.

Например:

#include <stdio. h> 2 – для использования функций, связанных с вводом и выводом данных.

#include <stdlib. h> – для использования стандартной библиотеки языка Си, которая содержит в себе функции, занимающиеся выделением памяти, контроль процесса выполнения программы, преобразования типов и другие.

#include <math. h> – для использования стандартных математических функций.

2

Пробел после точки не нужен – он вставляется автоматически по правилам типографики. Здесь и далее по тексту имейте это в виду. Надеюсь, что в следующем издании этот недостаток удастся исправить.

Эти строки называются директивами препроцессора. Всё что ниже называется блоком описания функции.

Далее следует заголовок функции, например:

int main – где main – имя функции. В скобках (…) могут быть её аргументы, или слово void (ничто) – если аргументов нет. Описание int указывает, что эта функция возвращает целое число.

После чего следует тело функции в фигурных скобках {…}, которое состоит из описаний констант и переменных и последовательности операторов, разделённых точками с запятыми (;). Тело функции определяет последовательность действий, выполняемых данной функцией – логику функции.

Фигурные скобки обрамляют также и составной оператор, аналогично операторным скобкам BEGIN… END в Pascal.

В конце тела функции обычно ставятся следующие команды:

Команда return 0; которая завершает выполнение функции с возвратом значения 0, определяемого стандартом (для функции main), как код успешного завершения.

При запуске непосредственно из графического окружения, отведенное программе окно может закрыться сразу же после завершения программы. Функция getchar ожидает ввод пользователя, тем самым “откладывая” завершение программы (return). Какие именно действия могут прервать это ожидание – зависит от системы, однако скорее всего, нажатие клавиши Enter завершит эту функцию в любом случае.

Точка в конце программы, в отличии от Pascal, не ставится.

Стандартные типы данных и описание переменных

int – целое

long – длинное целое

short – короткое целое

unsigned – беззнаковое целое

float – вещественное

double – длинное вещественное

char – литерное

В отличии от Pfscal, в С логических переменных нет.

Примеры описания переменных:

int k;

char a, b, c;

double x;

Константы

Примеры описания констант:

int: 17;

float: 1.25;

char: “a”;

Процедуры ввода и вывода

Стандартная библиотека ввода-вывода языка C подключается с помощью директивы препроцессора #include <stdio. h>

Форматный ввод данных пользователя с клавиатуры производится функцией scanf .

scanf (CONTROL, ARG1, ARG2, …);

Поделиться:
Популярные книги

Наследник

Майерс Александр
3. Династия
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Наследник

Стражи душ

Кас Маркус
4. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Стражи душ

Боярышня Дуняша 2

Меллер Юлия Викторовна
2. Боярышня
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Боярышня Дуняша 2

Я спас СССР! том 2

Вязовский Алексей
2. Я спас СССР
Фантастика:
альтернативная история
5.62
рейтинг книги
Я спас СССР! том 2

Черный Маг Императора 11

Герда Александр
11. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Черный Маг Императора 11

Разбуди меня

Рам Янка
7. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
остросюжетные любовные романы
5.00
рейтинг книги
Разбуди меня

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Ученик. Книга 4

Первухин Андрей Евгеньевич
4. Ученик
Фантастика:
фэнтези
5.67
рейтинг книги
Ученик. Книга 4

Твое сердце будет разбито. Книга 1

Джейн Анна
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Твое сердце будет разбито. Книга 1

Я до сих пор князь. Книга XXII

Дрейк Сириус
22. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор князь. Книга XXII

Анти-Ксенонская Инициатива

Вайс Александр
7. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Анти-Ксенонская Инициатива

Наномашины, наследник! Том 9

Новиков Николай Васильевич
9. Первый среди карапузов
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Наномашины, наследник! Том 9

Адвокат

Константинов Андрей Дмитриевич
1. Бандитский Петербург
Детективы:
боевики
8.00
рейтинг книги
Адвокат

Вечный. Книга I

Рокотов Алексей
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга I