И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина





НазваниеИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина
страница2/18
Дата публикации05.09.2013
Размер1.94 Mb.
ТипЛекция
100-bal.ru > Информатика > Лекция
1   2   3   4   5   6   7   8   9   ...   18
Часть "else (иначе)" в операторе if необязательна. Более того, если после "if ( условие )" стоит только один оператор, то можно опустить фигурные скобки и записать оператор так:

13

if ( условие ) Оператор1;

В программах условные операторы часто встречаются группами, например:

if (total_test_score < 50)

cout « "Вы не прошли тест. Выучите материал как следует.\n"; else if (total_test_score < 65)

cout « "Вы прошли тест со средним результатом.\n"; else if (total_test_score < 80)

cout « "Вы хорошо выполнили тест.\n"; else if (total_test_score < 95)

cout « "Вы показали отличный результат.\n"; else

{

cout « "Вы сдали тест нечестно!\n";

total_test_score = 0;

Приведенный фрагмент программы может показаться довольно сложным. Тем не менее, он соответствует правилам Си++. Это легко понять, если обратиться к син­таксической диаграмме оператора if (рис. 4).

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

Обратите внимание, что на рис. 4 отсутствует символ ";" и разделители "{}". Эти элементы языка включены в определение (и синтаксическую диаграмму) для обобщенного понятия "оператор языка Си++".



Рис. 4. Синтаксическая диаграмма оператора if.

При обработке приведенного фрагмента программы компилятор Си++ трактует весь текст, выделенный ниже полужирным шрифтом, как один оператор после перво­го слова else.

if (total_test_score < 50)

cout « "Вы не прошли тест. Выучите материал как следует.\n"; else if (total_test_score < 65)

cout « "Вы прошли тест со средним результатом.\n"; else if (total_test_score < 80)

cout « "Вы хорошо выполнили тест.\n";

14

else if (total_test_score < 95)

cout « "Вы показали отличный результат.\n"; else

{

cout « "Вы сдали тест нечестно!\n";

total_test_score = 0;

8. Оформление исходного текста

Между текстом программы, приведенным в п.5 и текстом, который показан ниже, для компилятора Си++ нет никаких различий.

#include int main() { int year_now, age_now, another_year, another age; cout << "Введите текущий год и нажмите ENTER.\n"; cin » year_now; cout « "Введите свой возраст (в годах).\n"; cin » age_now; cout « "Введите год, для которого вы хотите узнать свой возраст.\n"; cin » another_year; another_age = another_year - (year_now - age_now); if (another_age >= 0) { cout « "B " « another_year « " году вам будет "; cout « another_age « "\n"; } else { cout « "В " « another_year « " вы еще не родились!\n"; } return 0; }

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

Для переменных следует выбирать осмысленные имена: имена "year_now",

"age_now", "another_year" и "another age" лучше, чем "y_n", "a_n", "a_y" и

"a_a" и намного лучше, чем "w", "x", "y" и "z". Это особенно важно, если в будущем ваши программы могут потребовать изменения с помощью других программистов.

9. Сводка результатов

В данной лекции кратко и неформально были рассмотрены несколько важных вопросов: переменные и типы данных, ввод и вывод, оператор присваивания и услов­ный оператор ("оператор if"). Более строго и подробно эти вопросы будут рассмот­рены в последующих лекциях.

10. Упражнения

Для выполнения этих упражнений требуется некоторый опыт работы с ПК под управлением операционной системы Windows 95/NT.

Упражнение 1

Изучите краткое руководство по Visual C++ в Приложении. Создайте проект с именем "AgeCalculator". Создайте исходный файл с именем AgeCalculator.cpp

15

и наберите в нем исходный текст программы 5.1. Сохраните файл на диске и добавьте его в проект. Соберите проект и запустите программу на выполнение.

Возможно, вы встретитесь со следующими проблемами:

1) В окне программы вместо русских букв выводятся какие-то странные символы.

Эта проблема объясняется различием таблиц кодировок Windows и DOS. В этих таблицах русские буквы расположены в разных местах. Консольные программы при работе исполь­зуют кодировку DOS, а текстовый редактор Visual C++ - кодировку Windows. Поэтому вам придется добавить преобразование строк с русскими буквами из кодировки Windows в кодировку DOS.

Для этого включите в программу, после файла iostream.h, файл windows .h с описа­нием функций операционной системы Windows:

#include

Перед функцией main () создайте новую функцию с именем rus_str (), которая будет вы­полнять необходимое преобразование с помощью специальной функции Windows:

char* rus_str( char* str )

{

CharToOem( str, str ); return str; }

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

cout << rus str( "Введите текущий год и нажмите ENTER.\n" );

2) После завершения работы окно программы закрывается и не удается увидеть ре­
зультаты.


Для исправления этого недостатка проще всего предусмотреть в конце программы ввод произвольного символа. Пока пользователь не нажмет какую-нибудь символьную клави­шу и потом Enter, окно программы будет оставаться на экране. Для этого потребуется за­вести символьную переменную (строку с описанием этой переменной расположите после строки с описанием целочисленных переменных):

char wait_char;

Перед строкой с оператором возврата "return 0" добавьте оператор для ввода символа с клавиатуры:

cin » wait_char;

Сравните результаты работы своей программы с примером из лекции. Поэкс­периментируйте над улучшением или изменением формата вывода на экран.

