Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Вывод: Научился программировать циклические алгоритмы с использованием for, while, do while.

Факультет информационных технологий и робототехники

 

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

и автоматизированных систем

 

Отчет по лабораторной работе № 4

 

по дисциплине: ”Основы алгоритмизации и программирования”

 

на тему: ”Циклические алгоритмы”

Вариант 2

 

Выполнил: студент группы 10702214 Туан Ань

 

Приняла: ст.пр. Пармон С.И

 

Минск 2014

 


Лабораторная работа № 4. Циклические алгоритмы.

 

Цель работы: Научиться программировать циклические алгоритмы. Освоить операторы перехода goto, break, continue, return.

Задание 1. Цикл for

 

Вычислить сумму целых чисел:
от 1000 до 1500 с шагом 7 (1000 + 1007 + 1014 + …)

Код программы:

 

#include <locale>

#include <iostream>

using namespace std;

void main()

{

setlocale(LC_CTYPE, "Russian");

cout << "Задание 1. \nВычислить сумму целых чисел: \nот 1000 до 1500 с шагом 7 (1000 + 1007 + 1014 +...)\n";

int sum(0), a;

for (a=1000; a<=1500; a+=7) {

sum+=a;

}

cout << "Сумма чисел равна " << sum << endl;

system("pause");

}

Скриншоты результатов:

 

 

Задание 2.

Вычислить сумму ряда

Сравнить полученный результат с соответствующим значением функции из математической библиотеки.
Протестировать для значений
1.7
2.9

Код программы:

#include <locale>

#include <iostream>

#include <math.h>

using namespace std;

void main()

{

setlocale(LC_CTYPE, "Russian");

double x, a, s(1), b(1);

cout << "Введите x: ";

cin >> x;

int N;

cout << "Введите количество итераций N: ";

cin >> N;

a=exp(-x);

for(int n(0); n<=N; n++) {

b*=(-x)/(n+1);

s+=b;

}

cout << "a = " << a << ", s = " << s << endl;

system("pause");

}

Скриншоты результатов:

 

Задание 3. Циклы for и while (выполнить в двух вариантах)

Вычислить и вывести на экран в виде таблицы значения функции F от x1 до x2 с шагом dx.

где a, b и c - действительные числа.

Протестировать работу программы для следующих значений:

x1 x2 dx a b c
-8.7 -1.5 0.9 1.4 3.2  
3.7 5.5 0.2 2.2 4.8 6.9

Результат получить в виде:

Для ввода/вывода используйте библиотеку stdio.

Код программы:

 

С использованием for:

 

 

#include <locale>

#include <stdio.h>

using namespace std;

void main()

{

setlocale(LC_CTYPE, "Russian");

float f,x1,x2,dx,a,b,c;

printf("Введите число a: "); scanf_s("%f",&a);

printf("Введите число b: "); scanf_s("%f",&b);

printf("Введите число c: "); scanf_s("%f",&c);

printf("Введите начальное число x1: "); scanf_s("%f",&x1);

printf("Введите конечное число x2: "); scanf_s("%f",&x2);

printf("Введите шаг dx: "); scanf_s("%f",&dx);

printf("-------------------");

printf("\n| x | F |");

printf("\n-------------------");

for(float x=x1; x<=x2; x+=dx) {

if ((x+5)<0 && c==0) f=1/(a*x)-b;

else if ((x+5)>0 && c!=0) f=(x-a)/x;

else f=10*x/(c-4);

printf("\n| %5.2f | %5.2f |",x,f); }

printf("\n-------------------\n");

system("pause");

}

 

Скриншоты результатов

 

Задание 4. do - while

Организовать цикл, который принимает целые числа с клавиатуры и подсчитывает к-во отрицательных чисел. Окончание цикла - ввод числа > 100.

Код программы:

 

#include <locale>

#include <iostream>

using namespace std;

void main()

{

setlocale(LC_CTYPE, "Russian");

int x, k(0);

cout << "Введите целые числа:\n";

do {

cin >> x;

if (x<0) k++;

}

while (x<=100);

cout << "Количество отрицательных чисел - " << k << endl;

system("pause");

}

 

Скриншоты результатов

 

Контрольные вопросы

 

1. Сколько раз будет выведена *:

for (int i = 0; i <= 10; i++) cout << "*";

Ответ: 11 раз.

2. Чему равно значение i:

int i = 7; while (i++ <= 10);

Ответ: 12.

3. Запишите цикл, который суммирует первые 50 натуральных чисел, которые не делятся на 8:

а) используя for:

for с тремя секциями:

int i,sum(0);

for(i=1; i<=50; i++) {

if (i%8) {

sum +=i;

}

}

for без секций:

int i(0),sum(0);

for(;;) {

i++;

if(i%8) sum+=i;

if(i==50) break;

}

 

 

for без тела:

int sum(0);

for(int i = 0; i % 8!= 0? sum+=i: NULL, i <= 50; i++);

 

b) используя while:

int i(0),sum(0);

while (i!=50) {

i++;

if(i%8) sum+=i;

}

c) используя do while:

int i(0),sum(0);

do {

i++;

if(i%8) sum+=i;

} while (i!=50);

Вывод: Научился программировать циклические алгоритмы с использованием for, while, do while.



<== предыдущая лекция | следующая лекция ==>
Вывод:В ходе работы я научился работать со строками и текстовыми файлами. | 
Поделиться с друзьями:


Дата добавления: 2017-02-24; Мы поможем в написании ваших работ!; просмотров: 547 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент всегда отчаянный романтик! Хоть может сдать на двойку романтизм. © Эдуард А. Асадов
==> читать все изречения...

2395 - | 2153 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.