Разработка алгоритма и программа на языке высокого уровня
Автор: p4ce • Апрель 10, 2022 • Лабораторная работа • 672 Слов (3 Страниц) • 371 Просмотры
Министерство образования и науки Российской Федерации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«КАЗАНСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. А.Н. ТУПОЛЕВА-КАИ»
--------------------------------------------------------------------------------------------
Кафедра систем автоматизированного проектирования
Отчет по лабораторной работе №1
По дисциплине: «Программирование и основы алгоритмизации»
Вариант № 16
Выполнил:
Студент гр.
Проверил:
Ст. преподаватель
В.П. Яшин
Оценка: ___________
Подпись: __________
Дата: _____________
Задание: Разработать алгоритм и программу на языке высокого уровня, реализующую ввод и обработку последовательности из n чисел:
A1, A2, ….., An
Результатом выполнения программы является сумма и количество элементов, удовлетворяющих условию 2i <Ai<i! , [pic 1]
Ответ:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
main()
{
setlocale(LC_ALL, "Rus");
int sum=0;
int a,n,i,k,fact;
fact=1;
printf("\nВведите количество чисел: ");
scanf("%d",&n);
k=n;
printf("Введите числовую последовательность:\n");
for (i=1;i<=n;i++)
{
scanf("%d",&a);
fact=fact*i;
if (pow(2,i)<a && a<fact) sum=sum+a;
else k=k-1;
}
printf("Сумма = %d\n",sum);
printf("Кол-во чисел = %d",k);
}
Задание: Вводится последовательность из N целых чисел. Определить наибольшее число среди кратных 11.
Ответ:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
main()
{
setlocale(LC_ALL, "Rus");
int a,n,i,max=0;
printf("\nВведите количество чисел: ");
scanf("%d",&n);
printf("Введите числовую последовательность:\n");
for (i=1;i<=n;i++)
{
scanf("%d",&a);
if (a%11==0 && a>max) max=a;
}
printf("Максимальное число, кратное 11 = %d",max);
}
Контрольные вопросы:
- Схема для представления процесса обработки числовой последовательности, заканчивающейся заданным числом W.[pic 2]
- Фрагмент программы, соответствующий этой схеме.
scanf("%d",&a);
while(a!=W)
{/*обработка a*/
...
scanf("%d",&a);
}
- Цикл с постусловием программируется оператором do...while.
- Схема для представления процесса обработки числовой последовательности, заданной в виде: n, A1, A2, ..., An
[pic 3]
| 2) с for |
scanf (“%d”,&n); i=1; while (i<=n) { scanf(“%f”,&d); /* обработка а*/ . . . i++; } | scanf (“%d”,&n); for (i=1;i<=n;i++) { scanf(“%f”,&d); /* обработка а*/ . . . } |
- Структура ветвления программируется оператором if (условие) … else … .
- [pic 4]
Результатом выполнения данной программы является “ y “.
- i=1;
while (i<=n)
{ scanf(“%d”,&a);
if (a>0 && i%2) s+=a;
i++;
}
- Функция getсhar() считывает символ из стандартного потока ввода.
- Для вывода символа можно использовать функции:
- функцию printf со спецификатором %s и %с
- функция putchar
- функция puts и fputs
#include <stdio.h>
main()
{
int count=0;
сhar s;
char prs;
short net = 1;
...