Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Топ:
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Дисциплины:
2022-10-28 | 24 |
5.00
из
|
Заказать работу |
|
|
Пример на Паскале:
var
I: integer;
Begin
I:= 1;
while I <= 100 do
begin
Write(‘Привет, мир! ’);
inc(I);
end;
End.
Пример на Си:
#include <stdio.h>
int main()
{
int i;
i = 1;
while (i <= 100)
{
printf(“Привет, мир! ”);
i++;
}
return 0;
}
Сравним цикл на Паскале и на Си:
Паскаль | Си |
I:= 1; while I <= 100 do begin Write(‘Привет, мир! ’); inc(I); end; | i = 1; while (i <= 100) { printf(“Привет, мир! ”); i++; } |
Отличие цикла while в Паскале и Си видно из примера и из формального описания синтаксиса:
Паскаль:
while УСЛОВИЕ_ПРОДОЛЖЕНИЯ_ЦИКЛА do ОПЕРАТОР
Си:
while ( УСЛОВИЕ_ПРОДОЛЖЕНИЯ_ЦИКЛА ) ОПЕРАТОР
Цикл с постусловием в Паскале и Си
Пример на Паскале:
var
I: integer;
Begin
I:= 1;
Repeat
Write(‘Привет, мир! ’);
inc(I);
Until I > 100;
End.
Пример на Си:
#include <stdio.h>
int main()
{
int i;
i = 1;
do
{
printf(“Привет, мир! ”);
i++;
} while (i <= 100);
return 0;
}
Сравним цикл на Паскале и на Си:
Паскаль | Си |
I:= 1; Repeat Write(‘Привет, мир! ’); inc(I); Until I > 100; | i = 1; do { printf(“Привет, мир! ”); i++; } while (i <= 100); |
Отличие цикла с постусловием в Паскале и Си видно из примера и из формального описания синтаксиса:
Паскаль:
Repeat ОПЕРАТОРЫ Until УСЛОВИЕ_ВЫХОДА_ИЗ_ЦИКЛА
Си:
do ОПЕРАТОР while ( УСЛОВИЕ_ПРОДОЛЖЕНИЯ_ЦИКЛА );
Обратите внимание:
1. В Си в теле цикла do while стоит только один оператор. Если требуется, чтобы в цикле выполнялись несколько операторов, то их нужно заключить в { }.
2. В Паскале цикл с постусловием выполняется до тех пор, пока не выполняется условие, записанное после UNTIL. В Си цикл с постусловием выполняется до тех пор, пока выполняется условие записанное после WHILE.
Цикл for в Паскале и Си
Пример на Паскале:
var
I: integer;
|
Begin
for I:= 1 to 100 do
Write(‘Привет, мир! ’);
End.
Пример на Си:
#include <stdio.h>
int main()
{
int i;
for (i = 1; i <= 100; i++)
printf(“Привет, мир! ”);
return 0;
}
Сравним цикл на Паскале и на Си:
Паскаль | Си |
for I:= 1 to 100 do Write(‘Привет, мир! ’); | for (i = 1; i <= 100; i++) printf(“Привет, мир! ”); |
Отличие цикла for в Паскале и Си видно из примера и из формального описания синтаксиса:
Паскаль:
For СЧЕТЧИК := НАЧАЛЬНОЕ_ЗНАЧЕНИЕ
To КОНЕЧНОЕ_ЗНАЧЕНИЕ
Do ОПЕРАТОР
Или
For СЧЕТЧИК := НАЧАЛЬНОЕ_ЗНАЧЕНИЕ
Downto КОНЕЧНОЕ_ЗНАЧЕНИЕ
Do ОПЕРАТОР
Си:
for ( ИНИЦИАЛИЗАЦИЯ_ПАРАМЕТРОВ_ЦИКЛА; УСЛОВИЕ_ПРОДОЛЖЕНИЯ_ЦИКЛА;
ИЗМЕНЕНИЕ_ПАРАМЕТРОВ_ЦИКЛА )
ОПЕРАТОР;
Обратите внимание: в Паскале две формы цикла For. Одна для прямого подсчета – счетчик изменяется от НАЧАЛЬНОГО_ЗНАЧЕНИЯ до КОНЕЧНОГО_ЗНАЧЕНИЯ с шагом +1 (for i:= 1 to 100 do). Вторая форма считает с шагом –1 (for i:= 100 downto 1 do).
В Си цикл FOR значительно более универсален. В разделе ИНИЦИАЛИЗАЦИЯ_ПАРАМЕТРОВ_ЦИКЛА может быть записано через запятую любое количество любых выражений. То же самое относится к разделу ИЗМЕНЕНИЕ_ПАРАМЕТРОВ_ЦИКЛА. В УСЛОВИИ_ПРОДОЛЖЕНИЯ_ЦИКЛА может быть записано любое логическое выражение.
Пример использования цикла FOR:
Задача: вывести на экран таблицу степеней 2.
В результате работы программы должна получиться следующая таблица:
N | 2^N |
0 | 1 |
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 32 |
6 | 64 |
7 | 128 |
8 | 256 |
9 | 512 |
10 | 1024 |
Напишем реализацию на Паскале:
var
n, y: integer;
Begin
Writeln(‘+----+------+’);
Writeln(‘| N | 2^N |’);
Writeln(‘+----+------+’);
y:= 1;
for n:= 0 to 10 do
begin
writeln(‘| ’, n:2, ‘ | ’, y:4, ‘ |’);
y:= y * 2;
end;
Writeln(‘+----+------+’);
End.
Реализация на Си:
#include <stdio.h>
int main()
{
int n, y;
printf(“+----+------+\n”);
printf(“| N | 2^N |\n”);
printf(“+----+------+\n”);
for (y = 1, n = 0; n <= 10; y *= 2, n++)
printf(“| %2d | %4d |\n”, n, y);
printf(“+----+------+\n”);
return 0;
}
В этом примере в цикле FOR одновременно используются два счетчика – N и Y. В Паскале этого сделать нельзя, поэтому программа на Паскале получается длиннее, чем на Си.
задание для Лабораторной работы по теме «ЦИКЛЫ и вывод в Си»
|
Цель работы
Изучить использование различных циклов и процедуры вывода PRINTF.
Общее задание
Необходимо разработать 3 программы, каждая из которых выполняет одни и те же действия: вывод на экран набора символов, указанных в варианте. В программе №1 требуется использовать цикл с постусловием do.. while. В программе №2 требуется использовать цикл с предусловием while. В программе №3 требуется использовать цикл for. Массивы и файлы в программе использовать нельзя.
Пример выполнения лабораторной работы
Задание: На экран нужно вывести набор символов:
A B C D E
B C D E F
C D E F G
D E F G H
E F G H I
Программа №1 (с циклом do … while):
#include <stdio.h>
#include <conio.h>
int main()
{
int i, j, c;
clrscr();
// Внешний цикл обеспечивает вывод 5 строк
// с начальными символами строки ‘A’, ‘B’, ‘C’, ‘D’ и ‘E’
i = ‘A’;
do
{
// Внутренний цикл обеспечивает вывод ровно 5 символов,
// начиная с символа i
c = i;
j = 0;
do
{
printf(“%c ”, c);
c++;
j++;
} while (j < 5);
printf(“\n\n”);
i++
} while (i <= ‘E’);
return 0;
}
Программа №2 (с циклом while):
#include <stdio.h>
#include <conio.h>
int main()
{
int i, j, c;
clrscr();
// Внешний цикл обеспечивает вывод 5 строк
// с начальными символами строки ‘A’, ‘B’, ‘C’, ‘D’ и ‘E’
i = ‘A’;
while (i <= ‘E’)
{
// Внутренний цикл обеспечивает вывод ровно 5 символов,
// начиная с символа i
c = i;
j = 0;
while (j < 5)
{
printf(“%c ”, c);
c++;
j++;
}
printf(“\n\n”);
i++
}
return 0;
}
Программа №3 (с циклом for):
#include <stdio.h>
#include <conio.h>
int main()
{
int i, j, c;
clrscr();
// Внешний цикл обеспечивает вывод 5 строк
// с начальными символами строки ‘A’, ‘B’, ‘C’, ‘D’ и ‘E’
for (i = ‘A’; i <= ‘E’; i++)
{
// Внутренний цикл обеспечивает вывод ровно 5 символов,
// начиная с символа i
for (c = i, j = 0; j < 5; c++, j++)
printf(“%c ”, c);
printf(“\n\n”);
}
return 0;
}
Задачи простые
Вариант A1.
A B C D E
A B C D
A B C
A B
A
Вариант A2:
Z Y X W V
Z Y X W
Z Y X
Z Y
Z
Вариант A3:
Z Y X W V
Y X W V
X W V
W V
V
Вариант A4:
A B C D E
B C D E
C D E
D E
E
Вариант A5:
Z
Z Y
Z Y X
Z Y X W
Z Y X W V
Вариант A6:
V
W V
X W V
Y X W V
Z Y X W V
Вариант A7:
A C E G I
C E G I
E G I
G I
I
Вариант A8:
A C E G I
B D F H J
C E G I K
D F H J L
E G I K M
Вариант A9:
A
A B
A B C
A B C D
A B C D E
Вариант A10:
Z X V T R
X V T R P
V T R P N
T R P N L
R P N L J
Вариант A11:
|
1 2 3 4 5
2 3 4 5
3 4 5
4 5
5
Вариант A12:
1 3 5 7 9
3 5 7 9
5 7 9
7 9
9
Вариант A13:
9
7 9
5 7 9
3 5 7 9
1 3 5 7 9
Вариант A14:
R
T R
V T R
X V T R
Z X V T R
Вариант A15:
Z X V T R
X V T R
V T R
T R
R
Задачи средней сложности
Вариант B1:
A B C D E
E A C D E
E D A D E
E D C A E
E D C B A
Вариант B2:
A B C D E
E A B C D
D E A B C
C D E A B
B C D E A
Вариант B3:
A B C D E
B C D E Z
C D E Z Y
D E Z Y X
E Z Y X W
Z Y X W V
Вариант B4:
A D G J M
M D G J M
M J G J M
M J G J M
M J G D M
M J G D A
Вариант B5:
A B C D E
Z B C D E
Y Z C D E
X Y Z D E
W X Y Z E
Вариант B6:
A B C D E
A A B C D
B A A B C
C B A A B
D E B A A
E D C B A
Вариант B7:
A D B E C
C A D B E
E C A D B
B E C A D
D B E C A
Вариант B8:
A
B C
D E F
G H I J
K L M N O
Вариант B9:
A
B C
C D E
D E F G
E F G H I
Вариант B10:
A B C D E
F G H I
J K L
M N
O
Вариант B11:
A B C D E
F G H I
J K L
M N
O
Вариант B12:
A B C D E
B C D E
C D E
D E
E
Вариант B13:
A B C D E F G
B C D E F
C D E
D
Вариант B14:
A C E G I
A C E G
A C E
A C E G
A C E G I
Вариант B15:
Z
Z Y
Z Y X
Z Y X W
Z Y X
Z Y
Z
Задачи сложные
Вариант C1:
A
B A B
B B A B B
A A A A A A A
B B A B B
B A B
A
Вариант C2:
... X...
.. X X..
. X X.
X X
. X X.
.. X X..
... X...
Вариант C3:
. + #. # +.
+ #... # +
#..... #
.......
#..... #
+ #... # +
. + #. # +.
Вариант C4:
A B C D C B A
B C D D C B
C D D C
D D
C D D C
B C D D C B
A B C D C B A
Вариант C5:
A
A B C
A B C B C
A B C B C B A
C B C B A
C B A
A
Вариант C6:
+ + + + + + +
+ + + O + + +
+ + 0 O 0 + +
+ 0 0 O 0 0 +
+ + 0 O 0 + +
+ + + O + + +
+ + + + + + +
Вариант C7:
A B B C C C D
B B C C C D D
B C C C D D D
C C C D D D D
C C D D D D
C D D D D
D D D D
Вариант C8:
A A A
A A A B
A A B B C
B B C B B
C B B A A
B A A A
A A A
Вариант C9:
... A A A B
... A A B C
... A B C C
B B B B C C C
B B C D...
B C D D...
C D D D...
Вариант C10:
. A A A A A +
.. A A A + C
... A + C C
B B B + C C C
B B + D. C C
B + D D.. C
+ D D D...
Вариант C11:
A
B A B
C B A B C
D C B A B C D
C B A B C
B A B
A
Вариант C12:
+ + + + + X
+ + + X +
+ X + +
X + + +
X + + + +
X + + + + +
Вариант C13:
X
* X *
* * X * *
* * * X * * *
X. X
X... X
X..... X
Вариант C14:
X + + X
X + X +
X X + +
X + + +
X + X + +
X + + + X +
X + + + + + X
Вариант C15:
X.. X
X. X +
X X + +
X + + +
X * X + +
X * * * X +
X * * * * * X
ФУНКЦИИ В ЯЗЫКЕ СИ
|
|
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!