Упражнение 2

Модифицируйте программу 5.1, чтобы при превышении переменной "another_age" значения 150 на экран выводилось сообщение:

Извините, но вы вряд ли доживете до [year] года! Проверьте работу своей программы для нескольких разных лет.

Упражнение 3

Измените программу из упр.2 так, чтобы в ней учитывались и годы, и месяцы. На экран программа должна выводить следующие сообщения:

Введите текущий год и нажмите ENTER.

2000

Введите текущий месяц (число от 1 до 12).

10

16

Введите свой возраст (в годах).

25

Введите месяц своего рождения (число от 1 до 12).

5

Введите год, для которого вы хотите узнать свой возраст.

2006

Введите месяц этого года.

6

Ваш возраст в 6/2006: 31 год и 1 месяц.

Программа должна выдавать корректные сообщения для единственного и мно­жественного числа лет и месяцев, т.е. должна выводить на экран "25 лет и 1 ме­сяц", но "2 4 года и 2 месяца".

Подсказка: В программе вам потребуются дополнительные переменные. Обязатель­но добавьте их имена в оператор описания переменных. При вычислениях могут при­годиться некоторые стандартные операции Си++:

Символ

Операция

Пример

Значение

+

Сложение

3 + 5

8

-

Вычитание

43-25

18

*

Умножение

4*7

28

/

Деление

9/2

4

%

Остаток при деле­нии нацело

20 % 6

2

(Обратите внимание, что в приведенной таблице операция деления "/" применялась к двум целым числам, поэтому результат — тоже целое число.)

Кроме арифметических операций, для проверки условий в операторе if вам могут потребоваться некоторые логические операции.

Символ

Операция

Пример

Значение

<

меньше, чем

3<5

TRUE (истина)

<=

меньше или равно

43 <= 25

FALSE (ложь)

>

больше, чем

4>7

FALSE

>=

больше или равно

9>=2

TRUE

=

равно

20 ==6

FALSE

!=

не равно

20!= 6

TRUE

&&

Логическое И

5 > 2 && 6 > 10

FALSE

II

Логическое ИЛИ

5>2||6>10

TRUE

17

ЛЕКЦИЯ 2. Переменные, типы данных и выражения

1. Идентификаторы

В исходном тексте программ на Си++ используется довольно много англий­ских слов и их сокращений. Все слова (идентификаторы), встречающиеся в програм­мах, можно разделить на три категории:

1) Служебные слова языка. Например, это слова if, int и else. Назначение
этих слов предопределено и его нельзя изменить. Ниже приведен более
полный список служебных слов:

new

signed

try

operator

sizeof

typedef

private

static

union

protected

struct

unsigned

public

switch

virtual

register

template

void

return

this

volatile

short

throw

while

asm

continue

auto

default

break

delete

case

do

catch

double

char

else

class

enum

const

extern

float

for

friend

goto

if

inline

int

long

По назначению эти слова можно разбить на отдельные группы (прил. 8.1).
1   2   3   4   5   6   7   8   9   ...   18

Похожие:

И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной...
Цели: 1 продолжить знакомство с героями поэмы «Полтава»; познакомиться с изображением Полтавской битвы в поэме
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной...
...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconМетодические рекомендации по подготовке, оформлению, предзащите и...
В. А. Усков, заместитель декана естественно-географического факультета по развитию, доцент кафедры физической географии и методики...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconПроблемы коммуникации
М. Е. Евсевьева (зав кафедрой, доцент А. А. Ветошкин); С. А. Борисова, директор Института международных отношений Ульяновского государственного...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconПрограмма по формированию навыков безопасного поведения на дорогах...
Елена Святославовна Симакова, кандидат педагогических наук, доцент кафедры гуманитарных и естественнонаучных дисциплин Рязанского...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconПрограмма курса по выбору «Орнитология» предназначена для студентов...
Автор программы: к б н., доцент, зав кафедрой биологии и химии Марина Николаевна Харламова
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconРоссийской Федерации Федеральное государственное образовательное...
Петренко И. М., зав кафедрой экономической теории, д-р экон наук профессор Дулин М. П., зав кафедрой педагогики и психологии, д-р...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconРахманкулова Людмила Кузьминична, кандидат филологических наук, доцент...
Автор программы: С. А. Виноградова, кандидат филологических наук, доцент, зав кафедрой английского языка и английской филологии
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconПротокол №5 От 12 января 2012 г Заседания кафедры электроники и вычислительной...
Зав кафедрой Хакимова Г. Г. сообщила, что кафедра проводит 2-й Чемпионат по цифровой схемотехнике
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconЛингвистические проблемы
Московского государственного педагогического института иностранных языков им. М. Тореза (зав кафедрой доцент Ю. А. Денисенко); д-р...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconМгпу учебно-методический комплекс дисциплины
А. В. Прялухина, кандидат психологических наук, доцент, зав кафедрой психологии Российского государственного социального университета...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconРабочая программа по дисциплине «теория экономического анализа»
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconРабочая программа по дисциплине «международный менеджмент»
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconМетодические рекомендации по написанию курсовых работ дисциплине
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconУчебное пособие Краснодар 2008
В. А. Оробец); кафедра паразитологии и ветсанэкспертизы Донского государственного аграрного университета (зав кафедрой, проф., к...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconРабочая программа по дисциплине «Экономика организаций (предприятий)...
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск