Литмир - Электронная Библиотека

Начало

Вычислительная техника создавалась для обработки информации. Информация бывает звуковая, графическая, текстовая и т.д. Компьютер не общается на естественном нам языке. Он общается последовательностями 0 и 1. Язык программирования – это команды компьютеру, что-то выполнить, сделать. Есть языки высокого уровня и машинные языки, например. Мы изучим язык С, С++. Почему С, С++? На языке С написаны большинство операционных систем и языков программирования. Зная один язык, легко освоить другой язык.

Мы научимся давать компьютеру простые команды. Напишем первую программу, см. Листинг 1.

Листинг 1

Первая программа

1 #include<stdio.h>

2 main()

3 {

4 printf(“Привет!”);

5 }

В 1 строке мы подключаем библиотеку. В программах есть функции. В библиотеке хранятся самые употребляемые функции. Во второй строке объявляем функцию main (). Далее с 3 по 5 строку тело функции, оно взято в фигурные скобки: ‘{‘, ‘}’. В четвертой строке функция библиотеки из файла stdio.h. Эта функция выводит на экран строку с символами: “Привет!”. Все строки заключаются в двойные кавычки, например, “слова”, литералы в одинарные кавычки, например, ‘в’.

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

Каждый оператор заканчивается точкой с запятой, делается это для компилятора, которому объявляется, где конец одного оператора и начало другого.

Если при выполнении программы, русская кодировка выдается у вас в консоли белибердой, то возможно добавить строки 2 и 5:

Листинг 2

Первая программа

1 #include<stdio.h>

2 #include<stdlib.h>

3 main()

4 {

5 system("chcp 1251 > nul");

6 printf(“Привет!”);

7 }

Функция system заголовочного файла stdlib.h передает строку "chcp 1251 > nul" в операционную систему для выполнения. Возможны и другие настройки.

Усложним первую программу, научим компьютер обращаться к нам по имени, см. Листинг 3.

Листинг 3

Программа: “Знакомство”

1 #include<stdio.h>

2 main()

3 {

4 char b[10];

5 printf(“Привет! Как тебя зовут?\n”);

6 scanf(“%s”,&b);

7 printf(“Привет! %s”,b);

8 }

В 4 строке объявляется массив из 10 переменных символьного типа b. Переменная – это имя какого-то участка памяти. В 5 строке оператор выводит на консоль строку, формат задан, переводит на новую строку: ‘\n’ – управляющий символ, символ перевода строки. В 6 строке считывается ввод с консоли, задается формат считывания – %s, означает, что считывается строка, &b – адрес, по которому будет сохранен массив символов. В строке 7 вывод на консоль форматированной строки, %s – означает, что будет выведена строка, b – это та строка, которую выведут на экран (форматирование %s).

Задания:

Написать простой диалог: Привет! Как тебя зовут! – Как дела?

Выучить написание простой программы.

Оператор if-else

Формальный синтаксис:

if (выражение)

оператор1

else

оператор2

Напишем следующую программу с использованием оператора if-else. Пользователь вводит число, компьютер сравнивает с 10, и выводит результат на экран.

Листинг 4

Программа “Сравнение”

1 #include<stdio.h>

2 main()

3 {

4 int a;

5 printf(“Vvedite 4islo \n”);

6 scanf(“%d”,&a);

7 if(a>10)

8 printf(“%d > 10”,a);

9 else

10 printf(“%d<=10”,a);

11 }

Задания:

1. Пользователь вводит число. Компьютер сравнивает с 20 и выводит результат.

В операторе if-else есть условие, правила составления условий рассказано в алгебре логике. Рассмотрим логическое или и логическое и в С:

&& – логическое И,

|| – логическое ИЛИ.

Таблица истинности для них, смотри Таблица 1-Таблица 2.

То есть ветвь if(условие) оператор1 выполняется , если условие равно 1.

Например,

if((a>10)&&(a<20))

оператор1

Если a>10 – истинно, в Таблице 1, это 1, если a>10 – ложь, это 0.

Таблица 1

Программирование на С, С++ - img_0.png

Таблица 2

Программирование на С, С++ - img_1.png

Оператор switch, цикл while

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

Строка 15, оператор break, он прерывает цикл и т.п.

Листинг 5

Программа с меню

1 #include<stdio.h>

2 main()

3 {

4 int a, d;

5 do

6 {

7       printf("       MENU       \n1. Kvadrat chisla\n2. Kub chisla\n3. Vuhod\nVuberite punkt menu\n");

8      scanf("%d",&d);

9      switch(d)

10       {

11        case 1:

12       printf("Vvedite chislo\n");

13       scanf("%d",&a);

14       printf("Kvadrat chisla raven %d\n",a*a);

15       break;

16 case 2:

17 printf("Vvedite chislo\n");

18 scanf("%d",&a);

19 printf("Kub chisla raven %d\n",a*a*a);

20 break;

21 case 3:

22       break;

23 default:

24 printf("Nevernui vvod!\n\n");

25       }

26 }

27 while(d!=3);

28 }

Оператор switch используется для выбора одного из вариантов, указанных в case. Также для написания программы мы использовали цикл do-while. Цикл проверяет условие в конце.

В default мы указали случай, в котором пользователь вводит цифру, не являющуюся номером пункта меню. А что будет если пользователь введет букву. Возможно зацикливание и т.п. Чтобы этого не было. Нам необходимо предусмотреть ввод не цифр, а букв.

Листинг 6

Программа с меню

1 #include<stdio.h>

2 main()

3 {

4 int a;

5 char d;

6 do

7 {

8       printf("       MENU       \n1. Kvadrat chisla\n2. Kub chisla\n3. Vuhod\nVuberite punkt menu\n");

9      scanf("%s",&d);

10      switch(d)

11       {

12        case ‘1’:

13       printf("Vvedite chislo\n");

14       scanf("%d",&a);

15       printf("Kvadrat chisla raven %d\n",a*a);

16       break;

17 case ‘2’:

18 printf("Vvedite chislo\n");

19 scanf("%d",&a);

20 printf("Kub chisla raven %d\n",a*a*a);

21 break;

22 case ‘3’:

23       break;

24 default:

25 printf("Nevernui vvod!\n\n");

26       }

27 }

28 while(d!=3);

Задания:

Спроектировать меню. Написать программу.

Оператор for

Оператор for – это оператор цикла, обобщение оператора while [4]. Оператор for:

for (int i=0; i<n; i++)

{

….

}

int i=0 – инициализация,

i<n – проверка условия,

i++ – модификация.

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

Задание: вычислить значение функции y=x*x-4*x при х от 100 до 200 включительно, начиная от 100 с шагом 20. Решение задачи в Листинге 7, результат решения Листинга 7 на Рисунке 1.

Листинг 7

#include<iostream>

using namespace std;

int main()

{

int y;

for(int x=100;x<=200;x=x+20)

{

       y=x*x-4*x;

       cout<<"y("<<x<<")="<<y<<endl;

}

}

Программирование на С, С++ - img_2.png

1
{"b":"688737","o":1}