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

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Использование управляющих конструкций 
Автор Сообщение
Администратор
Аватара пользователя

Регистрация: 03.11.2007
Сообщения: 559
Откуда: Украина
Специальность:

Репутация: 6 [ ? ]
Сообщение Использование управляющих конструкций
Цель работы: Получение навычек работы с основными управляющими конструкциями С.

Натуральное число называется полиндромом, если его запись читается одинаково с начала и из конца (например, 4884, 393, 1). Найти все числа-полиндромы, что не превышают 100, и при возведении в квадрат также дают полиндром.

Описание переменных
x int Счетчик цикла
x1 int Число, которое проверяется
x2 int Квадрат числа
y1 int x записанное в обратном порядке
y2 int x2 записанное в обратном порядке

Алгоритм в виде диаграммы действий

Текст программы
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define n 100
void main()
{
/* http://nataliya.kiev.ua */
for(int x=1; x<= n ; x++)
{ int x1=x;
int x2=pow(x,2);
int y1=0;
int y2=0;
while (x2!=0)
{
y2=y2*10+x2%10;
x2/=10;
if (x1!=0)
{
y1=y1*10+x1%10;
x1/=10;
} ;
}
if (x==y1 && pow(x,2)==y2)
printf("x=%d; x^2=%d\n",x, int(pow(x,2)));
} ;
getch();
}
Результат работы программы
x=1; x^2=1
x=2; x^2=4
x=3; x^2=9
x=11; x^2=121
x=22; x^2=484
Теория к программе
В языке программирования С используются следующие управляющие конструкции:

1) Цикл for
for (выражение1; выражение2; выражение3)
{оператор}
Выражение1 описывает инициализацию цикла; выражение2 - проверяет условие завершения цикла, если он истинный то выполняется оператор; выражение3 - исчисляется после каждой итерации. Цикл повторяется до тех пор, пока выражение не станет ошибочному.
Например:

for(x=1; x<=7; x++)
printf("%d\n", power(x, 2));

2) Цикл while:
while (выражение)
оператор
Если выражение есть истина, то оператор выполняется до тех пор, пока выражение не станет ошибочным. Если выражение ошибочное с самого начала, то управление передается следующему оператору. При этом цикл не выполняется совсем. Значение выражения определяется до выполнения оператора.
Например:

while (k<n) {
y=y*x; k++;
}

3) Цикл do-while. Его синтаксис:

do
оператор
while(выражение);
Если выражение истинное, то оператор выполняется и снова исчисляется значение выражения. Это повторяется, пока выражение не станет ошибочному. Оператор выполняется не меньше одного раза .
Например:

x=1;
do
printf("%d\n", power(x, 2));
while(++x<=7);

Оператор do-while проверяет условие после выполнения операторов цикла.
Оператор while проверяет условие перед выполнением операторов цикла.
4) Переключатель switch имеет синтаксис:

switch (выражение) {
case константа1: оператор
case константа2: оператор
case константа3: оператор
...
default: оператор
}

Сравнивает значение выражения с константами во всех вариантах case и передает управление оператору, который отвечает значению выражения. Если ни одна из констант не отвечает значению выражения, тогда управления передается оператору с меткой default. Если метка default отсутствующая, не выполняется никаких действий.
Например:

switch(x)
case 2:
case: y=3;

5) Оператор break перерывает выполнение ближайшего вложенного внешнего оператора switch, while, do или for. Управления передается следующему оператору.
Например:

for(i=0; i<n; i++)
if((a = b[i])==0)
break;

6) Оператор продолжения continue передает управление на начало ближайшего внешнего оператора цикла switch, while, do или for, и вызывает начало следующей итерации.
7) Оператор возвращения return. Перерывает выполнение текущей функции и возвращает управление программе, которая ее вызвала.

[i]


11.11.2007 18:34
Профиль ICQ
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»